Skip to content

Commit

Permalink
Merge branch 'master' into add-groups-to-command-palette
Browse files Browse the repository at this point in the history
  • Loading branch information
janfaracik committed Feb 16, 2025
2 parents 0f1cb21 + 2b9d4d6 commit cc37791
Show file tree
Hide file tree
Showing 21 changed files with 259 additions and 197 deletions.
29 changes: 29 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,35 @@ You may add multiple changelog entries if applicable by adding a new entry to th
- Second changelog entry
-->

### Proposed changelog category

/label <update-this-with-category>

<!--
The changelog entry needs to have a category which is selected based on the label.
If there's no changelog then the label should be `skip-changelog`.
The available categories are:
* bug - Minor bug. Will be listed after features
* developer - Changes which impact plugin developers
* dependencies - Pull requests that update a dependency
* internal - Internal only change, not user facing
* into-lts - Changes that are backported to the LTS baseline
* localization - Updates localization files
* major-bug - Major bug. Will be highlighted on the top of the changelog
* major-rfe - Major enhancement. Will be highlighted on the top
* rfe - Minor enhancement
* regression-fix - Fixes a regression in one of the previous Jenkins releases
* removed - Removes a feature or a public API
* skip-changelog - Should not be shown in the changelog
Non-changelog categories:
* web-ui - Changes in the web UI
Non-changelog categories require a changelog category but should be used if applicable,
comma separate to provide multiple categories in the label command.
-->

### Proposed upgrade guidelines

N/A
Expand Down
31 changes: 31 additions & 0 deletions .github/workflows/require-changelog-label.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
name: Require Changelog Label
on:
pull_request_target:
types: [opened, labeled, unlabeled, synchronize]
branches:
- 'master'
jobs:
label:
runs-on: ubuntu-latest
permissions:
issues: write
pull-requests: write
steps:
- uses: mheap/github-action-required-labels@388fd6af37b34cdfe5a23b37060e763217e58b03 # v5
with:
mode: minimum
count: 1
add_comment: true
message: "Missing required label for changelog. Requires {{errorString}} {{count}} of: {{ provided }}. Found: {{ applied }}.\n\nYou can add the required label by adding a comment with the following text: `/label <category>`"
labels: |
bug
developer
dependencies
internal
localization
major-bug
major-rfe
rfe
regression-fix
removed
skip-changelog
2 changes: 1 addition & 1 deletion bom/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ THE SOFTWARE.
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-framework-bom</artifactId>
<version>6.2.2</version>
<version>6.2.3</version>
<type>pom</type>
<scope>import</scope>
</dependency>
Expand Down
2 changes: 1 addition & 1 deletion core/src/main/java/hudson/console/ModelHyperlinkNote.java
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ public static String encodeTo(Node node) {
return encodeTo("/" + c.getUrl(), node.getDisplayName());
}
String nodePath = node == Jenkins.get() ? "(built-in)" : node.getNodeName();
return encodeTo("/computer/" + nodePath, node.getDisplayName());
return encodeTo("/computer/" + nodePath + "/", node.getDisplayName());
}

