From cd49bcd272835d138ef2bce351123c9b379283c0 Mon Sep 17 00:00:00 2001 From: kaklakariada Date: Thu, 14 May 2026 11:43:24 +0200 Subject: [PATCH 01/11] Upgrade dependencies --- .github/workflows/build.yml | 9 ++++--- .github/workflows/codeql-analysis.yml | 10 ++++---- .github/workflows/release.yml | 6 ++--- .vscode/settings.json | 1 - doc/changes/changelog.md | 1 + doc/changes/changes_1.2.3.md | 15 +++++++++++ pom.xml | 36 ++++++++++++--------------- 7 files changed, 45 insertions(+), 33 deletions(-) create mode 100644 doc/changes/changes_1.2.3.md diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 441bd57..d3dae83 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -14,7 +14,7 @@ jobs: strategy: fail-fast: true matrix: - java: [11, 17, 21] + java: [11, 17, 21, 25] concurrency: group: ${{ github.workflow }}-${{ github.ref }}-java-${{ matrix.java }} cancel-in-progress: true @@ -23,10 +23,11 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: fetch-depth: 0 - - uses: actions/setup-java@v4 + persist-credentials: false + - uses: actions/setup-java@v5 with: distribution: 'temurin' java-version: | @@ -35,7 +36,7 @@ jobs: 21 cache: maven - name: Cache SonarQube packages - uses: actions/cache@v4 + uses: actions/cache@v5 with: path: ~/.sonar/cache key: ${{ runner.os }}-sonar diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index 6fd6438..ae9b4dc 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -21,21 +21,21 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@v4 + uses: actions/checkout@v6 - - uses: actions/setup-java@v4 + - uses: actions/setup-java@v5 with: distribution: 'temurin' java-version: 11 cache: maven - name: Initialize CodeQL - uses: github/codeql-action/init@v3 + uses: github/codeql-action/init@v4 with: languages: java - name: Autobuild - uses: github/codeql-action/autobuild@v3 + uses: github/codeql-action/autobuild@v4 - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@v3 + uses: github/codeql-action/analyze@v4 diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index ca2aa24..59b459e 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -22,17 +22,17 @@ jobs: contents: write # Required for creating GitHub release steps: - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v6 - name: Fail if not running on main branch if: ${{ github.ref != 'refs/heads/main' }} - uses: actions/github-script@v7 + uses: actions/github-script@v9 with: script: | core.setFailed('Not running on main branch, github.ref is ${{ github.ref }}. Please start this workflow only on main') - name: Set up Maven Central Repository - uses: actions/setup-java@v4 + uses: actions/setup-java@v5 with: distribution: "temurin" java-version: 11 diff --git a/.vscode/settings.json b/.vscode/settings.json index aefe10c..c23d3a3 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -6,7 +6,6 @@ "source.generate.finalModifiers": "explicit", "source.fixAll": "explicit" }, - "java.saveActions.organizeImports": true, "java.sources.organizeImports.starThreshold": 3, "java.sources.organizeImports.staticStarThreshold": 3, "java.configuration.updateBuildConfiguration": "automatic", diff --git a/doc/changes/changelog.md b/doc/changes/changelog.md index c9cf407..c85cf69 100644 --- a/doc/changes/changelog.md +++ b/doc/changes/changelog.md @@ -1,5 +1,6 @@ # Changes +* [1.2.3](changes_1.2.3.md) * [1.2.2](changes_1.2.2.md) * [1.2.1](changes_1.2.1.md) * [1.2.0](changes_1.2.0.md) diff --git a/doc/changes/changes_1.2.3.md b/doc/changes/changes_1.2.3.md new file mode 100644 index 0000000..97ac17e --- /dev/null +++ b/doc/changes/changes_1.2.3.md @@ -0,0 +1,15 @@ +# JUnit5 System Extensions 1.2.3, released 2026-05-?? + +Code name: Upgrade dependencies + +## Summary + +This release upgrades dependencies and updates the automatic release process to Maven Central. + +## Bugfixes + +* [#74](https://github.com/itsallcode/junit5-system-extensions/issues/74): Upgrade dependencies + +## Compile Dependency Changes + +* Upgrade `org.junit.jupiter:junit-jupiter-api` from `5.11.0` to `5.14.4` diff --git a/pom.xml b/pom.xml index 47545e1..033a0c6 100644 --- a/pom.xml +++ b/pom.xml @@ -3,7 +3,7 @@ 4.0.0 org.itsallcode junit5-system-extensions - 1.2.2 + 1.2.3 JUnit5 System Extensions These extensions help testing behavior that is related to `System.x` calls like `exit(int). https://github.com/itsallcode/junit5-system-extensions @@ -36,7 +36,8 @@ 11 - 5.11.0 + + 5.14.4 UTF-8 true https://sonarcloud.io @@ -60,16 +61,10 @@ junit-jupiter-api ${junit.version} - - org.junit.jupiter - junit-jupiter-engine - ${junit.version} - test - org.mockito mockito-core - 5.13.0 + 5.23.0 test @@ -92,7 +87,7 @@ org.apache.maven.plugins maven-gpg-plugin - 3.2.5 + 3.2.8 sign-artifacts @@ -106,7 +101,7 @@ org.apache.maven.plugins maven-deploy-plugin - 3.1.3 + 3.1.4 @@ -136,7 +131,7 @@ org.apache.maven.plugins maven-compiler-plugin - 3.13.0 + 3.15.0 ${java.version} ${java.version} @@ -150,7 +145,7 @@ org.apache.maven.plugins maven-source-plugin - 3.3.1 + 3.4.0 attach-sources @@ -163,7 +158,8 @@ org.apache.maven.plugins maven-javadoc-plugin - 3.10.0 + + 3.11.2 attach-javadocs @@ -187,12 +183,12 @@ org.apache.maven.plugins maven-jar-plugin - 3.4.2 + 3.5.0 org.jacoco jacoco-maven-plugin - 0.8.12 + 0.8.14 @@ -211,7 +207,7 @@ org.apache.maven.plugins maven-surefire-plugin - 3.5.0 + 3.5.5 -XX:+EnableDynamicAgentLoading ${argLine} @@ -220,7 +216,7 @@ org.apache.maven.plugins maven-enforcer-plugin - 3.5.0 + 3.6.2 enforce-maven @@ -240,7 +236,7 @@ io.github.git-commit-id git-commit-id-maven-plugin - 9.0.1 + 10.0.0 get-the-git-infos @@ -261,7 +257,7 @@ org.apache.maven.plugins maven-artifact-plugin - 3.5.1 + 3.6.1 verify-reproducible-build From d2b65e0cd7816f6857688e21fac5c4179a50857b Mon Sep 17 00:00:00 2001 From: kaklakariada Date: Thu, 14 May 2026 11:46:32 +0200 Subject: [PATCH 02/11] Install correct java version --- .github/workflows/build.yml | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index d3dae83..7801fb0 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -30,10 +30,7 @@ jobs: - uses: actions/setup-java@v5 with: distribution: 'temurin' - java-version: | - 11 - 17 - 21 + java-version: ${{ matrix.java }} cache: maven - name: Cache SonarQube packages uses: actions/cache@v5 From 5eb2cac5e24cd8f183aca2eebcedd4f10360bd2e Mon Sep 17 00:00:00 2001 From: kaklakariada Date: Thu, 14 May 2026 11:46:41 +0200 Subject: [PATCH 03/11] Update changelog --- doc/changes/changes_1.2.3.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/changes/changes_1.2.3.md b/doc/changes/changes_1.2.3.md index 97ac17e..44d1f0a 100644 --- a/doc/changes/changes_1.2.3.md +++ b/doc/changes/changes_1.2.3.md @@ -8,7 +8,7 @@ This release upgrades dependencies and updates the automatic release process to ## Bugfixes -* [#74](https://github.com/itsallcode/junit5-system-extensions/issues/74): Upgrade dependencies +* [#76](https://github.com/itsallcode/junit5-system-extensions/pull/76): Upgrade dependencies ## Compile Dependency Changes From bed0be5201db1b8a52fd8b5e89a71f5192594ded Mon Sep 17 00:00:00 2001 From: kaklakariada Date: Thu, 14 May 2026 11:50:31 +0200 Subject: [PATCH 04/11] Deploy javadoc to github pages --- .github/workflows/build.yml | 2 +- .github/workflows/publish-javadoc.yml | 46 +++++++++++++++++++++++++++ 2 files changed, 47 insertions(+), 1 deletion(-) create mode 100644 .github/workflows/publish-javadoc.yml diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 7801fb0..2ca16ec 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -12,7 +12,7 @@ jobs: permissions: contents: read strategy: - fail-fast: true + fail-fast: false matrix: java: [11, 17, 21, 25] concurrency: diff --git a/.github/workflows/publish-javadoc.yml b/.github/workflows/publish-javadoc.yml new file mode 100644 index 0000000..ff0952c --- /dev/null +++ b/.github/workflows/publish-javadoc.yml @@ -0,0 +1,46 @@ +name: Deploy Javadoc + +on: + push: + branches: [ main ] + workflow_dispatch: + pull_request: + +jobs: + build: + runs-on: ubuntu-latest + permissions: + contents: read + steps: + - name: Checkout the repository + uses: actions/checkout@v6 + with: + persist-credentials: false + - name: Set up Java + uses: actions/setup-java@v5 + with: + distribution: temurin + java-version: 11 + cache: maven + - name: Build JavaDoc + run: mvn --batch-mode javadoc:javadoc + - name: Upload artifact + uses: actions/upload-pages-artifact@v5 + with: + path: ./target/reports/apidocs + + deploy: + if: ${{ github.ref == 'refs/heads/main' }} + permissions: + contents: read + id-token: write + pages: write + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + runs-on: ubuntu-latest + needs: build + steps: + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@v5 \ No newline at end of file From 64ce5cf0dbd31d4251dfef03fd4dc9130b82e147 Mon Sep 17 00:00:00 2001 From: kaklakariada Date: Thu, 14 May 2026 11:52:09 +0200 Subject: [PATCH 05/11] Disable system exit tests also on Java 25 --- .../org/itsallcode/junit/sysextensions/TestSystemExit.java | 3 ++- .../TestSystemExitReplacingExistingSecurityManager.java | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/test/java/org/itsallcode/junit/sysextensions/TestSystemExit.java b/src/test/java/org/itsallcode/junit/sysextensions/TestSystemExit.java index bccfa32..edd668d 100644 --- a/src/test/java/org/itsallcode/junit/sysextensions/TestSystemExit.java +++ b/src/test/java/org/itsallcode/junit/sysextensions/TestSystemExit.java @@ -12,7 +12,8 @@ import org.junit.jupiter.api.extension.ExtendWith; @DisabledOnJre(value = { - JRE.JAVA_21 }, disabledReason = "The Security Manager is deprecated and will be removed in a future release") + JRE.JAVA_21, + JRE.JAVA_25 }, disabledReason = "The Security Manager is deprecated and will be removed in a future release") @ExtendWith(ExitGuard.class) class TestSystemExit { diff --git a/src/test/java/org/itsallcode/junit/sysextensions/TestSystemExitReplacingExistingSecurityManager.java b/src/test/java/org/itsallcode/junit/sysextensions/TestSystemExitReplacingExistingSecurityManager.java index 98a7726..f2fc446 100644 --- a/src/test/java/org/itsallcode/junit/sysextensions/TestSystemExitReplacingExistingSecurityManager.java +++ b/src/test/java/org/itsallcode/junit/sysextensions/TestSystemExitReplacingExistingSecurityManager.java @@ -10,7 +10,8 @@ import org.junit.jupiter.api.condition.JRE; @DisabledOnJre(value = { - JRE.JAVA_21 }, disabledReason = "The Security Manager is deprecated and will be removed in a future release") + JRE.JAVA_21, + JRE.JAVA_25 }, disabledReason = "The Security Manager is deprecated and will be removed in a future release") class TestSystemExitReplacingExistingSecurityManager { @Test From 0ac739b260d3c23022167f8c7b39db88c455370d Mon Sep 17 00:00:00 2001 From: kaklakariada Date: Thu, 14 May 2026 11:59:43 +0200 Subject: [PATCH 06/11] Explicitly specify sonar version --- pom.xml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/pom.xml b/pom.xml index 033a0c6..79341cd 100644 --- a/pom.xml +++ b/pom.xml @@ -271,6 +271,11 @@ true + + org.sonarsource.scanner.maven + sonar-maven-plugin + 5.6.0.6792 + 2018 From 501ee7944044ba72198ee6da414214ee3da7f84c Mon Sep 17 00:00:00 2001 From: kaklakariada Date: Thu, 14 May 2026 12:01:04 +0200 Subject: [PATCH 07/11] Fix sonar analysis --- .github/workflows/build.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 2ca16ec..e7f59c7 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -30,7 +30,9 @@ jobs: - uses: actions/setup-java@v5 with: distribution: 'temurin' - java-version: ${{ matrix.java }} + java-version: | + ${{ matrix.java }} + 17 # For SonarQube analysis, which requires Java 17 or higher cache: maven - name: Cache SonarQube packages uses: actions/cache@v5 From 374fd942abcc0d0c39feff2c691ad4cb96cd061e Mon Sep 17 00:00:00 2001 From: kaklakariada Date: Thu, 14 May 2026 12:02:52 +0200 Subject: [PATCH 08/11] Fix workflow syntax --- .github/workflows/build.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index e7f59c7..1e4c2df 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -30,9 +30,10 @@ jobs: - uses: actions/setup-java@v5 with: distribution: 'temurin' + # SonarQube analysis requires Java 17 or higher java-version: | ${{ matrix.java }} - 17 # For SonarQube analysis, which requires Java 17 or higher + 17 cache: maven - name: Cache SonarQube packages uses: actions/cache@v5 From 80a4d962f5e7780e6ce3a8ab5cbbb9e1616c2aec Mon Sep 17 00:00:00 2001 From: kaklakariada Date: Thu, 14 May 2026 12:11:02 +0200 Subject: [PATCH 09/11] Fix codeql build --- .github/workflows/codeql-analysis.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index ae9b4dc..a80cebd 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -34,8 +34,8 @@ jobs: with: languages: java - - name: Autobuild - uses: github/codeql-action/autobuild@v4 + - name: Build + run: mvn --batch-mode --errors -Dmaven.gitcommitid.skip=true clean compile - name: Perform CodeQL Analysis uses: github/codeql-action/analyze@v4 From 83d4aa1aaa7c9a0503f1f2ee4913cb0b4f786c36 Mon Sep 17 00:00:00 2001 From: kaklakariada Date: Thu, 14 May 2026 12:14:32 +0200 Subject: [PATCH 10/11] Update release date --- doc/changes/changes_1.2.3.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/changes/changes_1.2.3.md b/doc/changes/changes_1.2.3.md index 44d1f0a..cf4ac19 100644 --- a/doc/changes/changes_1.2.3.md +++ b/doc/changes/changes_1.2.3.md @@ -1,4 +1,4 @@ -# JUnit5 System Extensions 1.2.3, released 2026-05-?? +# JUnit5 System Extensions 1.2.3, released 2026-05-14 Code name: Upgrade dependencies From 03084ed5f336ade26bc82a6229ac3ac19c411c52 Mon Sep 17 00:00:00 2001 From: kaklakariada Date: Thu, 14 May 2026 16:13:19 +0200 Subject: [PATCH 11/11] Update Maven Central deployment --- .github/workflows/release.yml | 18 ++++++++++++++---- pom.xml | 31 ++++++++++++++----------------- 2 files changed, 28 insertions(+), 21 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 59b459e..655c7fa 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -8,6 +8,11 @@ on: required: true type: boolean default: false + auto-publish-maven-central: + description: "Auto-publish to Maven Central" + required: true + type: boolean + default: true jobs: release: @@ -37,7 +42,7 @@ jobs: distribution: "temurin" java-version: 11 cache: "maven" - server-id: ossrh + server-id: central server-username: MAVEN_USERNAME server-password: MAVEN_PASSWORD gpg-private-key: ${{ secrets.OSSRH_GPG_SECRET_KEY }} @@ -51,11 +56,16 @@ jobs: - name: Publish to Maven Central Repository if: ${{ !inputs.skip-deploy-maven-central }} - run: mvn --batch-mode deploy -Possrh -DstagingDescription="Deployed via GitHub workflow release.yml" + run: | + mvn --batch-mode deploy -PcentralPublishing \ + -DcentralPublishingSkipPublishing=false \ + -DcentralPublishingAutoPublish=${AUTO_PUBLISH} \ + -DcentralPublishingDeploymentName="Deploy junit5-system-extensions via release.yml" env: - MAVEN_USERNAME: ${{ secrets.OSSRH_USERNAME }} - MAVEN_PASSWORD: ${{ secrets.OSSRH_PASSWORD }} + MAVEN_USERNAME: ${{ secrets.MAVEN_CENTRAL_PORTAL_USERNAME }} + MAVEN_PASSWORD: ${{ secrets.MAVEN_CENTRAL_PORTAL_TOKEN }} MAVEN_GPG_PASSPHRASE: ${{ secrets.OSSRH_GPG_SECRET_KEY_PASSWORD }} + AUTO_PUBLISH: ${{ inputs.auto-publish-maven-central }} - name: Create GitHub Release run: ./.github/workflows/github_release.sh diff --git a/pom.xml b/pom.xml index 79341cd..fd1288f 100644 --- a/pom.xml +++ b/pom.xml @@ -45,16 +45,6 @@ ${git.commit.time} ${reproducible.build.timestamp} - - - ossrh - https://oss.sonatype.org/content/repositories/snapshots - - - ossrh - https://oss.sonatype.org/service/local/staging/deploy/maven2/ - - org.junit.jupiter @@ -70,18 +60,25 @@ - ossrh + centralPublishing + + false + false + Manual deployment of JUnit5 System Extensions + - org.sonatype.plugins - nexus-staging-maven-plugin - 1.7.0 + org.sonatype.central + central-publishing-maven-plugin + 0.10.0 true - ossrh - https://oss.sonatype.org/ - true + central + ${centralPublishingSkipPublishing} + ${centralPublishingAutoPublish} + validated + ${centralPublishingDeploymentName}