Skip to content

Commit 8ffba9b

Browse files
authored
Merge branch 'master' into enable-top-button-for-heterolist
2 parents 9c5c6e1 + 24a2e7c commit 8ffba9b

File tree

604 files changed

+14655
-12072
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

604 files changed

+14655
-12072
lines changed

.github/renovate.json

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,16 @@
106106
],
107107
"enabled": false,
108108
"description": "maven-metadata.xml is missing for this really old package which is required by renovate"
109+
},
110+
{
111+
"description": "Jackson 2.19.0 causes issues with Kubernetes client. See https://github.com/jenkinsci/bom/pull/5114",
112+
"matchManagers": [
113+
"maven"
114+
],
115+
"allowedVersions": "<2.19.0",
116+
"matchPackageNames": [
117+
"org.jenkins-ci.plugins:jackson2-api"
118+
]
109119
}
110120
],
111121
"customManagers": [

.github/workflows/require-changelog-label.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ jobs:
1111
issues: write
1212
pull-requests: write
1313
steps:
14-
- uses: mheap/github-action-required-labels@388fd6af37b34cdfe5a23b37060e763217e58b03 # v5
14+
- uses: mheap/github-action-required-labels@fb29a14a076b0f74099f6198f77750e8fc236016 # v5
1515
with:
1616
mode: minimum
1717
count: 1

.gitpod/Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
FROM gitpod/workspace-full:latest
22
ARG JAVA_VERSION=21.0.6-tem
3-
ARG MAVEN_VERSION=3.9.9
3+
ARG MAVEN_VERSION=3.9.10
44
# Install Java 21, Maven and GitHub CLI
55
RUN bash -c ". /home/gitpod/.sdkman/bin/sdkman-init.sh && \
66
sdk install java ${JAVA_VERSION} && \

ath.sh

Lines changed: 25 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ set -o xtrace
66
cd "$(dirname "$0")"
77

88
# https://github.com/jenkinsci/acceptance-test-harness/releases
9-
export ATH_VERSION=6180.v889d0fe56785
9+
export ATH_VERSION=6254.vca_87b_2b_59e5a_
1010

1111
if [[ $# -eq 0 ]]; then
1212
export JDK=17
@@ -26,33 +26,46 @@ fi
2626
mkdir -p target/ath-reports
2727
chmod a+rwx target/ath-reports
2828

29+
curl \
30+
--fail \
31+
--silent \
32+
--show-error \
33+
--output /tmp/ath.yml \
34+
--location "https://raw.githubusercontent.com/jenkinsci/acceptance-test-harness/refs/tags/${ATH_VERSION}/docker-compose.yml"
35+
36+
sed -i -e "s/jenkins\/ath:latest/jenkins\/ath:${ATH_VERSION}/g" /tmp/ath.yml
37+
2938
# obtain the groupId to grant to access the docker socket to run tests needing docker
30-
dockergid=$(docker run --rm -v /var/run/docker.sock:/var/run/docker.sock ubuntu:noble stat -c %g /var/run/docker.sock)
39+
if [[ -z ${DOCKER_GID:-} ]]; then
40+
DOCKER_GID=$(docker run --rm -v /var/run/docker.sock:/var/run/docker.sock ubuntu:noble stat -c %g /var/run/docker.sock) || exit 1
41+
export DOCKER_GID
42+
fi
43+
44+
trap 'docker-compose --file /tmp/ath.yml kill && docker-compose --file /tmp/ath.yml down' EXIT
3145

32-
exec docker run --rm \
46+
exec docker-compose \
47+
--file /tmp/ath.yml \
48+
run \
3349
--env JDK \
3450
--env ATH_VERSION \
3551
--env BROWSER \
36-
--shm-size 2g `# avoid selenium.WebDriverException exceptions like 'Failed to decode response from marionette' and webdriver closed` \
37-
--group-add ${dockergid} \
52+
--name mvn \
53+
--no-TTY \
54+
--rm \
3855
--volume "$(pwd)"/war/target/jenkins.war:/jenkins.war:ro \
39-
--volume /var/run/docker.sock:/var/run/docker.sock:rw \
4056
--volume "$(pwd)"/target/ath-reports:/reports:rw \
41-
--interactive \
42-
jenkins/ath:"$ATH_VERSION" \
57+
mvn \
4358
bash <<-'INSIDE'
4459
set -o errexit
4560
set -o nounset
4661
set -o pipefail
4762
set -o xtrace
4863
cd
4964
set-java.sh "${JDK}"
50-
# Start the VNC system provided by the image from the default user home directory
51-
eval "$(vnc.sh)"
5265
env | sort
53-
git clone --branch "$ATH_VERSION" --depth 1 https://github.com/jenkinsci/acceptance-test-harness
66+
git clone --branch "${ATH_VERSION}" --depth 1 https://github.com/jenkinsci/acceptance-test-harness
5467
cd acceptance-test-harness
55-
run.sh "$BROWSER" /jenkins.war \
68+
run.sh "remote-webdriver-${BROWSER}" /jenkins.war \
5669
-Dmaven.test.failure.ignore \
5770
-DforkCount=1 \
5871
-Dgroups=org.jenkinsci.test.acceptance.junit.SmokeTest

bom/pom.xml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -38,10 +38,10 @@ THE SOFTWARE.
3838
<description>The module contains dependencies that are used by a specific Jenkins version</description>
3939

4040
<properties>
41-
<commons-fileupload2.version>2.0.0-M2</commons-fileupload2.version>
41+
<commons-fileupload2.version>2.0.0-M3</commons-fileupload2.version>
4242
<groovy.version>2.4.21</groovy.version>
4343
<jelly.version>1.1-jenkins-20250108</jelly.version>
44-
<stapler.version>1983.v93c53e94b_c04</stapler.version>
44+
<stapler.version>1990.v99d303a_82457</stapler.version>
4545
</properties>
4646

4747
<dependencyManagement>
@@ -63,15 +63,15 @@ THE SOFTWARE.
6363
<dependency>
6464
<groupId>org.springframework</groupId>
6565
<artifactId>spring-framework-bom</artifactId>
66-
<version>6.2.6</version>
66+
<version>6.2.7</version>
6767
<type>pom</type>
6868
<scope>import</scope>
6969
</dependency>
7070
<dependency>
7171
<!-- https://docs.spring.io/spring-security/reference/6.3/getting-spring-security.html#getting-maven-no-boot -->
7272
<groupId>org.springframework.security</groupId>
7373
<artifactId>spring-security-bom</artifactId>
74-
<version>6.4.5</version>
74+
<version>6.5.0</version>
7575
<type>pom</type>
7676
<scope>import</scope>
7777
</dependency>
@@ -104,7 +104,7 @@ THE SOFTWARE.
104104
<dependency>
105105
<groupId>commons-beanutils</groupId>
106106
<artifactId>commons-beanutils</artifactId>
107-
<version>1.10.1</version>
107+
<version>1.11.0</version>
108108
</dependency>
109109
<dependency>
110110
<groupId>commons-codec</groupId>
Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
11
package hudson.cli;
22

3-
import org.junit.jupiter.api.Assertions;
3+
import static org.junit.jupiter.api.Assertions.assertEquals;
4+
45
import org.junit.jupiter.api.BeforeEach;
56
import org.junit.jupiter.api.Test;
67

78
class CLIConnectionFactoryTest {
89

9-
CLIConnectionFactory cliFactory;
10+
private CLIConnectionFactory cliFactory;
1011

1112
@BeforeEach
1213
void setUp() {
@@ -15,11 +16,11 @@ void setUp() {
1516

1617
@Test
1718
void testBearerFromToken() {
18-
Assertions.assertEquals("Bearer some-token", cliFactory.bearerAuth("some-token").authorization);
19+
assertEquals("Bearer some-token", cliFactory.bearerAuth("some-token").authorization);
1920
}
2021

2122
@Test
2223
void testBasicFromUserAndPass() {
23-
Assertions.assertEquals("Basic c29tZTpwYXNz", cliFactory.basicAuth("some:pass").authorization);
24+
assertEquals("Basic c29tZTpwYXNz", cliFactory.basicAuth("some:pass").authorization);
2425
}
2526
}

cli/src/test/java/hudson/cli/HexDumpTest.java

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -12,40 +12,40 @@
1212
import org.junit.jupiter.params.provider.MethodSource;
1313

1414
@Execution(ExecutionMode.CONCURRENT)
15-
public class HexDumpTest {
15+
class HexDumpTest {
1616

17-
@DisplayName("Test HexDump.toHex(byte[] buf)")
18-
@ParameterizedTest(name = "{index} => expected: {0}, buf: {1}")
19-
@MethodSource("testToHex1Sources")
20-
public void testToHex1(String expected, byte[] buf) {
21-
assertEquals(expected, HexDump.toHex(buf));
22-
}
17+
@DisplayName("Test HexDump.toHex(byte[] buf)")
18+
@ParameterizedTest(name = "{index} => expected: {0}, buf: {1}")
19+
@MethodSource("testToHex1Sources")
20+
void testToHex1(String expected, byte[] buf) {
21+
assertEquals(expected, HexDump.toHex(buf));
22+
}
2323

24-
static Stream<Arguments> testToHex1Sources() {
25-
return Stream.of(
24+
static Stream<Arguments> testToHex1Sources() {
25+
return Stream.of(
2626
arguments("'fooBar'", new byte[] {'f', 'o', 'o', 'B', 'a', 'r'}),
2727
arguments("0xc3", new byte[] {(byte) 'Ã'}),
2828
arguments("0xac '100'", new byte[] {(byte) '€', '1', '0', '0'}),
2929
arguments("'1' 0xf7 '2'", new byte[] {'1', (byte) '÷', '2'}),
3030
arguments("'foo' 0x0a\n'Bar'", new byte[] {'f', 'o', 'o', '\n', 'B', 'a', 'r'})
31-
);
32-
}
31+
);
32+
}
3333

34-
@DisplayName("Test HexDump.toHex(byte[] buf, int start, int len)")
35-
@ParameterizedTest(name = "{index} => expected: {0}, buf: {1}, start: {2}, len: {3}")
36-
@MethodSource("testToHex2Sources")
37-
public void testToHex2(String expected, byte[] buf, int start, int len) {
38-
assertEquals(expected, HexDump.toHex(buf, start, len));
39-
}
34+
@DisplayName("Test HexDump.toHex(byte[] buf, int start, int len)")
35+
@ParameterizedTest(name = "{index} => expected: {0}, buf: {1}, start: {2}, len: {3}")
36+
@MethodSource("testToHex2Sources")
37+
void testToHex2(String expected, byte[] buf, int start, int len) {
38+
assertEquals(expected, HexDump.toHex(buf, start, len));
39+
}
4040

41-
static Stream<Arguments> testToHex2Sources() {
42-
return Stream.of(
41+
static Stream<Arguments> testToHex2Sources() {
42+
return Stream.of(
4343
arguments("'ooBa'", new byte[] {'f', 'o', 'o', 'B', 'a', 'r'}, 1, 4),
4444
arguments("0xc3", new byte[] {(byte) 'Ã'}, 0, 1),
4545
arguments("0xac '10'", new byte[] {(byte) '€', '1', '0', '0'}, 0, 3),
4646
arguments("0xf7 '2'", new byte[] {'1', (byte) '÷', '2'}, 1, 2),
4747
arguments("'Bar'", new byte[] {'f', 'o', 'o', '\n', 'B', 'a', 'r'}, 4, 3),
4848
arguments("", new byte[] {'f', 'o', 'o', 'B', 'a', 'r'}, 0, 0)
49-
);
50-
}
49+
);
50+
}
5151
}

cli/src/test/java/hudson/cli/PlainCLIProtocolTest.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -34,17 +34,17 @@
3434
import java.nio.charset.Charset;
3535
import org.junit.jupiter.api.Test;
3636

37-
public class PlainCLIProtocolTest {
37+
class PlainCLIProtocolTest {
3838

3939
@Test
40-
public void ignoreUnknownOperations() throws Exception {
40+
void ignoreUnknownOperations() throws Exception {
4141
final PipedOutputStream upload = new PipedOutputStream();
4242
final PipedOutputStream download = new PipedOutputStream();
4343
class Client extends PlainCLIProtocol.ClientSide {
4444
int code = -1;
4545
final ByteArrayOutputStream stdout = new ByteArrayOutputStream();
4646

47-
Client() throws IOException {
47+
Client() {
4848
super(new PlainCLIProtocol.FramedOutput(upload));
4949
}
5050

cli/src/test/java/hudson/cli/PrivateKeyProviderTest.java

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -18,13 +18,13 @@
1818
keys were generated with ssh-keygen from OpenSSH_7.9p1, LibreSSL 2.7.3
1919
*/
2020
@Execution(ExecutionMode.CONCURRENT)
21-
public class PrivateKeyProviderTest {
21+
class PrivateKeyProviderTest {
2222

2323
/**
2424
key command: ssh-keygen -f dsa -t dsa -b 1024 -m PEM
2525
*/
2626
@Test
27-
public void loadKeyDSA() throws IOException, GeneralSecurityException {
27+
void loadKeyDSA() throws IOException, GeneralSecurityException {
2828
File file = new File(this.getClass().getResource("dsa").getFile());
2929
assertKeyPairNotNull(file, null);
3030
}
@@ -45,7 +45,7 @@ private void assertKeyPairNotNull(File file, String password) throws IOException
4545
key command: ssh-keygen -f dsa-password -t dsa -b 1024 -m PEM -P password
4646
*/
4747
@Test
48-
public void loadKeyDSAPassword() throws IOException, GeneralSecurityException {
48+
void loadKeyDSAPassword() throws IOException, GeneralSecurityException {
4949
File file = new File(this.getClass().getResource("dsa-password").getFile());
5050
String password = "password";
5151
assertKeyPairNotNull(file, password);
@@ -55,7 +55,7 @@ public void loadKeyDSAPassword() throws IOException, GeneralSecurityException {
5555
key command: ssh-keygen -f rsa -t rsa -b 1024 -m PEM
5656
*/
5757
@Test
58-
public void loadKeyRSA() throws IOException, GeneralSecurityException {
58+
void loadKeyRSA() throws IOException, GeneralSecurityException {
5959
File file = new File(this.getClass().getResource("rsa").getFile());
6060
assertKeyPairNotNull(file, null);
6161
}
@@ -64,7 +64,7 @@ public void loadKeyRSA() throws IOException, GeneralSecurityException {
6464
key command: ssh-keygen -f rsa-password -t rsa -b 1024 -m PEM -P password
6565
*/
6666
@Test
67-
public void loadKeyRSAPassword() throws IOException, GeneralSecurityException {
67+
void loadKeyRSAPassword() throws IOException, GeneralSecurityException {
6868
File file = new File(this.getClass().getResource("rsa-password").getFile());
6969
String password = "password";
7070
assertKeyPairNotNull(file, password);
@@ -74,7 +74,7 @@ public void loadKeyRSAPassword() throws IOException, GeneralSecurityException {
7474
key command: ssh-keygen -f openssh -t rsa -b 1024
7575
*/
7676
@Test
77-
public void loadKeyOpenSSH() throws IOException, GeneralSecurityException {
77+
void loadKeyOpenSSH() throws IOException, GeneralSecurityException {
7878
File file = new File(this.getClass().getResource("openssh").getFile());
7979
assertKeyPairNotNull(file, null);
8080
}
@@ -83,7 +83,7 @@ public void loadKeyOpenSSH() throws IOException, GeneralSecurityException {
8383
key command: ssh-keygen -f openssh-unsupported -t rsa -b 1024 -m PKCS8 -P password
8484
*/
8585
@Test
86-
public void loadKeyOpenSSHPKCS8() throws IOException, GeneralSecurityException {
86+
void loadKeyOpenSSHPKCS8() throws IOException, GeneralSecurityException {
8787
File file = new File(this.getClass().getResource("openssh-pkcs8").getFile());
8888
String password = "password";
8989
assertKeyPairNotNull(file, password);
@@ -93,7 +93,7 @@ public void loadKeyOpenSSHPKCS8() throws IOException, GeneralSecurityException {
9393
key command: ssh-keygen -f openssh-unsupported -t rsa -b 1024 -m RFC4716 -p password
9494
*/
9595
@Test
96-
public void loadKeyOpenSSHRFC4716() throws IOException, GeneralSecurityException {
96+
void loadKeyOpenSSHRFC4716() throws IOException, GeneralSecurityException {
9797
File file = new File(this.getClass().getResource("openssh-rfc4716").getFile());
9898
String password = "password";
9999
assertKeyPairNotNull(file, password);
@@ -104,7 +104,7 @@ public void loadKeyOpenSSHRFC4716() throws IOException, GeneralSecurityException
104104
Copy pasted the same key twice
105105
*/
106106
@Test
107-
public void loadKeyOpenSSHMultipleKeys() throws IOException, GeneralSecurityException {
107+
void loadKeyOpenSSHMultipleKeys() {
108108
File file = new File(this.getClass().getResource("openssh-multiple-keys").getFile());
109109
String password = "password";
110110
assertThrows(InvalidKeySpecException.class, () -> PrivateKeyProvider.loadKey(file, password));
@@ -114,7 +114,7 @@ public void loadKeyOpenSSHMultipleKeys() throws IOException, GeneralSecurityExce
114114
* Uses a blank file
115115
*/
116116
@Test
117-
public void loadBlankKey() throws IOException, GeneralSecurityException {
117+
void loadBlankKey() {
118118
File file = new File(this.getClass().getResource("blank").getFile());
119119
String password = "password";
120120
assertThrows(InvalidKeyException.class, () -> PrivateKeyProvider.loadKey(file, password));
@@ -125,7 +125,7 @@ public void loadBlankKey() throws IOException, GeneralSecurityException {
125125
in this key we remove some lines to break the key.
126126
*/
127127
@Test
128-
public void loadKeyBroken() throws IOException, GeneralSecurityException {
128+
void loadKeyBroken() {
129129
File file = new File(this.getClass().getResource("openssh-broken").getFile());
130130
String password = "password";
131131
assertThrows(IllegalArgumentException.class, () -> PrivateKeyProvider.loadKey(file, password));

0 commit comments

Comments
 (0)