/**
Expand Down
2 changes: 1 addition & 1 deletion core/src/main/java/hudson/model/AbstractBuild.java
Original file line number Diff line number Diff line change
Expand Up @@ -488,7 +488,7 @@ public Result run(@NonNull BuildListener listener) throws Exception {
if (node instanceof Jenkins) {
listener.getLogger().print(Messages.AbstractBuild_BuildingOnMaster());
} else {
listener.getLogger().print(Messages.AbstractBuild_BuildingRemotely(ModelHyperlinkNote.encodeTo("/computer/" + builtOn, node.getDisplayName())));
listener.getLogger().print(Messages.AbstractBuild_BuildingRemotely(ModelHyperlinkNote.encodeTo("/computer/" + builtOn + "/", node.getDisplayName())));
Set<LabelAtom> assignedLabels = new HashSet<>(node.getAssignedLabels());
assignedLabels.remove(node.getSelfLabel());
if (!assignedLabels.isEmpty()) {
Expand Down
2 changes: 1 addition & 1 deletion core/src/main/java/hudson/slaves/NodeProperty.java
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@
* {@link NodeProperty}s show up in the configuration screen of a node, and they are persisted with the {@link Node} object.
*
* <p>
* To add UI action to {@link Node}s, i.e. a new link shown in the left side menu on a node page ({@code ./computer/<a node>}), see instead {@link hudson.model.TransientComputerActionFactory}.
* To add UI action to {@link Node}s, i.e. a new link shown in the left side menu on a node page ({@code ./computer/<a node>/}), see instead {@link hudson.model.TransientComputerActionFactory}.
*
*
* <h2>Views</h2>
Expand Down
7 changes: 4 additions & 3 deletions core/src/main/java/hudson/util/AtomicFileWriter.java
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@
import java.nio.channels.FileChannel;
import java.nio.charset.Charset;
import java.nio.charset.StandardCharsets;
import java.nio.file.AccessDeniedException;
import java.nio.file.AtomicMoveNotSupportedException;
import java.nio.file.Files;
import java.nio.file.InvalidPathException;
Expand Down Expand Up @@ -246,11 +247,11 @@ private static void move(Path source, Path destination) throws IOException {
// Both files are on the same filesystem, so this should not happen.
LOGGER.log(Level.WARNING, e, () -> "Atomic move " + source + " → " + destination + " not supported. Falling back to non-atomic move.");
atomicMoveSupported = false;
} catch (AccessDeniedException e) {
LOGGER.log(Level.INFO, e, () -> "Move " + source + " → " + destination + " failed, perhaps due to a temporary file lock. Falling back to non-atomic move.");
}
}
if (!atomicMoveSupported) {
Files.move(source, destination, StandardCopyOption.REPLACE_EXISTING);
}
Files.move(source, destination, StandardCopyOption.REPLACE_EXISTING);
}

private static final class CleanupChecker implements Runnable {
Expand Down
2 changes: 1 addition & 1 deletion core/src/main/java/jenkins/model/Jenkins.java
Original file line number Diff line number Diff line change
Expand Up @@ -5479,7 +5479,7 @@ public void doConfigDotXml(StaplerRequest2 req, StaplerResponse2 rsp) throws IOE
@Override
public boolean hasPermission(Permission permission) {
// no one should be allowed to delete the master.
// this hides the "delete" link from the /computer/(master) page.
// this hides the "delete" link from the /computer/(built-in)/ page.
if (permission == Computer.DELETE)
return false;
// Configuration of master node requires ADMINISTER permission
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ window.buildTimeTrend_displayBuilds = function (data) {
let buildInfoStr = escapeHTML(e.builtOnStr || "");
if (e.builtOn) {
buildInfo = document.createElement("a");
buildInfo.href = rootURL + "/computer/" + e.builtOn;
buildInfo.href = rootURL + "/computer/" + e.builtOn + "/";
buildInfo.classList.add("model-link", "inside");
buildInfo.innerText = buildInfoStr;
} else {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ THE SOFTWARE.
</j:if>
<j:if test="${e.key != null and e.key.length() > 0}">
<h1 id="id${e.key.hashCode()}">
<l:icon class="symbol-computer icon-lg"/> <a class="model-link inside" href="${rootURL}/computer/${e.key}">${e.key}</a>
<l:icon class="symbol-computer icon-lg"/> <a class="model-link inside" href="${rootURL}/computer/${e.key}/">${e.key}</a>
</h1>
</j:if>
<j:forEach var="t" items="${e.value.entrySet()}">
Expand Down
2 changes: 1 addition & 1 deletion core/src/main/resources/lib/hudson/executors.jelly
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ THE SOFTWARE.
<td class="pane">
<div style="white-space: normal">
<j:choose>
<j:when test="${exeparent != null}">
<j:when test="${exe == null and exeparent != null }">
<j:choose>
<j:when test="${exeparentcanread}">
<a href="${rootURL}/${exeparent.url}"><l:breakable value="${exeparent.fullDisplayName}"/></a>
Expand Down
4 changes: 2 additions & 2 deletions core/src/main/resources/lib/hudson/node.jelly
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ THE SOFTWARE.
</st:documentation>
<j:choose>
<j:when test="${value!=null and value!=app}">
<a href="${rootURL}/computer/${value.nodeName}" class="model-link inside">${value.nodeName}</a>
<a href="${rootURL}/computer/${value.nodeName}/" class="model-link inside">${value.nodeName}</a>
</j:when>
<j:when test="${valueStr != null and valueStr != ''}">
${valueStr}
Expand All @@ -40,4 +40,4 @@ THE SOFTWARE.
${%built-in}
</j:otherwise>
</j:choose>
</j:jelly>
</j:jelly>
4 changes: 2 additions & 2 deletions core/src/main/resources/lib/layout/task/task.js
Original file line number Diff line number Diff line change
Expand Up @@ -23,9 +23,9 @@ Behaviour.specify("a.task-link-no-confirm", "task-link", 0, function (el) {
headers: crumb.wrap({}),
}).then((rsp) => {
if (rsp.ok) {
notificationBar(success, notificationBar.SUCCESS);
notificationBar.show(success, notificationBar.SUCCESS);
} else {
notificationBar(failure, notificationBar.ERROR);
notificationBar.show(failure, notificationBar.ERROR);
}
});
ev.preventDefault();
Expand Down
8 changes: 4 additions & 4 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -31,17 +31,17 @@
"clean-webpack-plugin": "4.0.0",
"css-loader": "7.1.2",
"css-minimizer-webpack-plugin": "7.0.0",
"eslint": "9.20.0",
"eslint": "9.20.1",
"eslint-config-prettier": "10.0.1",
"eslint-formatter-checkstyle": "8.40.0",
"globals": "15.14.0",
"globals": "15.15.0",
"handlebars-loader": "1.7.3",
"mini-css-extract-plugin": "2.9.2",
"postcss": "8.5.1",
"postcss": "8.5.2",
"postcss-loader": "8.1.1",
"postcss-preset-env": "10.1.3",
"postcss-scss": "4.0.9",
"prettier": "3.4.2",
"prettier": "3.5.0",
"sass": "1.84.0",
"sass-loader": "16.0.4",
"style-loader": "4.0.0",
Expand Down
2 changes: 1 addition & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,7 @@ THE SOFTWARE.
<spotless.check.skip>false</spotless.check.skip>
<!-- Make sure to keep the jetty-ee9-maven-plugin version in war/pom.xml in sync with the Jetty release in Winstone: -->
<winstone.version>8.4</winstone.version>
<node.version>20.18.2</node.version>
<node.version>20.18.3</node.version>
</properties>

<!--
Expand Down
Loading

0 comments on commit cc37791

Please sign in to comment.