From 45f4617ba01c4be9dca576ff755f548127e76086 Mon Sep 17 00:00:00 2001 From: Tamas Cservenak Date: Sat, 2 Mar 2024 13:02:15 +0100 Subject: [PATCH 01/74] Add GPG install step --- .github/workflows/maven-verify.yml | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/.github/workflows/maven-verify.yml b/.github/workflows/maven-verify.yml index ca83795..2a499f6 100644 --- a/.github/workflows/maven-verify.yml +++ b/.github/workflows/maven-verify.yml @@ -152,6 +152,12 @@ on: default: false type: boolean + install-gpg: + description: Ensure all build images have GnuPG installed + required: false + default: false + type: boolean + # allow single build per branch or PR concurrency: group: ${{ github.workflow }}-${{ github.ref }} @@ -262,6 +268,23 @@ jobs: run: | brew install mercurial + - name: Install GnuPG + if: > + inputs.install-gpg && + steps.should-run.conclusion == 'success' && + matrix.os == 'windows-latest' + run: | + $env:PATH = "C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\ProgramData\chocolatey\bin" + [Environment]::SetEnvironmentVariable("Path", $env:PATH, "Machine") + choco install --yes gpg4win + echo "C:\Program Files (x86)\Gpg4win\..\GnuPG\bin" >> $env:GITHUB_PATH + + - name: Check GnuPG + if: > + inputs.install-gpg && + steps.should-run.conclusion == 'success' + run: gpg --version + - name: Show free disk space if: steps.should-run.conclusion == 'success' run: df -h From 26f55bffc699e7bc46a512ae86187bce7d5340be Mon Sep 17 00:00:00 2001 From: Slawomir Jaranowski Date: Sat, 23 Mar 2024 15:18:27 +0100 Subject: [PATCH 02/74] Apply ASF Infra GitHub Actions Policy - max-parallel as 20 - most of our project use 18 - pin version of release-drafter https://infra.apache.org/github-actions-policy.html --- .github/workflows/maven-verify.yml | 2 +- .github/workflows/release-drafter.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/maven-verify.yml b/.github/workflows/maven-verify.yml index 2a499f6..752a9b8 100644 --- a/.github/workflows/maven-verify.yml +++ b/.github/workflows/maven-verify.yml @@ -65,7 +65,7 @@ on: max-parallel: description: max parallel jobs required: false - default: 100 + default: 20 type: number timeout-minutes: diff --git a/.github/workflows/release-drafter.yml b/.github/workflows/release-drafter.yml index 7c6ef19..79c8309 100644 --- a/.github/workflows/release-drafter.yml +++ b/.github/workflows/release-drafter.yml @@ -28,6 +28,6 @@ jobs: contents: write runs-on: ubuntu-latest steps: - - uses: release-drafter/release-drafter@v6 + - uses: release-drafter/release-drafter@3f0f87098bd6b5c5b9a36d49c41d998ea58f9348 # v6 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} From 994eebd0d7acb406c055aed405b32ca42415df91 Mon Sep 17 00:00:00 2001 From: Slawomir Jaranowski Date: Wed, 24 Apr 2024 20:50:28 +0200 Subject: [PATCH 03/74] Switch JDK distribution to zulu as default temurin doesn't support JDK 8 on macOS 14 --- .github/workflows/maven-verify.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/maven-verify.yml b/.github/workflows/maven-verify.yml index 752a9b8..aaaf0cc 100644 --- a/.github/workflows/maven-verify.yml +++ b/.github/workflows/maven-verify.yml @@ -29,7 +29,7 @@ on: os-matrix: description: os matrix as json array required: false - default: '[ "ubuntu-latest", "windows-latest", "macOS-latest" ]' + default: '[ "ubuntu-latest", "windows-latest", "macos-latest" ]' type: string jdk-matrix: @@ -41,7 +41,7 @@ on: jdk-distribution-matrix: description: jdk distribution matrix required: false - default: '[ "temurin" ]' + default: '[ "zulu" ]' type: string maven-matrix: @@ -102,7 +102,7 @@ on: ff-jdk-distribution: description: The jdk distribution used during fail-fast-build job required: false - default: 'temurin' + default: 'zulu' type: string ff-goal: @@ -264,7 +264,7 @@ jobs: if: > inputs.install-mercurial && steps.should-run.conclusion == 'success' && - matrix.os == 'macOS-latest' + matrix.os == 'macos-latest' run: | brew install mercurial From 3d64b12cca6883f4916e6115a14e241e4b2b217b Mon Sep 17 00:00:00 2001 From: Slawomir Jaranowski Date: Fri, 10 May 2024 17:16:42 +0200 Subject: [PATCH 04/74] Bump m-wrapper-p from 3.2.0 to 3.3.1 --- .github/workflows/maven-verify.yml | 4 ++-- pom.xml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/maven-verify.yml b/.github/workflows/maven-verify.yml index aaaf0cc..9e86413 100644 --- a/.github/workflows/maven-verify.yml +++ b/.github/workflows/maven-verify.yml @@ -195,7 +195,7 @@ jobs: - name: Set up Maven run: - mvn --errors --batch-mode --show-version org.apache.maven.plugins:maven-wrapper-plugin:3.2.0:wrapper "-Dmaven=${{ inputs.ff-maven }}" + mvn --errors --batch-mode --show-version org.apache.maven.plugins:maven-wrapper-plugin:3.3.1:wrapper "-Dmaven=${{ inputs.ff-maven }}" - name: Build with Maven run: ./mvnw --errors --batch-mode --show-version ${{ inputs.maven-args }} ${{ inputs.ff-goal }} @@ -306,7 +306,7 @@ jobs: - name: Set up Maven if: steps.should-run.conclusion == 'success' - run: mvn --errors --batch-mode --show-version org.apache.maven.plugins:maven-wrapper-plugin:3.2.0:wrapper "-Dmaven=${{ matrix.maven }}" + run: mvn --errors --batch-mode --show-version org.apache.maven.plugins:maven-wrapper-plugin:3.3.1:wrapper "-Dmaven=${{ matrix.maven }}" - name: Build with Maven if: steps.should-run.conclusion == 'success' diff --git a/pom.xml b/pom.xml index fe18fe3..1283593 100644 --- a/pom.xml +++ b/pom.xml @@ -23,7 +23,7 @@ org.apache.maven maven-parent - 39 + 42 From dbe4e2171aa3aa16adaf78f46d137e32e99a305a Mon Sep 17 00:00:00 2001 From: Slawomir Jaranowski Date: Sun, 26 May 2024 22:53:57 +0200 Subject: [PATCH 05/74] Use Maven 3.9.7, m-wrapper-p 3.3.2 for build --- .github/workflows/maven-verify.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/maven-verify.yml b/.github/workflows/maven-verify.yml index 9e86413..b8a2cca 100644 --- a/.github/workflows/maven-verify.yml +++ b/.github/workflows/maven-verify.yml @@ -47,7 +47,7 @@ on: maven-matrix: description: The Maven version matrix as json array required: false - default: '[ "3.6.3", "3.9.6" ]' + default: '[ "3.6.3", "3.9.7" ]' type: string matrix-include: @@ -90,7 +90,7 @@ on: ff-maven: description: The Maven version used during fail-fast-build job required: false - default: '3.9.6' + default: '3.9.7' type: string ff-jdk: @@ -195,7 +195,7 @@ jobs: - name: Set up Maven run: - mvn --errors --batch-mode --show-version org.apache.maven.plugins:maven-wrapper-plugin:3.3.1:wrapper "-Dmaven=${{ inputs.ff-maven }}" + mvn --errors --batch-mode --show-version org.apache.maven.plugins:maven-wrapper-plugin:3.3.2:wrapper "-Dmaven=${{ inputs.ff-maven }}" - name: Build with Maven run: ./mvnw --errors --batch-mode --show-version ${{ inputs.maven-args }} ${{ inputs.ff-goal }} @@ -306,7 +306,7 @@ jobs: - name: Set up Maven if: steps.should-run.conclusion == 'success' - run: mvn --errors --batch-mode --show-version org.apache.maven.plugins:maven-wrapper-plugin:3.3.1:wrapper "-Dmaven=${{ matrix.maven }}" + run: mvn --errors --batch-mode --show-version org.apache.maven.plugins:maven-wrapper-plugin:3.3.2:wrapper "-Dmaven=${{ matrix.maven }}" - name: Build with Maven if: steps.should-run.conclusion == 'success' From bbde9690d568a8f4cca9b77e3b65ab595df8685b Mon Sep 17 00:00:00 2001 From: Slawomir Jaranowski Date: Sat, 1 Jun 2024 16:40:27 +0200 Subject: [PATCH 06/74] Add support for Maven 4 --- .github/workflows/maven-verify-test.yml | 27 ++++++++++- .github/workflows/maven-verify.yml | 61 +++++++++++++++++++++++-- 2 files changed, 82 insertions(+), 6 deletions(-) diff --git a/.github/workflows/maven-verify-test.yml b/.github/workflows/maven-verify-test.yml index 3cd11dd..5945c6d 100644 --- a/.github/workflows/maven-verify-test.yml +++ b/.github/workflows/maven-verify-test.yml @@ -21,12 +21,14 @@ on: [ push, pull_request ] jobs: + # default config verify-1: name: Verify 1 uses: ./.github/workflows/maven-verify.yml + # override fail fast config verify-2: - name: Verify 2 + name: Verify 2 - fail fast config uses: ./.github/workflows/maven-verify.yml needs: verify-1 with: @@ -35,4 +37,25 @@ jobs: ff-jdk: '21' verify-goal: clean install verify-fail-fast: false - maven-matrix: '[ "3.9.6", "3.8.8", "3.6.3" ]' + maven-matrix: '[ "3.9.7", "3.8.8", "3.6.3" ]' + + # test with Maven 4 + verify-3: + name: Verify 3 - with Maven 4 + uses: ./.github/workflows/maven-verify.yml + needs: verify-2 + with: + maven4-enabled: true + ff-site-run: false + ff-goal: verify + verify-goal: verify + + # test with Maven 4 without fail fast job + verify-4: + name: Verify 4 - with Maven 4 - no ff job + uses: ./.github/workflows/maven-verify.yml + needs: verify-3 + with: + maven4-enabled: true + ff-run: false + verify-goal: verify diff --git a/.github/workflows/maven-verify.yml b/.github/workflows/maven-verify.yml index b8a2cca..8069181 100644 --- a/.github/workflows/maven-verify.yml +++ b/.github/workflows/maven-verify.yml @@ -50,6 +50,18 @@ on: default: '[ "3.6.3", "3.9.7" ]' type: string + maven4-verison: + description: The Maven 4.x version matrix + required: false + default: '4.0.0-beta-3' + type: string + + maven4-enabled: + description: Determinate if use Maven 4 in build matrix + required: false + default: false + type: boolean + matrix-include: description: include for matrix as json required: false @@ -227,12 +239,53 @@ jobs: - name: Clean Ensuring no file handle remains open on windows run: ./mvnw clean --errors --batch-mode --show-version - verify: + # prepare matrix data for verify step + setup-matrix: + runs-on: "ubuntu-latest" needs: fail-fast-build + if: always() && ( !inputs.ff-run || needs.fail-fast-build.result == 'success' ) + outputs: + maven: ${{ steps.maven.outputs.matrix }} + exclude: ${{ steps.exclude.outputs.matrix }} + + steps: + - id: maven + name: setup Maven matrix + run: | + { + echo 'matrix<> "$GITHUB_OUTPUT" + + cat "$GITHUB_OUTPUT" + + - id: exclude + name: setup exclude matrix + run: | + { + echo 'matrix<> "$GITHUB_OUTPUT" + + cat "$GITHUB_OUTPUT" + + + verify: + needs: setup-matrix name: ${{ matrix.os }} jdk-${{ matrix.jdk }}-${{ matrix.distribution }} ${{ matrix.maven }} timeout-minutes: ${{ inputs.timeout-minutes }} runs-on: ${{ matrix.os }} - if: always() && ( !inputs.ff-run || needs.fail-fast-build.result == 'success' ) + if: always() && ( !inputs.ff-run || needs.setup-matrix.result == 'success' ) strategy: fail-fast: ${{ inputs.verify-fail-fast }} @@ -240,9 +293,9 @@ jobs: os: ${{ fromJSON( inputs.os-matrix ) }} jdk: ${{ fromJSON( inputs.jdk-matrix ) }} distribution: ${{ fromJSON( inputs.jdk-distribution-matrix ) }} - maven: ${{ fromJSON( inputs.maven-matrix ) }} + maven: ${{ fromJSON( needs.setup-matrix.outputs.maven ) }} include: ${{ fromJSON( inputs.matrix-include ) }} - exclude: ${{ fromJSON( inputs.matrix-exclude ) }} + exclude: ${{ fromJSON( needs.setup-matrix.outputs.exclude ) }} max-parallel: ${{ inputs.max-parallel }} steps: From 1b94f7a49c14dd2c1721d522ed3d0f1d994d0b07 Mon Sep 17 00:00:00 2001 From: Slawomir Jaranowski Date: Mon, 3 Jun 2024 18:28:43 +0200 Subject: [PATCH 07/74] Add support for Maven 4 - fix misspell --- .github/workflows/maven-verify.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/maven-verify.yml b/.github/workflows/maven-verify.yml index 8069181..12e763a 100644 --- a/.github/workflows/maven-verify.yml +++ b/.github/workflows/maven-verify.yml @@ -50,7 +50,7 @@ on: default: '[ "3.6.3", "3.9.7" ]' type: string - maven4-verison: + maven4-version: description: The Maven 4.x version matrix required: false default: '4.0.0-beta-3' @@ -255,7 +255,7 @@ jobs: { echo 'matrix< Date: Fri, 21 Jun 2024 22:11:39 +0200 Subject: [PATCH 08/74] Use Maven 3.9.8 for build --- .github/workflows/maven-verify-test.yml | 2 +- .github/workflows/maven-verify.yml | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/maven-verify-test.yml b/.github/workflows/maven-verify-test.yml index 5945c6d..deab43f 100644 --- a/.github/workflows/maven-verify-test.yml +++ b/.github/workflows/maven-verify-test.yml @@ -37,7 +37,7 @@ jobs: ff-jdk: '21' verify-goal: clean install verify-fail-fast: false - maven-matrix: '[ "3.9.7", "3.8.8", "3.6.3" ]' + maven-matrix: '[ "3.9.8", "3.8.8", "3.6.3" ]' # test with Maven 4 verify-3: diff --git a/.github/workflows/maven-verify.yml b/.github/workflows/maven-verify.yml index 12e763a..5e921cb 100644 --- a/.github/workflows/maven-verify.yml +++ b/.github/workflows/maven-verify.yml @@ -47,7 +47,7 @@ on: maven-matrix: description: The Maven version matrix as json array required: false - default: '[ "3.6.3", "3.9.7" ]' + default: '[ "3.6.3", "3.9.8" ]' type: string maven4-version: @@ -102,7 +102,7 @@ on: ff-maven: description: The Maven version used during fail-fast-build job required: false - default: '3.9.7' + default: '3.9.8' type: string ff-jdk: From acda838f5234a6638700abfccdc39a61bada19c5 Mon Sep 17 00:00:00 2001 From: Slawomir Jaranowski Date: Wed, 3 Jul 2024 00:02:10 +0200 Subject: [PATCH 09/74] Allow to disable matrix build --- .github/workflows/maven-verify-test.yml | 9 +++++++++ .github/workflows/maven-verify.yml | 8 +++++++- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/.github/workflows/maven-verify-test.yml b/.github/workflows/maven-verify-test.yml index deab43f..8a1ada7 100644 --- a/.github/workflows/maven-verify-test.yml +++ b/.github/workflows/maven-verify-test.yml @@ -59,3 +59,12 @@ jobs: maven4-enabled: true ff-run: false verify-goal: verify + + # test only fail fast job + verify-5: + name: Verify 5 - disable matrix build + uses: ./.github/workflows/maven-verify.yml + needs: verify-4 + with: + ff-site-run: false + matrix-enabled: false diff --git a/.github/workflows/maven-verify.yml b/.github/workflows/maven-verify.yml index 5e921cb..ad8bec7 100644 --- a/.github/workflows/maven-verify.yml +++ b/.github/workflows/maven-verify.yml @@ -74,6 +74,12 @@ on: default: '[]' type: string + matrix-enabled: + description: Determinate if use matrix build + required: false + default: true + type: boolean + max-parallel: description: max parallel jobs required: false @@ -243,7 +249,7 @@ jobs: setup-matrix: runs-on: "ubuntu-latest" needs: fail-fast-build - if: always() && ( !inputs.ff-run || needs.fail-fast-build.result == 'success' ) + if: always() && inputs.matrix-enabled && ( !inputs.ff-run || needs.fail-fast-build.result == 'success' ) outputs: maven: ${{ steps.maven.outputs.matrix }} exclude: ${{ steps.exclude.outputs.matrix }} From c768c54cf48e9ac9b80492661e729b7fa1d69579 Mon Sep 17 00:00:00 2001 From: Sylwester Lachiewicz Date: Sun, 18 Aug 2024 16:59:21 +0200 Subject: [PATCH 10/74] Bump Maven to 3.9.9 --- .github/workflows/maven-verify-test.yml | 2 +- .github/workflows/maven-verify.yml | 14 +++++++------- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/.github/workflows/maven-verify-test.yml b/.github/workflows/maven-verify-test.yml index 8a1ada7..744718e 100644 --- a/.github/workflows/maven-verify-test.yml +++ b/.github/workflows/maven-verify-test.yml @@ -37,7 +37,7 @@ jobs: ff-jdk: '21' verify-goal: clean install verify-fail-fast: false - maven-matrix: '[ "3.9.8", "3.8.8", "3.6.3" ]' + maven-matrix: '[ "3.9.9", "3.8.8", "3.6.3" ]' # test with Maven 4 verify-3: diff --git a/.github/workflows/maven-verify.yml b/.github/workflows/maven-verify.yml index ad8bec7..8842678 100644 --- a/.github/workflows/maven-verify.yml +++ b/.github/workflows/maven-verify.yml @@ -47,7 +47,7 @@ on: maven-matrix: description: The Maven version matrix as json array required: false - default: '[ "3.6.3", "3.9.8" ]' + default: '[ "3.6.3", "3.9.9" ]' type: string maven4-version: @@ -108,7 +108,7 @@ on: ff-maven: description: The Maven version used during fail-fast-build job required: false - default: '3.9.8' + default: '3.9.9' type: string ff-jdk: @@ -263,11 +263,11 @@ jobs: if [ "${{ inputs.maven4-enabled }}" = "true" ]; then echo '${{ inputs.maven-matrix }}' | jq -c '. + ["${{ inputs.maven4-version }}"]' else - echo '${{ inputs.maven-matrix }}' + echo '${{ inputs.maven-matrix }}' fi echo 'EOF' } >> "$GITHUB_OUTPUT" - + cat "$GITHUB_OUTPUT" - id: exclude @@ -278,13 +278,13 @@ jobs: if [ "${{ inputs.maven4-enabled }}" = "true" ]; then echo '${{ inputs.matrix-exclude }}' | jq -c '. + [{"jdk": "8", "maven": "${{ inputs.maven4-version }}"}]' else - echo '${{ inputs.matrix-exclude }}' + echo '${{ inputs.matrix-exclude }}' fi echo 'EOF' } >> "$GITHUB_OUTPUT" - + cat "$GITHUB_OUTPUT" - + verify: needs: setup-matrix From 621c2dec67d62317558e6aac2276c115cb9dba50 Mon Sep 17 00:00:00 2001 From: Slawomir Jaranowski Date: Sun, 22 Sep 2024 21:24:50 +0200 Subject: [PATCH 11/74] Retry clean on error --- .github/workflows/maven-verify.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/maven-verify.yml b/.github/workflows/maven-verify.yml index 8842678..4dcb044 100644 --- a/.github/workflows/maven-verify.yml +++ b/.github/workflows/maven-verify.yml @@ -243,7 +243,7 @@ jobs: shell: bash - name: Clean Ensuring no file handle remains open on windows - run: ./mvnw clean --errors --batch-mode --show-version + run: ./mvnw clean --errors --batch-mode --show-version "-Dmaven.clean.retryOnError" # prepare matrix data for verify step setup-matrix: @@ -385,4 +385,4 @@ jobs: - name: Clean Ensuring no file handle remains open on windows if: steps.should-run.conclusion == 'success' - run: ./mvnw clean --errors --batch-mode --show-version + run: ./mvnw clean --errors --batch-mode --show-version "-Dmaven.clean.retryOnError" From 66a5c33929ce9440a09218e57ac194ecde39d8a5 Mon Sep 17 00:00:00 2001 From: Slawomir Jaranowski Date: Sun, 22 Sep 2024 21:49:00 +0200 Subject: [PATCH 12/74] Bump Maven 4 from 4.0.0-beta-3 ot 4.0.0-beta-4 --- .github/workflows/maven-verify.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/maven-verify.yml b/.github/workflows/maven-verify.yml index 4dcb044..73a9109 100644 --- a/.github/workflows/maven-verify.yml +++ b/.github/workflows/maven-verify.yml @@ -53,7 +53,7 @@ on: maven4-version: description: The Maven 4.x version matrix required: false - default: '4.0.0-beta-3' + default: '4.0.0-beta-4' type: string maven4-enabled: From 45d1ebcaeb615424e8c6133d98ba538c303756bb Mon Sep 17 00:00:00 2001 From: Marcono1234 Date: Fri, 19 Jul 2024 00:16:18 +0200 Subject: [PATCH 13/74] Replace `if: always()` to allow canceling workflow --- .github/workflows/maven-verify.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/maven-verify.yml b/.github/workflows/maven-verify.yml index 73a9109..2bd1ddb 100644 --- a/.github/workflows/maven-verify.yml +++ b/.github/workflows/maven-verify.yml @@ -238,7 +238,7 @@ jobs: path: ${{ inputs.failure-upload-path }} - name: Show free disk space - if: always() + if: (!cancelled()) run: df -h shell: bash @@ -249,7 +249,7 @@ jobs: setup-matrix: runs-on: "ubuntu-latest" needs: fail-fast-build - if: always() && inputs.matrix-enabled && ( !inputs.ff-run || needs.fail-fast-build.result == 'success' ) + if: (!cancelled()) && inputs.matrix-enabled && ( !inputs.ff-run || needs.fail-fast-build.result == 'success' ) outputs: maven: ${{ steps.maven.outputs.matrix }} exclude: ${{ steps.exclude.outputs.matrix }} @@ -291,7 +291,7 @@ jobs: name: ${{ matrix.os }} jdk-${{ matrix.jdk }}-${{ matrix.distribution }} ${{ matrix.maven }} timeout-minutes: ${{ inputs.timeout-minutes }} runs-on: ${{ matrix.os }} - if: always() && ( !inputs.ff-run || needs.setup-matrix.result == 'success' ) + if: (!cancelled()) && ( !inputs.ff-run || needs.setup-matrix.result == 'success' ) strategy: fail-fast: ${{ inputs.verify-fail-fast }} @@ -379,7 +379,7 @@ jobs: path: ${{ inputs.failure-upload-path }} - name: Show free disk space - if: steps.should-run.conclusion == 'success' && always() + if: steps.should-run.conclusion == 'success' && !cancelled() run: df -h shell: bash From 8a48d938cccd162492f0d3b459785badf9c65f05 Mon Sep 17 00:00:00 2001 From: Sylwester Lachiewicz Date: Thu, 28 Nov 2024 22:01:40 +0100 Subject: [PATCH 14/74] Update Maven4 to 4.0.0-rc-1 --- .github/workflows/maven-verify.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/maven-verify.yml b/.github/workflows/maven-verify.yml index 2bd1ddb..39b039d 100644 --- a/.github/workflows/maven-verify.yml +++ b/.github/workflows/maven-verify.yml @@ -53,7 +53,7 @@ on: maven4-version: description: The Maven 4.x version matrix required: false - default: '4.0.0-beta-4' + default: '4.0.0-rc-1' type: string maven4-enabled: From 58b726d378314f91c7c78e07cd755dd650dbc12a Mon Sep 17 00:00:00 2001 From: Slawomir Jaranowski Date: Mon, 23 Dec 2024 00:07:11 +0100 Subject: [PATCH 15/74] PR Automation - first step --- .github/workflows/pr-automation.yml | 165 ++++++++++++++++++++++++++++ 1 file changed, 165 insertions(+) create mode 100644 .github/workflows/pr-automation.yml diff --git a/.github/workflows/pr-automation.yml b/.github/workflows/pr-automation.yml new file mode 100644 index 0000000..6fa030f --- /dev/null +++ b/.github/workflows/pr-automation.yml @@ -0,0 +1,165 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +name: PR Automation +on: + workflow_call: + inputs: + default-label: + description: The default label to add to PR + required: false + default: 'maintenance' + type: string + +# To use we need: +# +# on: +# pull_request: +# types: +# - closed +# - unlabeled +# - demilestoned +# pull_request_review: +# types: +# - submitted +#jobs: +# pr-automation: +# name: PR Automation +# uses: apache/maven-gh-actions-shared/.github/workflows/pr-automation.yml@v4 + + + +# allow single build per branch or PR +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +# clare all permissions for GITHUB_TOKEN +permissions: {} + +jobs: + # read current PR approval status + review-decision: + if: github.event.pull_request.draft == false + runs-on: ubuntu-latest + outputs: + approved: ${{ steps.review-decision.outputs.result }} + + steps: + - name: Get Review decision + id: review-decision + uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7 + with: + result-encoding: string + script: | + const query = `query($owner:String!, $name:String!, $number:Int!) { + repository(name: $name, owner: $owner) { + pullRequest(number: $number) { + reviewDecision, merged + } + } + }`; + + const variables = { + owner: context.repo.owner, + name: context.repo.repo, + number: context.issue.number + } + + const result = await github.graphql(query, variables) + console.log(result) + + return result.repository.pullRequest.reviewDecision == 'APPROVED' || result.repository.pullRequest.merged + - name: Result + run: echo "${{ steps.review-decision.outputs.result }}" + + # check PR milestone - if not set - update with current opened milestone + milestone: + permissions: + issues: write + pull-requests: write + + needs: review-decision + if: ( needs.review-decision.outputs.approved || github.event.action == 'demilestoned' ) && !github.event.pull_request.milestone + runs-on: ubuntu-latest + steps: + - name: Update milestone + uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7 + with: + script: | + const milestones = await github.rest.issues.listMilestones({ + owner: context.repo.owner, + repo: context.repo.repo, + state: 'open' + }); + + console.log(milestones); + + if ( milestones.data.length == 0 ) { + throw new Error('There are no open milestones ... please create one') + } + + if ( milestones.data.length > 1 ) { + throw new Error('There are more then oen open milestones ... please choose manually') + } + + console.log('Set milestone to: ' + milestones.data[0].title); + + const result = await github.rest.issues.update({ + owner: context.repo.owner, + repo: context.repo.repo, + issue_number: context.issue.number, + milestone: milestones.data[0].number + }); + + console.log(result); + + # check PR labels - if is empty list add one default + labels: + permissions: + issues: write + pull-requests: write + + needs: review-decision + if: ( needs.review-decision.outputs.approved || github.event.action == 'unlabeled' ) && toJSON(github.event.pull_request.labels) == '[]' + runs-on: ubuntu-latest + steps: + + - name: Set default label + uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7 + env: + DEFAULT_LABEL: ${{ inputs.default-label }} + with: + script: | + + console.log(context.issue.labels); + + if ( !context.issue.labels?.length ) { + + if ( !process.env.DEFAULT_LABEL ) { + throw new ERROR('There are no labels on PR and default label is not set'); + } + + const result = await github.rest.issues.update({ + owner: context.repo.owner, + repo: context.repo.repo, + issue_number: context.issue.number, + labels: [ process.env.DEFAULT_LABEL ] + }); + + console.log(result); + } From 809257e365796ac46de7908e098cc06583dbf788 Mon Sep 17 00:00:00 2001 From: Slawomir Jaranowski Date: Mon, 23 Dec 2024 09:18:42 +0100 Subject: [PATCH 16/74] Pin action versions by hash --- .github/workflows/maven-verify.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/workflows/maven-verify.yml b/.github/workflows/maven-verify.yml index 39b039d..394e5b0 100644 --- a/.github/workflows/maven-verify.yml +++ b/.github/workflows/maven-verify.yml @@ -200,12 +200,12 @@ jobs: shell: bash - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 with: persist-credentials: false - name: Set up JDK - uses: actions/setup-java@v4 + uses: actions/setup-java@7a6d8a8234af8eb26422e24e3006232cccaa061b # v4 with: java-version: ${{ inputs.ff-jdk }} distribution: ${{ inputs.ff-jdk-distribution }} @@ -223,7 +223,7 @@ jobs: if: inputs.ff-site-run - name: Upload Maven Site - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@6f51ac03b9356f520e9adb1b1b7802705f340c2b # v4 if: inputs.ff-site-run with: name: ${{ github.run_number }}-site-${{ inputs.ff-os }}-${{ inputs.ff-jdk }}-${{ inputs.ff-jdk-distribution }} @@ -231,7 +231,7 @@ jobs: target/staging/** - name: Upload artifact on failure - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@6f51ac03b9356f520e9adb1b1b7802705f340c2b # v4 if: failure() && inputs.failure-upload-path != '' with: name: ${{ github.run_number }}-failure-${{ inputs.ff-os }}-${{ inputs.ff-jdk }}-${{ inputs.ff-jdk-distribution }} @@ -351,13 +351,13 @@ jobs: - name: Checkout if: steps.should-run.conclusion == 'success' - uses: actions/checkout@v4 + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 with: persist-credentials: false - name: Set up JDK if: steps.should-run.conclusion == 'success' - uses: actions/setup-java@v4 + uses: actions/setup-java@7a6d8a8234af8eb26422e24e3006232cccaa061b # v4 with: java-version: ${{ matrix.jdk }} distribution: ${{ matrix.distribution }} @@ -372,7 +372,7 @@ jobs: run: ./mvnw --errors --batch-mode --show-version ${{ inputs.maven-args }} ${{ inputs.verify-goal }} - name: Upload artifact on failure - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@6f51ac03b9356f520e9adb1b1b7802705f340c2b # v4 if: steps.should-run.conclusion == 'success' && failure() && inputs.failure-upload-path != '' with: name: ${{ github.run_number }}-failure-${{ matrix.os }}-${{ matrix.jdk }}-${{ matrix.distribution }} From 5d28b1293cc6c5edb5395c80011e6a9c1b96acda Mon Sep 17 00:00:00 2001 From: Sylwester Lachiewicz Date: Wed, 25 Dec 2024 00:41:37 +0100 Subject: [PATCH 17/74] Bump Maven 4.x to rc2 --- .github/workflows/maven-verify.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/maven-verify.yml b/.github/workflows/maven-verify.yml index 394e5b0..5821616 100644 --- a/.github/workflows/maven-verify.yml +++ b/.github/workflows/maven-verify.yml @@ -53,7 +53,7 @@ on: maven4-version: description: The Maven 4.x version matrix required: false - default: '4.0.0-rc-1' + default: '4.0.0-rc-2' type: string maven4-enabled: From 3cb0baecf2370ff5f4d79f0af953bc983bfa5137 Mon Sep 17 00:00:00 2001 From: Slawomir Jaranowski Date: Wed, 25 Dec 2024 14:57:18 +0100 Subject: [PATCH 18/74] Pull Request Automation - dump GitHub context can be useful for diagnostics --- .github/workflows/pr-automation.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/workflows/pr-automation.yml b/.github/workflows/pr-automation.yml index 6fa030f..da21c5c 100644 --- a/.github/workflows/pr-automation.yml +++ b/.github/workflows/pr-automation.yml @@ -60,6 +60,11 @@ jobs: approved: ${{ steps.review-decision.outputs.result }} steps: + - name: Dump GitHub context + env: + GITHUB_CONTEXT: ${{ toJson(github) }} + run: echo "$GITHUB_CONTEXT" + - name: Get Review decision id: review-decision uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7 From 6c19fe5cd2044b2d6914931a5024729f6c9b2d00 Mon Sep 17 00:00:00 2001 From: Slawomir Jaranowski Date: Wed, 25 Dec 2024 18:00:48 +0100 Subject: [PATCH 19/74] Pull Request Automation - compare approved as string --- .github/workflows/pr-automation.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/pr-automation.yml b/.github/workflows/pr-automation.yml index da21c5c..2c5770f 100644 --- a/.github/workflows/pr-automation.yml +++ b/.github/workflows/pr-automation.yml @@ -99,7 +99,7 @@ jobs: pull-requests: write needs: review-decision - if: ( needs.review-decision.outputs.approved || github.event.action == 'demilestoned' ) && !github.event.pull_request.milestone + if: ( needs.review-decision.outputs.approved == 'true' || github.event.action == 'demilestoned' ) && !github.event.pull_request.milestone runs-on: ubuntu-latest steps: - name: Update milestone @@ -140,7 +140,7 @@ jobs: pull-requests: write needs: review-decision - if: ( needs.review-decision.outputs.approved || github.event.action == 'unlabeled' ) && toJSON(github.event.pull_request.labels) == '[]' + if: ( needs.review-decision.outputs.approved == 'true' || github.event.action == 'unlabeled' ) && toJSON(github.event.pull_request.labels) == '[]' runs-on: ubuntu-latest steps: From 7189987506476eff811bc08585d3dca97ed1a140 Mon Sep 17 00:00:00 2001 From: Slawomir Jaranowski Date: Wed, 25 Dec 2024 23:25:35 +0100 Subject: [PATCH 20/74] PR Automation - check demilestoned and unlabeled only for open --- .github/workflows/pr-automation.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/pr-automation.yml b/.github/workflows/pr-automation.yml index 2c5770f..b81d530 100644 --- a/.github/workflows/pr-automation.yml +++ b/.github/workflows/pr-automation.yml @@ -99,7 +99,7 @@ jobs: pull-requests: write needs: review-decision - if: ( needs.review-decision.outputs.approved == 'true' || github.event.action == 'demilestoned' ) && !github.event.pull_request.milestone + if: (needs.review-decision.outputs.approved == 'true' || (github.event.action == 'demilestoned' && github.event.pull_request.state == 'open')) && !github.event.pull_request.milestone runs-on: ubuntu-latest steps: - name: Update milestone @@ -140,7 +140,7 @@ jobs: pull-requests: write needs: review-decision - if: ( needs.review-decision.outputs.approved == 'true' || github.event.action == 'unlabeled' ) && toJSON(github.event.pull_request.labels) == '[]' + if: (needs.review-decision.outputs.approved == 'true' || (github.event.action == 'unlabeled' && github.event.pull_request.state == 'open')) && toJSON(github.event.pull_request.labels) == '[]' runs-on: ubuntu-latest steps: From d5cf44c7c0897b0611003adc1c20f00ce63c5ca9 Mon Sep 17 00:00:00 2001 From: Sylwester Lachiewicz Date: Thu, 26 Dec 2024 12:48:22 +0100 Subject: [PATCH 21/74] Install Subversion client on Linux runners Required for Maven Wagon tests --- .github/workflows/maven-verify.yml | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/.github/workflows/maven-verify.yml b/.github/workflows/maven-verify.yml index 5821616..7129d0f 100644 --- a/.github/workflows/maven-verify.yml +++ b/.github/workflows/maven-verify.yml @@ -170,6 +170,12 @@ on: default: false type: boolean + install-subversion: + description: Ensure all build images have Subversion(svn) installed + required: false + default: false + type: boolean + install-gpg: description: Ensure all build images have GnuPG installed required: false @@ -327,6 +333,14 @@ jobs: run: | brew install mercurial + - name: Install Subversion (svn) on Ubuntu + if: > + inputs.install-subversion && + steps.should-run.conclusion == 'success' && + matrix.os == 'ubuntu-latest' + run: | + apt install subversion + - name: Install GnuPG if: > inputs.install-gpg && From 0b4a91bd63e20a6a796fac69825cc1441c657272 Mon Sep 17 00:00:00 2001 From: Sylwester Lachiewicz Date: Thu, 26 Dec 2024 15:56:20 +0100 Subject: [PATCH 22/74] Try with runner.os instead of matrix.os --- .github/workflows/maven-verify.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/maven-verify.yml b/.github/workflows/maven-verify.yml index 7129d0f..d0eb6b8 100644 --- a/.github/workflows/maven-verify.yml +++ b/.github/workflows/maven-verify.yml @@ -337,7 +337,7 @@ jobs: if: > inputs.install-subversion && steps.should-run.conclusion == 'success' && - matrix.os == 'ubuntu-latest' + runner.os == 'Linux' run: | apt install subversion From f1eb29c577e23ad1e3fdde7dd6bd8be84ffe26b9 Mon Sep 17 00:00:00 2001 From: Sylwester Lachiewicz Date: Thu, 26 Dec 2024 16:14:59 +0100 Subject: [PATCH 23/74] We need svn in ff step --- .github/workflows/maven-verify.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/maven-verify.yml b/.github/workflows/maven-verify.yml index d0eb6b8..0e8ae20 100644 --- a/.github/workflows/maven-verify.yml +++ b/.github/workflows/maven-verify.yml @@ -201,6 +201,10 @@ jobs: if: inputs.ff-run && ( github.event_name == 'push' || ( github.event_name == 'pull_request' && github.event.pull_request.head.repo.fork ) ) steps: + - name: Install Subversion (svn) on Ubuntu + if: inputs.install-subversion && runner.os == 'Linux' + run: apt install subversion + - name: Show free disk space run: df -h shell: bash From 449b3d2c43a7eac161c4f837612f8df23e6609ca Mon Sep 17 00:00:00 2001 From: Sylwester Lachiewicz Date: Thu, 26 Dec 2024 16:18:36 +0100 Subject: [PATCH 24/74] sudo --- .github/workflows/maven-verify.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/maven-verify.yml b/.github/workflows/maven-verify.yml index 0e8ae20..1d40c12 100644 --- a/.github/workflows/maven-verify.yml +++ b/.github/workflows/maven-verify.yml @@ -203,7 +203,7 @@ jobs: steps: - name: Install Subversion (svn) on Ubuntu if: inputs.install-subversion && runner.os == 'Linux' - run: apt install subversion + run: sudo apt install subversion - name: Show free disk space run: df -h From f269765d142599929d888a878d391f1c2608b037 Mon Sep 17 00:00:00 2001 From: Sylwester Lachiewicz Date: Thu, 26 Dec 2024 16:33:41 +0100 Subject: [PATCH 25/74] sudo --- .github/workflows/maven-verify.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/maven-verify.yml b/.github/workflows/maven-verify.yml index 1d40c12..d485d63 100644 --- a/.github/workflows/maven-verify.yml +++ b/.github/workflows/maven-verify.yml @@ -343,7 +343,7 @@ jobs: steps.should-run.conclusion == 'success' && runner.os == 'Linux' run: | - apt install subversion + sudo apt install subversion - name: Install GnuPG if: > From f669917b7b6a57484a46a3569ec79ddba7d1087e Mon Sep 17 00:00:00 2001 From: Sylwester Lachiewicz Date: Thu, 26 Dec 2024 17:31:37 +0100 Subject: [PATCH 26/74] More subversion installations - needs some cleanup More subversion installations - needs some cleanup --- .github/workflows/maven-verify.yml | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/.github/workflows/maven-verify.yml b/.github/workflows/maven-verify.yml index d485d63..140a87e 100644 --- a/.github/workflows/maven-verify.yml +++ b/.github/workflows/maven-verify.yml @@ -201,10 +201,14 @@ jobs: if: inputs.ff-run && ( github.event_name == 'push' || ( github.event_name == 'pull_request' && github.event.pull_request.head.repo.fork ) ) steps: - - name: Install Subversion (svn) on Ubuntu + - name: Install Subversion on Ubuntu if: inputs.install-subversion && runner.os == 'Linux' run: sudo apt install subversion + - name: Install Subversion on MacOS + if: inputs.install-subversion && runner.os == 'MacOS' + run: brew install subversion + - name: Show free disk space run: df -h shell: bash @@ -337,7 +341,7 @@ jobs: run: | brew install mercurial - - name: Install Subversion (svn) on Ubuntu + - name: Install Subversion on Ubuntu if: > inputs.install-subversion && steps.should-run.conclusion == 'success' && @@ -345,6 +349,14 @@ jobs: run: | sudo apt install subversion + - name: Install Subversion on MacOS + if: > + inputs.install-subversion && + steps.should-run.conclusion == 'success' && + runner.os == 'MacOS' + run: | + brew install subversion + - name: Install GnuPG if: > inputs.install-gpg && From b9e2c081fcd72486a6e8204cbbd84f329ea96074 Mon Sep 17 00:00:00 2001 From: Slawomir Jaranowski Date: Thu, 26 Dec 2024 22:08:53 +0100 Subject: [PATCH 27/74] PR Automation - use pull_request_target in example --- .github/workflows/pr-automation.yml | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/.github/workflows/pr-automation.yml b/.github/workflows/pr-automation.yml index b81d530..23481cd 100644 --- a/.github/workflows/pr-automation.yml +++ b/.github/workflows/pr-automation.yml @@ -28,14 +28,12 @@ on: # To use we need: # # on: -# pull_request: +# pull_request_target: # types: # - closed # - unlabeled # - demilestoned -# pull_request_review: -# types: -# - submitted +# #jobs: # pr-automation: # name: PR Automation From 02852f27ae7f824fa2946e55c5e9fc0441abca6b Mon Sep 17 00:00:00 2001 From: Slawomir Jaranowski Date: Mon, 30 Dec 2024 10:47:54 +0100 Subject: [PATCH 28/74] PR Automation - drop outdated comment --- .github/workflows/pr-automation.yml | 16 ---------------- 1 file changed, 16 deletions(-) diff --git a/.github/workflows/pr-automation.yml b/.github/workflows/pr-automation.yml index 23481cd..53de48d 100644 --- a/.github/workflows/pr-automation.yml +++ b/.github/workflows/pr-automation.yml @@ -25,22 +25,6 @@ on: default: 'maintenance' type: string -# To use we need: -# -# on: -# pull_request_target: -# types: -# - closed -# - unlabeled -# - demilestoned -# -#jobs: -# pr-automation: -# name: PR Automation -# uses: apache/maven-gh-actions-shared/.github/workflows/pr-automation.yml@v4 - - - # allow single build per branch or PR concurrency: group: ${{ github.workflow }}-${{ github.ref }} From 55b48f5241db7e46bcbe5fb5b8b925ece7c41f63 Mon Sep 17 00:00:00 2001 From: Slawomir Jaranowski Date: Mon, 6 Jan 2025 23:49:41 +0100 Subject: [PATCH 29/74] Allow to pass config-name for release-drafter needed for multi-branch releases --- .github/workflows/release-drafter.yml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/.github/workflows/release-drafter.yml b/.github/workflows/release-drafter.yml index 79c8309..f432881 100644 --- a/.github/workflows/release-drafter.yml +++ b/.github/workflows/release-drafter.yml @@ -20,6 +20,14 @@ name: Release Drafter on: workflow_call: + inputs: + config-name: + description: | + If your workflow requires multiple release-drafter configs it be helpful to override the config-name. + The config should still be located inside `.github` as that's where we are looking for config files. + required: false + type: string + default: 'release-drafter.yml' jobs: update_release_draft: @@ -29,5 +37,7 @@ jobs: runs-on: ubuntu-latest steps: - uses: release-drafter/release-drafter@3f0f87098bd6b5c5b9a36d49c41d998ea58f9348 # v6 + with: + config-name: ${{ inputs.config-name }} env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} From 01cbef79a8d34bb8f07ae1e9ea1ce1e9351ea8cf Mon Sep 17 00:00:00 2001 From: Slawomir Jaranowski Date: Tue, 7 Jan 2025 23:37:27 +0100 Subject: [PATCH 30/74] PR Automation allow assign milestone to branch There are projects that we have multiple branches under maintenance --- .github/workflows/pr-automation.yml | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/.github/workflows/pr-automation.yml b/.github/workflows/pr-automation.yml index 53de48d..aab56a9 100644 --- a/.github/workflows/pr-automation.yml +++ b/.github/workflows/pr-automation.yml @@ -95,22 +95,29 @@ jobs: }); console.log(milestones); + const branch = context.payload.pull_request.base.ref - if ( milestones.data.length == 0 ) { + if (milestones.data.length == 0) { throw new Error('There are no open milestones ... please create one') } - if ( milestones.data.length > 1 ) { - throw new Error('There are more then oen open milestones ... please choose manually') + var milestone; + if (milestones.data.length > 1) { + milestone = milestones.data.find(({description}) => description.includes('branch: ' + branch)); + if (!milestone) { + throw new Error('There are more then oen open milestones ... please add a "branch: ' + branch + '" to description in one milestone'); + } + } else { + milestone = milestones.data[0]; } - console.log('Set milestone to: ' + milestones.data[0].title); + console.log('Set milestone to: ' + milestone.title); const result = await github.rest.issues.update({ owner: context.repo.owner, repo: context.repo.repo, issue_number: context.issue.number, - milestone: milestones.data[0].number + milestone: milestone.number }); console.log(result); From 1a625116c666fc97f563bfb52e9ec88e8c8cc762 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 10 Jan 2025 03:03:31 +0000 Subject: [PATCH 31/74] Bump actions/upload-artifact from 4.5.0 to 4.6.0 Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4.5.0 to 4.6.0. - [Release notes](https://github.com/actions/upload-artifact/releases) - [Commits](https://github.com/actions/upload-artifact/compare/6f51ac03b9356f520e9adb1b1b7802705f340c2b...65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08) --- updated-dependencies: - dependency-name: actions/upload-artifact dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- .github/workflows/maven-verify.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/maven-verify.yml b/.github/workflows/maven-verify.yml index 140a87e..fbbd6cb 100644 --- a/.github/workflows/maven-verify.yml +++ b/.github/workflows/maven-verify.yml @@ -237,7 +237,7 @@ jobs: if: inputs.ff-site-run - name: Upload Maven Site - uses: actions/upload-artifact@6f51ac03b9356f520e9adb1b1b7802705f340c2b # v4 + uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4 if: inputs.ff-site-run with: name: ${{ github.run_number }}-site-${{ inputs.ff-os }}-${{ inputs.ff-jdk }}-${{ inputs.ff-jdk-distribution }} @@ -245,7 +245,7 @@ jobs: target/staging/** - name: Upload artifact on failure - uses: actions/upload-artifact@6f51ac03b9356f520e9adb1b1b7802705f340c2b # v4 + uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4 if: failure() && inputs.failure-upload-path != '' with: name: ${{ github.run_number }}-failure-${{ inputs.ff-os }}-${{ inputs.ff-jdk }}-${{ inputs.ff-jdk-distribution }} @@ -402,7 +402,7 @@ jobs: run: ./mvnw --errors --batch-mode --show-version ${{ inputs.maven-args }} ${{ inputs.verify-goal }} - name: Upload artifact on failure - uses: actions/upload-artifact@6f51ac03b9356f520e9adb1b1b7802705f340c2b # v4 + uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4 if: steps.should-run.conclusion == 'success' && failure() && inputs.failure-upload-path != '' with: name: ${{ github.run_number }}-failure-${{ matrix.os }}-${{ matrix.jdk }}-${{ matrix.distribution }} From ba068bda96f17bacceebf4afcb022bdfd489dc54 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 20 Jan 2025 02:36:02 +0000 Subject: [PATCH 32/74] Bump release-drafter/release-drafter from 6.0.0 to 6.1.0 Bumps [release-drafter/release-drafter](https://github.com/release-drafter/release-drafter) from 6.0.0 to 6.1.0. - [Release notes](https://github.com/release-drafter/release-drafter/releases) - [Commits](https://github.com/release-drafter/release-drafter/compare/3f0f87098bd6b5c5b9a36d49c41d998ea58f9348...b1476f6e6eb133afa41ed8589daba6dc69b4d3f5) --- updated-dependencies: - dependency-name: release-drafter/release-drafter dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- .github/workflows/release-drafter.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release-drafter.yml b/.github/workflows/release-drafter.yml index f432881..188fc1b 100644 --- a/.github/workflows/release-drafter.yml +++ b/.github/workflows/release-drafter.yml @@ -36,7 +36,7 @@ jobs: contents: write runs-on: ubuntu-latest steps: - - uses: release-drafter/release-drafter@3f0f87098bd6b5c5b9a36d49c41d998ea58f9348 # v6 + - uses: release-drafter/release-drafter@b1476f6e6eb133afa41ed8589daba6dc69b4d3f5 # v6 with: config-name: ${{ inputs.config-name }} env: From 59655661e26f8751f11af4b0fbe72bdf47fcda47 Mon Sep 17 00:00:00 2001 From: Slawomir Jaranowski Date: Tue, 28 Jan 2025 23:30:53 +0100 Subject: [PATCH 33/74] Use project version for release-drafter Detecting version based on tags is not always accurate. We can use project version. --- .github/workflows/release-drafter.yml | 39 +++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/.github/workflows/release-drafter.yml b/.github/workflows/release-drafter.yml index 188fc1b..bd69e8b 100644 --- a/.github/workflows/release-drafter.yml +++ b/.github/workflows/release-drafter.yml @@ -29,8 +29,46 @@ on: type: string default: 'release-drafter.yml' +concurrency: release-drafter + jobs: + detect-version: + name: Detect version + runs-on: ubuntu-latest + permissions: {} + outputs: + version: ${{ steps.version.outputs.version }} + + steps: + - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 + with: + persist-credentials: 'false' + + - id: has-pom + run: | + if [ -f pom.xml ]; then + echo "status=true" >> $GITHUB_OUTPUT + fi + cat $GITHUB_OUTPUT + + - uses: actions/setup-java@7a6d8a8234af8eb26422e24e3006232cccaa061b # v4 + if: steps.has-pom.outputs.status == 'true' + with: + java-version: '21' + distribution: 'zulu' + cache: 'maven' + + - id: version + if: steps.has-pom.outputs.status == 'true' + run: | + mvn --batch-mode --non-recursive help:evaluate -Dexpression=project.version -Doutput=target/version.txt + V=$(cat target/version.txt) + echo "version=${V%-SNAPSHOT}" >> $GITHUB_OUTPUT + cat $GITHUB_OUTPUT + update_release_draft: + name: Update Release Draft + needs: detect-version permissions: # write permission is required to create a github release contents: write @@ -39,5 +77,6 @@ jobs: - uses: release-drafter/release-drafter@b1476f6e6eb133afa41ed8589daba6dc69b4d3f5 # v6 with: config-name: ${{ inputs.config-name }} + version: ${{ needs.detect-version.outputs.version }} env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} From 2af3895c4d05a50236d980aa11a4bc7c9e39d1ea Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 30 Jan 2025 02:30:26 +0000 Subject: [PATCH 34/74] Bump actions/setup-java from 4.6.0 to 4.7.0 Bumps [actions/setup-java](https://github.com/actions/setup-java) from 4.6.0 to 4.7.0. - [Release notes](https://github.com/actions/setup-java/releases) - [Commits](https://github.com/actions/setup-java/compare/7a6d8a8234af8eb26422e24e3006232cccaa061b...3a4f6e1af504cf6a31855fa899c6aa5355ba6c12) --- updated-dependencies: - dependency-name: actions/setup-java dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- .github/workflows/maven-verify.yml | 4 ++-- .github/workflows/release-drafter.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/maven-verify.yml b/.github/workflows/maven-verify.yml index fbbd6cb..73ddcc6 100644 --- a/.github/workflows/maven-verify.yml +++ b/.github/workflows/maven-verify.yml @@ -219,7 +219,7 @@ jobs: persist-credentials: false - name: Set up JDK - uses: actions/setup-java@7a6d8a8234af8eb26422e24e3006232cccaa061b # v4 + uses: actions/setup-java@3a4f6e1af504cf6a31855fa899c6aa5355ba6c12 # v4 with: java-version: ${{ inputs.ff-jdk }} distribution: ${{ inputs.ff-jdk-distribution }} @@ -387,7 +387,7 @@ jobs: - name: Set up JDK if: steps.should-run.conclusion == 'success' - uses: actions/setup-java@7a6d8a8234af8eb26422e24e3006232cccaa061b # v4 + uses: actions/setup-java@3a4f6e1af504cf6a31855fa899c6aa5355ba6c12 # v4 with: java-version: ${{ matrix.jdk }} distribution: ${{ matrix.distribution }} diff --git a/.github/workflows/release-drafter.yml b/.github/workflows/release-drafter.yml index bd69e8b..ca3ae52 100644 --- a/.github/workflows/release-drafter.yml +++ b/.github/workflows/release-drafter.yml @@ -51,7 +51,7 @@ jobs: fi cat $GITHUB_OUTPUT - - uses: actions/setup-java@7a6d8a8234af8eb26422e24e3006232cccaa061b # v4 + - uses: actions/setup-java@3a4f6e1af504cf6a31855fa899c6aa5355ba6c12 # v4 if: steps.has-pom.outputs.status == 'true' with: java-version: '21' From 2ac8832fe0bfb839d3f0c459bc46e2a0564be96d Mon Sep 17 00:00:00 2001 From: Slawomir Jaranowski Date: Sat, 1 Feb 2025 14:02:00 +0100 Subject: [PATCH 35/74] Provide current branch for release drafter in action config --- .github/workflows/release-drafter.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/release-drafter.yml b/.github/workflows/release-drafter.yml index ca3ae52..f2a36ff 100644 --- a/.github/workflows/release-drafter.yml +++ b/.github/workflows/release-drafter.yml @@ -78,5 +78,6 @@ jobs: with: config-name: ${{ inputs.config-name }} version: ${{ needs.detect-version.outputs.version }} + commitish: ${{ github.ref }} env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} From a6f293b34f39d012256dc3a19f9140f30b1d6c4f Mon Sep 17 00:00:00 2001 From: Slawomir Jaranowski Date: Tue, 4 Feb 2025 07:44:42 +0100 Subject: [PATCH 36/74] Fix NPE when milestone doesn't have a description fix #133 --- .github/workflows/pr-automation.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/pr-automation.yml b/.github/workflows/pr-automation.yml index aab56a9..5e7b80c 100644 --- a/.github/workflows/pr-automation.yml +++ b/.github/workflows/pr-automation.yml @@ -103,7 +103,7 @@ jobs: var milestone; if (milestones.data.length > 1) { - milestone = milestones.data.find(({description}) => description.includes('branch: ' + branch)); + milestone = milestones.data.find(({description}) => description?.includes('branch: ' + branch)); if (!milestone) { throw new Error('There are more then oen open milestones ... please add a "branch: ' + branch + '" to description in one milestone'); } From 891d0d11e1b0bce696c9887e32fd6eaea3e03829 Mon Sep 17 00:00:00 2001 From: Slawomir Jaranowski Date: Tue, 4 Feb 2025 08:13:46 +0100 Subject: [PATCH 37/74] Build only by Maven 4 --- .github/workflows/maven-verify-test.yml | 12 ++- .github/workflows/maven-verify.yml | 113 ++++++++++++++---------- pom.xml | 6 ++ 3 files changed, 80 insertions(+), 51 deletions(-) diff --git a/.github/workflows/maven-verify-test.yml b/.github/workflows/maven-verify-test.yml index 744718e..c294103 100644 --- a/.github/workflows/maven-verify-test.yml +++ b/.github/workflows/maven-verify-test.yml @@ -47,8 +47,6 @@ jobs: with: maven4-enabled: true ff-site-run: false - ff-goal: verify - verify-goal: verify # test with Maven 4 without fail fast job verify-4: @@ -58,7 +56,6 @@ jobs: with: maven4-enabled: true ff-run: false - verify-goal: verify # test only fail fast job verify-5: @@ -68,3 +65,12 @@ jobs: with: ff-site-run: false matrix-enabled: false + + # test only Maven 4 + verify-6: + name: Verify 6 - Maven4 build + uses: ./.github/workflows/maven-verify.yml + needs: verify-5 + with: + maven4-build: true + ff-site-run: false diff --git a/.github/workflows/maven-verify.yml b/.github/workflows/maven-verify.yml index 73ddcc6..da9d226 100644 --- a/.github/workflows/maven-verify.yml +++ b/.github/workflows/maven-verify.yml @@ -62,6 +62,12 @@ on: default: false type: boolean + maven4-build: + description: Determinate if use only Maven 4 in all builds + required: false + default: false + type: boolean + matrix-include: description: include for matrix as json required: false @@ -192,11 +198,62 @@ permissions: {} jobs: + setup-maven-version: + runs-on: "ubuntu-latest" + outputs: + version: ${{ steps.version.outputs.version }} + maven-matrix: ${{ steps.maven.outputs.matrix }} + exclude-matrix: ${{ steps.exclude.outputs.matrix }} + + steps: + - id: version + name: setup Maven version for ff + run: | + if [ "${{ inputs.maven4-build }}" = "true" ]; then + echo "version=${{ inputs.maven4-version }}" >> $GITHUB_OUTPUT + else + echo "version=${{ inputs.ff-maven }}" >> $GITHUB_OUTPUT + fi + cat $GITHUB_OUTPUT + + - id: maven + name: setup Maven matrix + run: | + { + echo 'matrix<> "$GITHUB_OUTPUT" + + cat "$GITHUB_OUTPUT" + + - id: exclude + name: setup exclude matrix + run: | + { + echo 'matrix<> "$GITHUB_OUTPUT" + + cat "$GITHUB_OUTPUT" + # verify build on one node - before matrix will start fail-fast-build: - name: ${{ inputs.ff-os }} jdk-${{ inputs.ff-jdk }}-${{ inputs.ff-jdk-distribution }} ${{ inputs.ff-maven }} + name: ${{ inputs.ff-os }} jdk-${{ inputs.ff-jdk }}-${{ inputs.ff-jdk-distribution }} ${{ needs.setup-maven-version.outputs.version }} runs-on: ${{ inputs.ff-os }} timeout-minutes: ${{ inputs.ff-timeout-minutes }} + needs: setup-maven-version # execute on any push or pull request from forked repo if: inputs.ff-run && ( github.event_name == 'push' || ( github.event_name == 'pull_request' && github.event.pull_request.head.repo.fork ) ) @@ -227,7 +284,7 @@ jobs: - name: Set up Maven run: - mvn --errors --batch-mode --show-version org.apache.maven.plugins:maven-wrapper-plugin:3.3.2:wrapper "-Dmaven=${{ inputs.ff-maven }}" + mvn --errors --batch-mode --show-version org.apache.maven.plugins:maven-wrapper-plugin:3.3.2:wrapper "-Dmaven=${{ needs.setup-maven-version.outputs.version }}" - name: Build with Maven run: ./mvnw --errors --batch-mode --show-version ${{ inputs.maven-args }} ${{ inputs.ff-goal }} @@ -259,53 +316,12 @@ jobs: - name: Clean Ensuring no file handle remains open on windows run: ./mvnw clean --errors --batch-mode --show-version "-Dmaven.clean.retryOnError" - # prepare matrix data for verify step - setup-matrix: - runs-on: "ubuntu-latest" - needs: fail-fast-build - if: (!cancelled()) && inputs.matrix-enabled && ( !inputs.ff-run || needs.fail-fast-build.result == 'success' ) - outputs: - maven: ${{ steps.maven.outputs.matrix }} - exclude: ${{ steps.exclude.outputs.matrix }} - - steps: - - id: maven - name: setup Maven matrix - run: | - { - echo 'matrix<> "$GITHUB_OUTPUT" - - cat "$GITHUB_OUTPUT" - - - id: exclude - name: setup exclude matrix - run: | - { - echo 'matrix<> "$GITHUB_OUTPUT" - - cat "$GITHUB_OUTPUT" - - verify: - needs: setup-matrix + if: (!cancelled()) && inputs.matrix-enabled && ( !inputs.ff-run || needs.fail-fast-build.result == 'success' ) + needs: [setup-maven-version, fail-fast-build] name: ${{ matrix.os }} jdk-${{ matrix.jdk }}-${{ matrix.distribution }} ${{ matrix.maven }} timeout-minutes: ${{ inputs.timeout-minutes }} runs-on: ${{ matrix.os }} - if: (!cancelled()) && ( !inputs.ff-run || needs.setup-matrix.result == 'success' ) strategy: fail-fast: ${{ inputs.verify-fail-fast }} @@ -313,9 +329,9 @@ jobs: os: ${{ fromJSON( inputs.os-matrix ) }} jdk: ${{ fromJSON( inputs.jdk-matrix ) }} distribution: ${{ fromJSON( inputs.jdk-distribution-matrix ) }} - maven: ${{ fromJSON( needs.setup-matrix.outputs.maven ) }} + maven: ${{ fromJSON( needs.setup-maven-version.outputs.maven-matrix ) }} include: ${{ fromJSON( inputs.matrix-include ) }} - exclude: ${{ fromJSON( needs.setup-matrix.outputs.exclude ) }} + exclude: ${{ fromJSON( needs.setup-maven-version.outputs.exclude-matrix ) }} max-parallel: ${{ inputs.max-parallel }} steps: @@ -325,7 +341,8 @@ jobs: matrix.os != inputs.ff-os || matrix.jdk != inputs.ff-jdk || matrix.distribution != inputs.ff-jdk-distribution || - matrix.maven != inputs.ff-maven || + (!inputs.maven4-build && matrix.maven != inputs.ff-maven) || + (inputs.maven4-build && matrix.maven != inputs.maven4-version) || inputs.verify-goal != inputs.ff-goal run: echo ok diff --git a/pom.xml b/pom.xml index 1283593..3c4048a 100644 --- a/pom.xml +++ b/pom.xml @@ -49,4 +49,10 @@ + + + + run-its + + From ff670000ba4b21affd44e4cae29f03ccac8a4989 Mon Sep 17 00:00:00 2001 From: Slawomir Jaranowski Date: Sat, 8 Feb 2025 18:17:04 +0100 Subject: [PATCH 38/74] Skip release-drafter on release commits We should preserve last generated release notes. --- .github/workflows/release-drafter.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/release-drafter.yml b/.github/workflows/release-drafter.yml index f2a36ff..91bb201 100644 --- a/.github/workflows/release-drafter.yml +++ b/.github/workflows/release-drafter.yml @@ -33,6 +33,9 @@ concurrency: release-drafter jobs: detect-version: + # skip release drafter on releases commits + if: (!startsWith(github.event.head_commit.message , '[maven-release-plugin]')) + name: Detect version runs-on: ubuntu-latest permissions: {} From d30336cee371b3f8e8c98022840ccdd1539f52b2 Mon Sep 17 00:00:00 2001 From: Slawomir Jaranowski Date: Sat, 8 Feb 2025 18:32:20 +0100 Subject: [PATCH 39/74] Check event which trigger build on setup job In other case we execute this job twice on each PR. --- .github/workflows/maven-verify.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/maven-verify.yml b/.github/workflows/maven-verify.yml index da9d226..c6159cc 100644 --- a/.github/workflows/maven-verify.yml +++ b/.github/workflows/maven-verify.yml @@ -200,6 +200,8 @@ jobs: setup-maven-version: runs-on: "ubuntu-latest" + # execute on any push or pull request from forked repo + if: ( github.event_name == 'push' || ( github.event_name == 'pull_request' && github.event.pull_request.head.repo.fork ) ) outputs: version: ${{ steps.version.outputs.version }} maven-matrix: ${{ steps.maven.outputs.matrix }} @@ -254,8 +256,7 @@ jobs: runs-on: ${{ inputs.ff-os }} timeout-minutes: ${{ inputs.ff-timeout-minutes }} needs: setup-maven-version - # execute on any push or pull request from forked repo - if: inputs.ff-run && ( github.event_name == 'push' || ( github.event_name == 'pull_request' && github.event.pull_request.head.repo.fork ) ) + if: inputs.ff-run steps: - name: Install Subversion on Ubuntu From d968dc69dee536780d1f176b64bd2cfc6d9a2ef4 Mon Sep 17 00:00:00 2001 From: Slawomir Jaranowski Date: Sun, 9 Feb 2025 18:41:01 +0100 Subject: [PATCH 40/74] Add PR number to concurrency definition in pr-automation We need explicit add PR number to concurrency definition pull_request_target event set GITHUB_REF set to PR base branch https://docs.github.com/en/actions/writing-workflows/choosing-when-your-workflow-runs/events-that-trigger-workflows#pull_request_target --- .github/workflows/pr-automation.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/pr-automation.yml b/.github/workflows/pr-automation.yml index 5e7b80c..cd9fd96 100644 --- a/.github/workflows/pr-automation.yml +++ b/.github/workflows/pr-automation.yml @@ -27,8 +27,8 @@ on: # allow single build per branch or PR concurrency: - group: ${{ github.workflow }}-${{ github.ref }} - cancel-in-progress: true + group: ${{ github.workflow }}-${{ github.ref }}-${{ github.event.number }} + cancel-in-progress: false # clare all permissions for GITHUB_TOKEN permissions: {} From d5c09499adbc9ffa14850ce0af0aee152d7753af Mon Sep 17 00:00:00 2001 From: Slawomir Jaranowski Date: Mon, 10 Feb 2025 18:21:48 +0100 Subject: [PATCH 41/74] Manage issues and PRs with waiting-for-feedback label (#146) * Manage issues and PRs with waiting-for-feedback label - skip items with assigned milestones - skip items with label priority:blocker,priority:critical * Fix messages according to review * Remove `waiting-for-feedback` label after comment * wait 60 + 30 days --- .github/workflows/stale.yml | 70 +++++++++++++++++++++++++++++++++++++ 1 file changed, 70 insertions(+) create mode 100644 .github/workflows/stale.yml diff --git a/.github/workflows/stale.yml b/.github/workflows/stale.yml new file mode 100644 index 0000000..2a6a113 --- /dev/null +++ b/.github/workflows/stale.yml @@ -0,0 +1,70 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +# https://github.com/actions/stale + +name: Stale + +on: + workflow_call: + +permissions: + issues: write + pull-requests: write + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }}-${{ github.event.issue.number }} + cancel-in-progress: false + +jobs: + stale-waiting-for-feedback: + if: github.event_name == 'schedule' + name: 'Manage issues, PRs with waiting-for-feedback label' + runs-on: ubuntu-latest + + steps: + - uses: actions/stale@5bef64f19d7facfb25b37b414482c7164d639639 # v9 + with: + days-before-stale: '60' + days-before-close: '30' + stale-issue-message: 'This issue is stale because it has been waiting for feedback for 60 days. Remove the stale label or comment on this issue, or it will be automatically closed in 30 days.' + close-issue-message: 'This issue has been closed because no response was received within 90 days.' + stale-pr-message: 'This pull request is stale because it has been waiting for feedback for 60 days. Remove the stale label or comment on this PR, or it will be automatically closed in 30 days.' + close-pr-message: 'This pull request has been closed because no response was received within 90 days.' + any-of-labels: 'waiting-for-feedback' + exempt-all-milestones: 'true' + exempt-issue-labels: 'priority:blocker,priority:critical' + exempt-pr-labels: 'priority:blocker,priority:critical' + + remove-waiting-for-feedback: + if: github.event_name == 'issue_comment' && github.event.action == 'created' && contains(github.event.issue.labels.*.name, 'waiting-for-feedback') + name: 'Remove waiting-for-feedback label' + runs-on: ubuntu-latest + + steps: + - uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7 + with: + script: | + + const result = await github.rest.issues.removeLabel({ + owner: context.repo.owner, + repo: context.repo.repo, + issue_number: context.issue.number, + name: 'waiting-for-feedback' + }); + + console.log(result); From efba0d2cf4efb986778c1f05fdea5d1437da3364 Mon Sep 17 00:00:00 2001 From: Slawomir Jaranowski Date: Tue, 11 Feb 2025 13:19:38 +0100 Subject: [PATCH 42/74] Show public IP of runner --- .github/workflows/maven-verify.yml | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/.github/workflows/maven-verify.yml b/.github/workflows/maven-verify.yml index c6159cc..3d99c09 100644 --- a/.github/workflows/maven-verify.yml +++ b/.github/workflows/maven-verify.yml @@ -208,6 +208,10 @@ jobs: exclude-matrix: ${{ steps.exclude.outputs.matrix }} steps: + - name: Show IP + run: curl --silent https://api.ipify.org + shell: bash + - id: version name: setup Maven version for ff run: | @@ -259,6 +263,10 @@ jobs: if: inputs.ff-run steps: + - name: Show IP + run: curl --silent https://api.ipify.org + shell: bash + - name: Install Subversion on Ubuntu if: inputs.install-subversion && runner.os == 'Linux' run: sudo apt install subversion @@ -347,6 +355,11 @@ jobs: inputs.verify-goal != inputs.ff-goal run: echo ok + - name: Show IP + if: steps.should-run.conclusion == 'success' + run: curl --silent https://api.ipify.org + shell: bash + # Some projects (like Maven SCM) need the command-line tools for all SCMs installed. # Git and Subversion are installed on all by default. # Mercurial is not installed on macOS. From d2435b359526202e964b437fa5ff968f8ba2bcec Mon Sep 17 00:00:00 2001 From: Slawomir Jaranowski Date: Sat, 22 Feb 2025 14:10:41 +0100 Subject: [PATCH 43/74] Simplify PR Automation As we use only close event we not need a job for checking review decision --- .github/workflows/pr-automation.yml | 46 ++--------------------------- 1 file changed, 2 insertions(+), 44 deletions(-) diff --git a/.github/workflows/pr-automation.yml b/.github/workflows/pr-automation.yml index cd9fd96..715b5ed 100644 --- a/.github/workflows/pr-automation.yml +++ b/.github/workflows/pr-automation.yml @@ -34,54 +34,13 @@ concurrency: permissions: {} jobs: - # read current PR approval status - review-decision: - if: github.event.pull_request.draft == false - runs-on: ubuntu-latest - outputs: - approved: ${{ steps.review-decision.outputs.result }} - - steps: - - name: Dump GitHub context - env: - GITHUB_CONTEXT: ${{ toJson(github) }} - run: echo "$GITHUB_CONTEXT" - - - name: Get Review decision - id: review-decision - uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7 - with: - result-encoding: string - script: | - const query = `query($owner:String!, $name:String!, $number:Int!) { - repository(name: $name, owner: $owner) { - pullRequest(number: $number) { - reviewDecision, merged - } - } - }`; - - const variables = { - owner: context.repo.owner, - name: context.repo.repo, - number: context.issue.number - } - - const result = await github.graphql(query, variables) - console.log(result) - - return result.repository.pullRequest.reviewDecision == 'APPROVED' || result.repository.pullRequest.merged - - name: Result - run: echo "${{ steps.review-decision.outputs.result }}" - # check PR milestone - if not set - update with current opened milestone milestone: permissions: issues: write pull-requests: write - needs: review-decision - if: (needs.review-decision.outputs.approved == 'true' || (github.event.action == 'demilestoned' && github.event.pull_request.state == 'open')) && !github.event.pull_request.milestone + if: github.event.action == 'closed' && github.event.pull_request.merged && !github.event.pull_request.milestone runs-on: ubuntu-latest steps: - name: Update milestone @@ -128,8 +87,7 @@ jobs: issues: write pull-requests: write - needs: review-decision - if: (needs.review-decision.outputs.approved == 'true' || (github.event.action == 'unlabeled' && github.event.pull_request.state == 'open')) && toJSON(github.event.pull_request.labels) == '[]' + if: github.event.action == 'closed' && github.event.pull_request.merged && toJSON(github.event.pull_request.labels) == '[]' runs-on: ubuntu-latest steps: From b3042a4bc2b02b478d6cd04f2db1fb709afdd907 Mon Sep 17 00:00:00 2001 From: Slawomir Jaranowski Date: Sat, 22 Feb 2025 15:31:34 +0100 Subject: [PATCH 44/74] Assign PR to person who merge it --- .github/workflows/pr-automation.yml | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/.github/workflows/pr-automation.yml b/.github/workflows/pr-automation.yml index 715b5ed..6b25c09 100644 --- a/.github/workflows/pr-automation.yml +++ b/.github/workflows/pr-automation.yml @@ -115,3 +115,30 @@ jobs: console.log(result); } + + # check PR assignee - if no one is assigned, assign to person who merge PR + assignees: + permissions: + issues: write + pull-requests: write + + if: github.event.action == 'closed' && github.event.pull_request.merged && toJSON(github.event.pull_request.assignees) == '[]' + runs-on: ubuntu-latest + steps: + + - name: Assign PR + uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7 + with: + script: | + + console.log(context.payload.pull_request); + console.log(context.payload.pull_request.merged_by); + + const result = await github.rest.issues.update({ + owner: context.repo.owner, + repo: context.repo.repo, + issue_number: context.issue.number, + assignees: [ context.payload.pull_request.merged_by.login ] + }); + + console.log(result); From dd36a948fcc08d4cbac07fba29108ca010496f5d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 24 Feb 2025 02:24:46 +0000 Subject: [PATCH 45/74] Bump actions/upload-artifact from 4.6.0 to 4.6.1 Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4.6.0 to 4.6.1. - [Release notes](https://github.com/actions/upload-artifact/releases) - [Commits](https://github.com/actions/upload-artifact/compare/65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08...4cec3d8aa04e39d1a68397de0c4cd6fb9dce8ec1) --- updated-dependencies: - dependency-name: actions/upload-artifact dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- .github/workflows/maven-verify.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/maven-verify.yml b/.github/workflows/maven-verify.yml index 3d99c09..2817008 100644 --- a/.github/workflows/maven-verify.yml +++ b/.github/workflows/maven-verify.yml @@ -303,7 +303,7 @@ jobs: if: inputs.ff-site-run - name: Upload Maven Site - uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4 + uses: actions/upload-artifact@4cec3d8aa04e39d1a68397de0c4cd6fb9dce8ec1 # v4 if: inputs.ff-site-run with: name: ${{ github.run_number }}-site-${{ inputs.ff-os }}-${{ inputs.ff-jdk }}-${{ inputs.ff-jdk-distribution }} @@ -311,7 +311,7 @@ jobs: target/staging/** - name: Upload artifact on failure - uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4 + uses: actions/upload-artifact@4cec3d8aa04e39d1a68397de0c4cd6fb9dce8ec1 # v4 if: failure() && inputs.failure-upload-path != '' with: name: ${{ github.run_number }}-failure-${{ inputs.ff-os }}-${{ inputs.ff-jdk }}-${{ inputs.ff-jdk-distribution }} @@ -433,7 +433,7 @@ jobs: run: ./mvnw --errors --batch-mode --show-version ${{ inputs.maven-args }} ${{ inputs.verify-goal }} - name: Upload artifact on failure - uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4 + uses: actions/upload-artifact@4cec3d8aa04e39d1a68397de0c4cd6fb9dce8ec1 # v4 if: steps.should-run.conclusion == 'success' && failure() && inputs.failure-upload-path != '' with: name: ${{ github.run_number }}-failure-${{ matrix.os }}-${{ matrix.jdk }}-${{ matrix.distribution }} From 7221a5fa5d2ff2c2764905046cd216e059043300 Mon Sep 17 00:00:00 2001 From: Sylwester Lachiewicz Date: Mon, 10 Mar 2025 14:44:35 +0100 Subject: [PATCH 46/74] Upgrade Maven to 4.0.0-rc3 --- .github/workflows/maven-verify.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/maven-verify.yml b/.github/workflows/maven-verify.yml index 2817008..28344a9 100644 --- a/.github/workflows/maven-verify.yml +++ b/.github/workflows/maven-verify.yml @@ -53,7 +53,7 @@ on: maven4-version: description: The Maven 4.x version matrix required: false - default: '4.0.0-rc-2' + default: '4.0.0-rc-3' type: string maven4-enabled: @@ -218,7 +218,7 @@ jobs: if [ "${{ inputs.maven4-build }}" = "true" ]; then echo "version=${{ inputs.maven4-version }}" >> $GITHUB_OUTPUT else - echo "version=${{ inputs.ff-maven }}" >> $GITHUB_OUTPUT + echo "version=${{ inputs.ff-maven }}" >> $GITHUB_OUTPUT fi cat $GITHUB_OUTPUT From 4f75cd6e5e180a8ca52758d37ce8834174025df6 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 20 Mar 2025 02:56:36 +0000 Subject: [PATCH 47/74] Bump actions/upload-artifact from 4.6.1 to 4.6.2 Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4.6.1 to 4.6.2. - [Release notes](https://github.com/actions/upload-artifact/releases) - [Commits](https://github.com/actions/upload-artifact/compare/4cec3d8aa04e39d1a68397de0c4cd6fb9dce8ec1...ea165f8d65b6e75b540449e92b4886f43607fa02) --- updated-dependencies: - dependency-name: actions/upload-artifact dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- .github/workflows/maven-verify.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/maven-verify.yml b/.github/workflows/maven-verify.yml index 28344a9..a86c3ad 100644 --- a/.github/workflows/maven-verify.yml +++ b/.github/workflows/maven-verify.yml @@ -303,7 +303,7 @@ jobs: if: inputs.ff-site-run - name: Upload Maven Site - uses: actions/upload-artifact@4cec3d8aa04e39d1a68397de0c4cd6fb9dce8ec1 # v4 + uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4 if: inputs.ff-site-run with: name: ${{ github.run_number }}-site-${{ inputs.ff-os }}-${{ inputs.ff-jdk }}-${{ inputs.ff-jdk-distribution }} @@ -311,7 +311,7 @@ jobs: target/staging/** - name: Upload artifact on failure - uses: actions/upload-artifact@4cec3d8aa04e39d1a68397de0c4cd6fb9dce8ec1 # v4 + uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4 if: failure() && inputs.failure-upload-path != '' with: name: ${{ github.run_number }}-failure-${{ inputs.ff-os }}-${{ inputs.ff-jdk }}-${{ inputs.ff-jdk-distribution }} @@ -433,7 +433,7 @@ jobs: run: ./mvnw --errors --batch-mode --show-version ${{ inputs.maven-args }} ${{ inputs.verify-goal }} - name: Upload artifact on failure - uses: actions/upload-artifact@4cec3d8aa04e39d1a68397de0c4cd6fb9dce8ec1 # v4 + uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4 if: steps.should-run.conclusion == 'success' && failure() && inputs.failure-upload-path != '' with: name: ${{ github.run_number }}-failure-${{ matrix.os }}-${{ matrix.jdk }}-${{ matrix.distribution }} From 41e84a98f7d26a05c8c170b137a7dad341a87189 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 9 Apr 2025 03:01:56 +0000 Subject: [PATCH 48/74] Bump actions/setup-java from 4.7.0 to 4.7.1 Bumps [actions/setup-java](https://github.com/actions/setup-java) from 4.7.0 to 4.7.1. - [Release notes](https://github.com/actions/setup-java/releases) - [Commits](https://github.com/actions/setup-java/compare/3a4f6e1af504cf6a31855fa899c6aa5355ba6c12...c5195efecf7bdfc987ee8bae7a71cb8b11521c00) --- updated-dependencies: - dependency-name: actions/setup-java dependency-version: 4.7.1 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- .github/workflows/maven-verify.yml | 4 ++-- .github/workflows/release-drafter.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/maven-verify.yml b/.github/workflows/maven-verify.yml index a86c3ad..b359e2d 100644 --- a/.github/workflows/maven-verify.yml +++ b/.github/workflows/maven-verify.yml @@ -285,7 +285,7 @@ jobs: persist-credentials: false - name: Set up JDK - uses: actions/setup-java@3a4f6e1af504cf6a31855fa899c6aa5355ba6c12 # v4 + uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # v4 with: java-version: ${{ inputs.ff-jdk }} distribution: ${{ inputs.ff-jdk-distribution }} @@ -418,7 +418,7 @@ jobs: - name: Set up JDK if: steps.should-run.conclusion == 'success' - uses: actions/setup-java@3a4f6e1af504cf6a31855fa899c6aa5355ba6c12 # v4 + uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # v4 with: java-version: ${{ matrix.jdk }} distribution: ${{ matrix.distribution }} diff --git a/.github/workflows/release-drafter.yml b/.github/workflows/release-drafter.yml index 91bb201..602dfe1 100644 --- a/.github/workflows/release-drafter.yml +++ b/.github/workflows/release-drafter.yml @@ -54,7 +54,7 @@ jobs: fi cat $GITHUB_OUTPUT - - uses: actions/setup-java@3a4f6e1af504cf6a31855fa899c6aa5355ba6c12 # v4 + - uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # v4 if: steps.has-pom.outputs.status == 'true' with: java-version: '21' From c05fc57679bc58ea2d0f15b541757799ec778ee8 Mon Sep 17 00:00:00 2001 From: Slawomir Jaranowski Date: Fri, 25 Apr 2025 20:51:55 +0200 Subject: [PATCH 49/74] Add Maven version in uploaded file names --- .github/workflows/maven-verify.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/maven-verify.yml b/.github/workflows/maven-verify.yml index b359e2d..1560006 100644 --- a/.github/workflows/maven-verify.yml +++ b/.github/workflows/maven-verify.yml @@ -306,7 +306,7 @@ jobs: uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4 if: inputs.ff-site-run with: - name: ${{ github.run_number }}-site-${{ inputs.ff-os }}-${{ inputs.ff-jdk }}-${{ inputs.ff-jdk-distribution }} + name: ${{ github.run_number }}-site-${{ inputs.ff-os }}-${{ inputs.ff-jdk }}-${{ inputs.ff-jdk-distribution }}-${{ needs.setup-maven-version.outputs.version }} path: | target/staging/** @@ -314,7 +314,7 @@ jobs: uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4 if: failure() && inputs.failure-upload-path != '' with: - name: ${{ github.run_number }}-failure-${{ inputs.ff-os }}-${{ inputs.ff-jdk }}-${{ inputs.ff-jdk-distribution }} + name: ${{ github.run_number }}-failure-${{ inputs.ff-os }}-${{ inputs.ff-jdk }}-${{ inputs.ff-jdk-distribution }}-${{ needs.setup-maven-version.outputs.version }} path: ${{ inputs.failure-upload-path }} - name: Show free disk space @@ -436,7 +436,7 @@ jobs: uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4 if: steps.should-run.conclusion == 'success' && failure() && inputs.failure-upload-path != '' with: - name: ${{ github.run_number }}-failure-${{ matrix.os }}-${{ matrix.jdk }}-${{ matrix.distribution }} + name: ${{ github.run_number }}-failure-${{ matrix.os }}-${{ matrix.jdk }}-${{ matrix.distribution }}-${{ matrix.maven }} path: ${{ inputs.failure-upload-path }} - name: Show free disk space From e7f9d1d29427501f01b942a6588a5f906761ee11 Mon Sep 17 00:00:00 2001 From: Slawomir Jaranowski Date: Mon, 5 May 2025 07:43:41 +0200 Subject: [PATCH 50/74] Remove Stale label on comments We can also remove the Stale label --- .github/workflows/stale.yml | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/.github/workflows/stale.yml b/.github/workflows/stale.yml index 2a6a113..e75500f 100644 --- a/.github/workflows/stale.yml +++ b/.github/workflows/stale.yml @@ -50,13 +50,17 @@ jobs: exempt-issue-labels: 'priority:blocker,priority:critical' exempt-pr-labels: 'priority:blocker,priority:critical' - remove-waiting-for-feedback: - if: github.event_name == 'issue_comment' && github.event.action == 'created' && contains(github.event.issue.labels.*.name, 'waiting-for-feedback') + remove-labels: + if: > + github.event_name == 'issue_comment' && github.event.action == 'created' && + (contains(github.event.issue.labels.*.name, 'waiting-for-feedback') || contains(github.event.issue.labels.*.name, 'Stale')) name: 'Remove waiting-for-feedback label' runs-on: ubuntu-latest steps: - uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7 + name: Remove waiting-for-feedback + if: contains(github.event.issue.labels.*.name, 'waiting-for-feedback') with: script: | @@ -68,3 +72,18 @@ jobs: }); console.log(result); + + - uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7 + name: Remove Stale + if: contains(github.event.issue.labels.*.name, 'Stale') + with: + script: | + + const result = await github.rest.issues.removeLabel({ + owner: context.repo.owner, + repo: context.repo.repo, + issue_number: context.issue.number, + name: 'Stale' + }); + + console.log(result); From 27c9b0ac96186bd2586f5e45548cee7f605cd2f1 Mon Sep 17 00:00:00 2001 From: Slawomir Jaranowski Date: Sun, 4 May 2025 23:21:31 +0200 Subject: [PATCH 51/74] Skip release drafter only on the next development version Release drafter should refresh the draft with the current release version --- .github/workflows/release-drafter.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release-drafter.yml b/.github/workflows/release-drafter.yml index 602dfe1..4a2ad4a 100644 --- a/.github/workflows/release-drafter.yml +++ b/.github/workflows/release-drafter.yml @@ -34,7 +34,7 @@ concurrency: release-drafter jobs: detect-version: # skip release drafter on releases commits - if: (!startsWith(github.event.head_commit.message , '[maven-release-plugin]')) + if: (!startsWith(github.event.head_commit.message , '[maven-release-plugin] prepare for next development iteration')) name: Detect version runs-on: ubuntu-latest From f28a770759f72ac7b26b7ee0579e1db991f8cd2f Mon Sep 17 00:00:00 2001 From: Slawomir Jaranowski Date: Tue, 13 May 2025 22:28:04 +0200 Subject: [PATCH 52/74] Dump GitHub context on PR Automation re-run --- .github/workflows/pr-automation.yml | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/.github/workflows/pr-automation.yml b/.github/workflows/pr-automation.yml index 6b25c09..2797c0f 100644 --- a/.github/workflows/pr-automation.yml +++ b/.github/workflows/pr-automation.yml @@ -34,6 +34,18 @@ concurrency: permissions: {} jobs: + # dump GitHub context only when the workflow is re runed, + # can help investigate problems + dump-github-context: + runs-on: ubuntu-latest + if: github.run_attempt > 1 + + steps: + - run: echo "ok" + env: + GITHUB_CONTEXT: ${{ toJson(github) }} + shell: bash + # check PR milestone - if not set - update with current opened milestone milestone: permissions: From b1fe1a81aab402a05f068abb1866515fa4908ed4 Mon Sep 17 00:00:00 2001 From: Slawomir Jaranowski Date: Tue, 13 May 2025 23:30:40 +0200 Subject: [PATCH 53/74] Verify - skip release commit --- .github/workflows/maven-verify.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/maven-verify.yml b/.github/workflows/maven-verify.yml index 1560006..0a82878 100644 --- a/.github/workflows/maven-verify.yml +++ b/.github/workflows/maven-verify.yml @@ -200,8 +200,10 @@ jobs: setup-maven-version: runs-on: "ubuntu-latest" - # execute on any push or pull request from forked repo - if: ( github.event_name == 'push' || ( github.event_name == 'pull_request' && github.event.pull_request.head.repo.fork ) ) + # execute on any push or pull request from forked repo, skip release commit + if: > + (github.event_name == 'push' || (github.event_name == 'pull_request' && github.event.pull_request.head.repo.fork)) && + !startsWith(github.event.head_commit.message , '[maven-release-plugin] prepare release') outputs: version: ${{ steps.version.outputs.version }} maven-matrix: ${{ steps.maven.outputs.matrix }} From 158b874ace1b50dd112d667cef82a754f88ebd9b Mon Sep 17 00:00:00 2001 From: Slawomir Jaranowski Date: Fri, 6 Jun 2025 21:33:34 +0200 Subject: [PATCH 54/74] Use Maven 3.9.10 as default --- .github/workflows/maven-verify-test.yml | 2 +- .github/workflows/maven-verify.yml | 4 ++-- pom.xml | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/maven-verify-test.yml b/.github/workflows/maven-verify-test.yml index c294103..d783fb4 100644 --- a/.github/workflows/maven-verify-test.yml +++ b/.github/workflows/maven-verify-test.yml @@ -37,7 +37,7 @@ jobs: ff-jdk: '21' verify-goal: clean install verify-fail-fast: false - maven-matrix: '[ "3.9.9", "3.8.8", "3.6.3" ]' + maven-matrix: '[ "3.9.10", "3.8.8", "3.6.3" ]' # test with Maven 4 verify-3: diff --git a/.github/workflows/maven-verify.yml b/.github/workflows/maven-verify.yml index 0a82878..26936f7 100644 --- a/.github/workflows/maven-verify.yml +++ b/.github/workflows/maven-verify.yml @@ -47,7 +47,7 @@ on: maven-matrix: description: The Maven version matrix as json array required: false - default: '[ "3.6.3", "3.9.9" ]' + default: '[ "3.6.3", "3.9.10" ]' type: string maven4-version: @@ -114,7 +114,7 @@ on: ff-maven: description: The Maven version used during fail-fast-build job required: false - default: '3.9.9' + default: '3.9.10' type: string ff-jdk: diff --git a/pom.xml b/pom.xml index 3c4048a..945cdf8 100644 --- a/pom.xml +++ b/pom.xml @@ -23,7 +23,7 @@ org.apache.maven maven-parent - 42 + 44 From 81d50e27a9c0f7ad7c62e3db313487c79f9ac809 Mon Sep 17 00:00:00 2001 From: Slawomir Jaranowski Date: Fri, 6 Jun 2025 23:39:13 +0200 Subject: [PATCH 55/74] No adding milestone for PR with skip-changelog label --- .github/workflows/pr-automation.yml | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/.github/workflows/pr-automation.yml b/.github/workflows/pr-automation.yml index 2797c0f..54bc7db 100644 --- a/.github/workflows/pr-automation.yml +++ b/.github/workflows/pr-automation.yml @@ -52,7 +52,11 @@ jobs: issues: write pull-requests: write - if: github.event.action == 'closed' && github.event.pull_request.merged && !github.event.pull_request.milestone + if: > + github.event.action == 'closed' && + github.event.pull_request.merged && + !github.event.pull_request.milestone && + !contains(github.event.pull_request.labels.*.name, 'skip-changelog') runs-on: ubuntu-latest steps: - name: Update milestone @@ -99,7 +103,10 @@ jobs: issues: write pull-requests: write - if: github.event.action == 'closed' && github.event.pull_request.merged && toJSON(github.event.pull_request.labels) == '[]' + if: > + github.event.action == 'closed' && + github.event.pull_request.merged && + toJSON(github.event.pull_request.labels) == '[]' runs-on: ubuntu-latest steps: @@ -134,7 +141,10 @@ jobs: issues: write pull-requests: write - if: github.event.action == 'closed' && github.event.pull_request.merged && toJSON(github.event.pull_request.assignees) == '[]' + if: > + github.event.action == 'closed' && + github.event.pull_request.merged && + toJSON(github.event.pull_request.assignees) == '[]' runs-on: ubuntu-latest steps: From 421e156bdf729acbf496748d405b1d08657dd035 Mon Sep 17 00:00:00 2001 From: Slawomir Jaranowski Date: Sat, 7 Jun 2025 21:40:54 +0200 Subject: [PATCH 56/74] Remove the milestone from not merged PR or labeled with skip-changelog --- .github/workflows/pr-automation.yml | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/.github/workflows/pr-automation.yml b/.github/workflows/pr-automation.yml index 54bc7db..1f1b0b9 100644 --- a/.github/workflows/pr-automation.yml +++ b/.github/workflows/pr-automation.yml @@ -97,6 +97,32 @@ jobs: console.log(result); + # check PR milestone - remove for not merged PR or with skip-changelog label + milestone-rm: + permissions: + issues: write + pull-requests: write + + if: > + github.event.action == 'closed' && + (!github.event.pull_request.merged || contains(github.event.pull_request.labels.*.name, 'skip-changelog')) && + github.event.pull_request.milestone + runs-on: ubuntu-latest + steps: + - name: Remove milestone + uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7 + with: + script: | + + const result = await github.rest.issues.update({ + owner: context.repo.owner, + repo: context.repo.repo, + issue_number: context.issue.number, + milestone: null + }); + + console.log(result); + # check PR labels - if is empty list add one default labels: permissions: From 11933bd95e3e8858dd3469995b3f60e9e60739f1 Mon Sep 17 00:00:00 2001 From: Slawomir Jaranowski Date: Thu, 26 Jun 2025 11:14:02 +0200 Subject: [PATCH 57/74] Add comment when a problem occurs in PR Automation (#171) * Add comment when a problem occurs in PR Automation * apply messages from review --- .github/workflows/pr-automation.yml | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/.github/workflows/pr-automation.yml b/.github/workflows/pr-automation.yml index 1f1b0b9..4ae4413 100644 --- a/.github/workflows/pr-automation.yml +++ b/.github/workflows/pr-automation.yml @@ -73,14 +73,28 @@ jobs: const branch = context.payload.pull_request.base.ref if (milestones.data.length == 0) { - throw new Error('There are no open milestones ... please create one') + await github.rest.issues.createComment({ + owner: context.repo.owner, + repo: context.repo.repo, + issue_number: context.issue.number, + body: '@' + context.payload.pull_request.merged_by.login + + ' The PR can't be associated to a milestone, because there is no open milestone. Please create a new milestone before merge.' + }); + throw new Error('The PR can't be associated to a milestone, because there is no open milestone. Please create a new milestone before merge.') } var milestone; if (milestones.data.length > 1) { milestone = milestones.data.find(({description}) => description?.includes('branch: ' + branch)); if (!milestone) { - throw new Error('There are more then oen open milestones ... please add a "branch: ' + branch + '" to description in one milestone'); + await github.rest.issues.createComment({ + owner: context.repo.owner, + repo: context.repo.repo, + issue_number: context.issue.number, + body: '@' + context.payload.pull_request.merged_by.login + + ' The PR can't be associated to a milestone, because there are multiple open milestones. Please add the text "branch: ' + branch + '" to the description to the milestone where this PR belongs to.' + }); + throw new Error('The PR can't be associated to a milestone, because there are multiple open milestones. Please add the text "branch: ' + branch + '" to the description to the milestone where this PR belongs to.'); } } else { milestone = milestones.data[0]; From c391f2442b1fcca6ee2a4c5457693251142d645c Mon Sep 17 00:00:00 2001 From: Slawomir Jaranowski Date: Thu, 26 Jun 2025 14:42:43 +0200 Subject: [PATCH 58/74] fix syntax error in PR Automation --- .github/workflows/pr-automation.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/pr-automation.yml b/.github/workflows/pr-automation.yml index 4ae4413..053780f 100644 --- a/.github/workflows/pr-automation.yml +++ b/.github/workflows/pr-automation.yml @@ -78,9 +78,9 @@ jobs: repo: context.repo.repo, issue_number: context.issue.number, body: '@' + context.payload.pull_request.merged_by.login + - ' The PR can't be associated to a milestone, because there is no open milestone. Please create a new milestone before merge.' + ' The PR can\'t be associated to a milestone, because there is no open milestone. Please create a new milestone before merge.' }); - throw new Error('The PR can't be associated to a milestone, because there is no open milestone. Please create a new milestone before merge.') + throw new Error('The PR can\'t be associated to a milestone, because there is no open milestone. Please create a new milestone before merge.') } var milestone; @@ -92,9 +92,9 @@ jobs: repo: context.repo.repo, issue_number: context.issue.number, body: '@' + context.payload.pull_request.merged_by.login + - ' The PR can't be associated to a milestone, because there are multiple open milestones. Please add the text "branch: ' + branch + '" to the description to the milestone where this PR belongs to.' + ' The PR can\'t be associated to a milestone, because there are multiple open milestones. Please add the text "branch: ' + branch + '" to the description to the milestone where this PR belongs to.' }); - throw new Error('The PR can't be associated to a milestone, because there are multiple open milestones. Please add the text "branch: ' + branch + '" to the description to the milestone where this PR belongs to.'); + throw new Error('The PR can\'t be associated to a milestone, because there are multiple open milestones. Please add the text "branch: ' + branch + '" to the description to the milestone where this PR belongs to.'); } } else { milestone = milestones.data[0]; From e8b5ff6d990000fa51cbc0a6498fa11284ad73ff Mon Sep 17 00:00:00 2001 From: Olivier Lamy Date: Fri, 27 Jun 2025 15:23:52 +1000 Subject: [PATCH 59/74] make label mandatory (#173) --- .github/workflows/pr-automation.yml | 30 +++++------------------------ 1 file changed, 5 insertions(+), 25 deletions(-) diff --git a/.github/workflows/pr-automation.yml b/.github/workflows/pr-automation.yml index 053780f..eff5215 100644 --- a/.github/workflows/pr-automation.yml +++ b/.github/workflows/pr-automation.yml @@ -149,31 +149,11 @@ jobs: toJSON(github.event.pull_request.labels) == '[]' runs-on: ubuntu-latest steps: - - - name: Set default label - uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7 - env: - DEFAULT_LABEL: ${{ inputs.default-label }} - with: - script: | - - console.log(context.issue.labels); - - if ( !context.issue.labels?.length ) { - - if ( !process.env.DEFAULT_LABEL ) { - throw new ERROR('There are no labels on PR and default label is not set'); - } - - const result = await github.rest.issues.update({ - owner: context.repo.owner, - repo: context.repo.repo, - issue_number: context.issue.number, - labels: [ process.env.DEFAULT_LABEL ] - }); - - console.log(result); - } + - name: Check PR labels + if: ${{ github.event_name == 'pull_request' && join(github.event.pull_request.labels.*.name) == '' }} + run: | + echo "::error::PRs must be labeled" + exit 1 # check PR assignee - if no one is assigned, assign to person who merge PR assignees: From e9e3ba3b0f33b9b89155d3446e3524b4a5a166b3 Mon Sep 17 00:00:00 2001 From: Slawomir Jaranowski Date: Thu, 26 Jun 2025 21:00:08 +0200 Subject: [PATCH 60/74] Check a commit message also in a verify job As have a !cancelled() condition job can execute even if setup-maven-version is skipped --- .github/workflows/maven-verify.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/maven-verify.yml b/.github/workflows/maven-verify.yml index 26936f7..9118b2d 100644 --- a/.github/workflows/maven-verify.yml +++ b/.github/workflows/maven-verify.yml @@ -328,7 +328,9 @@ jobs: run: ./mvnw clean --errors --batch-mode --show-version "-Dmaven.clean.retryOnError" verify: - if: (!cancelled()) && inputs.matrix-enabled && ( !inputs.ff-run || needs.fail-fast-build.result == 'success' ) + if: > + (!cancelled()) && inputs.matrix-enabled && ( !inputs.ff-run || needs.fail-fast-build.result == 'success' ) && + !startsWith(github.event.head_commit.message , '[maven-release-plugin] prepare release') needs: [setup-maven-version, fail-fast-build] name: ${{ matrix.os }} jdk-${{ matrix.jdk }}-${{ matrix.distribution }} ${{ matrix.maven }} timeout-minutes: ${{ inputs.timeout-minutes }} From fe5337b9dbdb745a77a71f9ad54273d6fa96280e Mon Sep 17 00:00:00 2001 From: Slawomir Jaranowski Date: Sun, 6 Jul 2025 14:53:28 +0200 Subject: [PATCH 61/74] Add comment to merged PR with missing label --- .github/workflows/pr-automation.yml | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/.github/workflows/pr-automation.yml b/.github/workflows/pr-automation.yml index eff5215..3548c07 100644 --- a/.github/workflows/pr-automation.yml +++ b/.github/workflows/pr-automation.yml @@ -149,11 +149,20 @@ jobs: toJSON(github.event.pull_request.labels) == '[]' runs-on: ubuntu-latest steps: - - name: Check PR labels - if: ${{ github.event_name == 'pull_request' && join(github.event.pull_request.labels.*.name) == '' }} - run: | - echo "::error::PRs must be labeled" - exit 1 + - name: Comment PR + uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7 + with: + script: | + + await github.rest.issues.createComment({ + owner: context.repo.owner, + repo: context.repo.repo, + issue_number: context.issue.number, + body: '@' + context.payload.pull_request.merged_by.login + + ' Please assign appropriate label to PR according to the type of change.' + }); + + throw new Error('PRs must be labeled'); # check PR assignee - if no one is assigned, assign to person who merge PR assignees: From 6215e0dbb46f41aed5a5ed0faf94d698ad0f8ef1 Mon Sep 17 00:00:00 2001 From: Slawomir Jaranowski Date: Thu, 10 Jul 2025 22:03:12 +0200 Subject: [PATCH 62/74] Bump Maven 4 to 4.0.0-rc-4 in build --- .github/workflows/maven-verify.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/maven-verify.yml b/.github/workflows/maven-verify.yml index 9118b2d..0849865 100644 --- a/.github/workflows/maven-verify.yml +++ b/.github/workflows/maven-verify.yml @@ -53,7 +53,7 @@ on: maven4-version: description: The Maven 4.x version matrix required: false - default: '4.0.0-rc-3' + default: '4.0.0-rc-4' type: string maven4-enabled: From f3a8d986a57e586a24c75ea4df9bdee3a9926352 Mon Sep 17 00:00:00 2001 From: Slawomir Jaranowski Date: Thu, 17 Jul 2025 00:47:01 +0200 Subject: [PATCH 63/74] Use Maven 3.9.11 as default --- .github/workflows/maven-verify-test.yml | 2 +- .github/workflows/maven-verify.yml | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/maven-verify-test.yml b/.github/workflows/maven-verify-test.yml index d783fb4..af15cae 100644 --- a/.github/workflows/maven-verify-test.yml +++ b/.github/workflows/maven-verify-test.yml @@ -37,7 +37,7 @@ jobs: ff-jdk: '21' verify-goal: clean install verify-fail-fast: false - maven-matrix: '[ "3.9.10", "3.8.8", "3.6.3" ]' + maven-matrix: '[ "3.9.11", "3.8.9", "3.6.3" ]' # test with Maven 4 verify-3: diff --git a/.github/workflows/maven-verify.yml b/.github/workflows/maven-verify.yml index 0849865..5d6ed13 100644 --- a/.github/workflows/maven-verify.yml +++ b/.github/workflows/maven-verify.yml @@ -47,7 +47,7 @@ on: maven-matrix: description: The Maven version matrix as json array required: false - default: '[ "3.6.3", "3.9.10" ]' + default: '[ "3.6.3", "3.9.11" ]' type: string maven4-version: @@ -114,7 +114,7 @@ on: ff-maven: description: The Maven version used during fail-fast-build job required: false - default: '3.9.10' + default: '3.9.11' type: string ff-jdk: From b6f9bb2195f9809aa2a3fbc9e92e57efd2277384 Mon Sep 17 00:00:00 2001 From: Slawomir Jaranowski Date: Thu, 17 Jul 2025 00:53:37 +0200 Subject: [PATCH 64/74] Allow pass commitish params to release-drafter --- .github/workflows/release-drafter.yml | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/.github/workflows/release-drafter.yml b/.github/workflows/release-drafter.yml index 4a2ad4a..271284f 100644 --- a/.github/workflows/release-drafter.yml +++ b/.github/workflows/release-drafter.yml @@ -28,6 +28,13 @@ on: required: false type: string default: 'release-drafter.yml' + commitish: + description: | + The release target, i.e. branch or commit it should point to. + Default: current github.ref + required: false + type: string + default: ${{ github.ref }} concurrency: release-drafter @@ -81,6 +88,6 @@ jobs: with: config-name: ${{ inputs.config-name }} version: ${{ needs.detect-version.outputs.version }} - commitish: ${{ github.ref }} + commitish: ${{ inputs.commitish }} env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} From f178ffb174b01ade850451d17667ab7eeb7bc6c0 Mon Sep 17 00:00:00 2001 From: Slawomir Jaranowski Date: Sat, 9 Aug 2025 22:35:05 +0200 Subject: [PATCH 65/74] Revert "Allow pass commitish params to release-drafter" This reverts commit b6f9bb2195f9809aa2a3fbc9e92e57efd2277384. --- .github/workflows/release-drafter.yml | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/.github/workflows/release-drafter.yml b/.github/workflows/release-drafter.yml index 271284f..4a2ad4a 100644 --- a/.github/workflows/release-drafter.yml +++ b/.github/workflows/release-drafter.yml @@ -28,13 +28,6 @@ on: required: false type: string default: 'release-drafter.yml' - commitish: - description: | - The release target, i.e. branch or commit it should point to. - Default: current github.ref - required: false - type: string - default: ${{ github.ref }} concurrency: release-drafter @@ -88,6 +81,6 @@ jobs: with: config-name: ${{ inputs.config-name }} version: ${{ needs.detect-version.outputs.version }} - commitish: ${{ inputs.commitish }} + commitish: ${{ github.ref }} env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} From 0939553a0d04dbf4de8e635eeaaf9b6a6b4f05f0 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 12 Aug 2025 11:53:18 +0000 Subject: [PATCH 66/74] Bump actions/checkout from 4.2.2 to 5.0.0 Bumps [actions/checkout](https://github.com/actions/checkout) from 4.2.2 to 5.0.0. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/11bd71901bbe5b1630ceea73d27597364c9af683...08c6903cd8c0fde910a37f88322edcfb5dd907a8) --- updated-dependencies: - dependency-name: actions/checkout dependency-version: 5.0.0 dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- .github/workflows/maven-verify.yml | 4 ++-- .github/workflows/release-drafter.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/maven-verify.yml b/.github/workflows/maven-verify.yml index 5d6ed13..2884068 100644 --- a/.github/workflows/maven-verify.yml +++ b/.github/workflows/maven-verify.yml @@ -282,7 +282,7 @@ jobs: shell: bash - name: Checkout - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 + uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v4 with: persist-credentials: false @@ -416,7 +416,7 @@ jobs: - name: Checkout if: steps.should-run.conclusion == 'success' - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 + uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v4 with: persist-credentials: false diff --git a/.github/workflows/release-drafter.yml b/.github/workflows/release-drafter.yml index 4a2ad4a..1724c67 100644 --- a/.github/workflows/release-drafter.yml +++ b/.github/workflows/release-drafter.yml @@ -43,7 +43,7 @@ jobs: version: ${{ steps.version.outputs.version }} steps: - - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 + - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v4 with: persist-credentials: 'false' From b5f182b397d70156f06a535e4c99796a907abeb9 Mon Sep 17 00:00:00 2001 From: Slawomir Jaranowski Date: Wed, 13 Aug 2025 19:02:05 +0200 Subject: [PATCH 67/74] Drop Show IP for GitHub runner --- .github/workflows/maven-verify.yml | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/.github/workflows/maven-verify.yml b/.github/workflows/maven-verify.yml index 2884068..ca53a8e 100644 --- a/.github/workflows/maven-verify.yml +++ b/.github/workflows/maven-verify.yml @@ -210,10 +210,6 @@ jobs: exclude-matrix: ${{ steps.exclude.outputs.matrix }} steps: - - name: Show IP - run: curl --silent https://api.ipify.org - shell: bash - - id: version name: setup Maven version for ff run: | @@ -265,10 +261,6 @@ jobs: if: inputs.ff-run steps: - - name: Show IP - run: curl --silent https://api.ipify.org - shell: bash - - name: Install Subversion on Ubuntu if: inputs.install-subversion && runner.os == 'Linux' run: sudo apt install subversion @@ -359,11 +351,6 @@ jobs: inputs.verify-goal != inputs.ff-goal run: echo ok - - name: Show IP - if: steps.should-run.conclusion == 'success' - run: curl --silent https://api.ipify.org - shell: bash - # Some projects (like Maven SCM) need the command-line tools for all SCMs installed. # Git and Subversion are installed on all by default. # Mercurial is not installed on macOS. From 7ae481b6f40fff63b44ffc5debf319972d020a15 Mon Sep 17 00:00:00 2001 From: Slawomir Jaranowski Date: Wed, 13 Aug 2025 21:34:31 +0200 Subject: [PATCH 68/74] Verify status of release-drafter execution --- .github/workflows/release-drafter.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/workflows/release-drafter.yml b/.github/workflows/release-drafter.yml index 1724c67..ad0b497 100644 --- a/.github/workflows/release-drafter.yml +++ b/.github/workflows/release-drafter.yml @@ -78,9 +78,14 @@ jobs: runs-on: ubuntu-latest steps: - uses: release-drafter/release-drafter@b1476f6e6eb133afa41ed8589daba6dc69b4d3f5 # v6 + id: release-drafter with: config-name: ${{ inputs.config-name }} version: ${{ needs.detect-version.outputs.version }} commitish: ${{ github.ref }} env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + - name: Verify release drafter status + if: steps.release-drafter.outputs.id == '' + run: exit 1 From dc0d7a020764f19d018081405c7300348f389d7c Mon Sep 17 00:00:00 2001 From: Slawomir Jaranowski Date: Wed, 13 Aug 2025 21:23:55 +0200 Subject: [PATCH 69/74] Use copy of release-drafter from maven shared repo --- .github/workflows/release-drafter.yml | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/.github/workflows/release-drafter.yml b/.github/workflows/release-drafter.yml index ad0b497..46b99d2 100644 --- a/.github/workflows/release-drafter.yml +++ b/.github/workflows/release-drafter.yml @@ -28,6 +28,12 @@ on: required: false type: string default: 'release-drafter.yml' + commits-since: + description: | + A date in ISO format marking the initial commit for the release draft. This is applied only when no prior release is available. + required: false + type: string + concurrency: release-drafter @@ -77,12 +83,13 @@ jobs: contents: write runs-on: ubuntu-latest steps: - - uses: release-drafter/release-drafter@b1476f6e6eb133afa41ed8589daba6dc69b4d3f5 # v6 + - uses: apache/maven-gh-actions-shared@release-drafter # temporary copy of the release-drafter action id: release-drafter with: config-name: ${{ inputs.config-name }} version: ${{ needs.detect-version.outputs.version }} commitish: ${{ github.ref }} + commits-since: ${{ inputs.commits-since }} env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} From c06fd5b983cb1f78a538ca3b2a8de5eae8bf7ae5 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 22 Aug 2025 02:25:02 +0000 Subject: [PATCH 70/74] Bump actions/setup-java from 4.7.1 to 5.0.0 Bumps [actions/setup-java](https://github.com/actions/setup-java) from 4.7.1 to 5.0.0. - [Release notes](https://github.com/actions/setup-java/releases) - [Commits](https://github.com/actions/setup-java/compare/c5195efecf7bdfc987ee8bae7a71cb8b11521c00...dded0888837ed1f317902acf8a20df0ad188d165) --- updated-dependencies: - dependency-name: actions/setup-java dependency-version: 5.0.0 dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- .github/workflows/maven-verify.yml | 4 ++-- .github/workflows/release-drafter.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/maven-verify.yml b/.github/workflows/maven-verify.yml index ca53a8e..1e6ea1d 100644 --- a/.github/workflows/maven-verify.yml +++ b/.github/workflows/maven-verify.yml @@ -279,7 +279,7 @@ jobs: persist-credentials: false - name: Set up JDK - uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # v4 + uses: actions/setup-java@dded0888837ed1f317902acf8a20df0ad188d165 # v4 with: java-version: ${{ inputs.ff-jdk }} distribution: ${{ inputs.ff-jdk-distribution }} @@ -409,7 +409,7 @@ jobs: - name: Set up JDK if: steps.should-run.conclusion == 'success' - uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # v4 + uses: actions/setup-java@dded0888837ed1f317902acf8a20df0ad188d165 # v4 with: java-version: ${{ matrix.jdk }} distribution: ${{ matrix.distribution }} diff --git a/.github/workflows/release-drafter.yml b/.github/workflows/release-drafter.yml index 46b99d2..6112793 100644 --- a/.github/workflows/release-drafter.yml +++ b/.github/workflows/release-drafter.yml @@ -60,7 +60,7 @@ jobs: fi cat $GITHUB_OUTPUT - - uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # v4 + - uses: actions/setup-java@dded0888837ed1f317902acf8a20df0ad188d165 # v4 if: steps.has-pom.outputs.status == 'true' with: java-version: '21' From e66dcc051167979f24f104231a13370a1eaf257d Mon Sep 17 00:00:00 2001 From: Slawomir Jaranowski Date: Mon, 25 Aug 2025 23:29:18 +0200 Subject: [PATCH 71/74] Allow concurrent execution of release-drafter per branch --- .github/workflows/release-drafter.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/release-drafter.yml b/.github/workflows/release-drafter.yml index 6112793..40863e8 100644 --- a/.github/workflows/release-drafter.yml +++ b/.github/workflows/release-drafter.yml @@ -35,7 +35,9 @@ on: type: string -concurrency: release-drafter +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: false jobs: detect-version: From 144ea11abd3fabc2dad8820107388c133152d791 Mon Sep 17 00:00:00 2001 From: Slawomir Jaranowski Date: Mon, 1 Sep 2025 20:04:04 +0200 Subject: [PATCH 72/74] Bump Maven wrapper to 3.3.3 --- .github/workflows/maven-verify.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/maven-verify.yml b/.github/workflows/maven-verify.yml index 1e6ea1d..ee486ae 100644 --- a/.github/workflows/maven-verify.yml +++ b/.github/workflows/maven-verify.yml @@ -287,7 +287,7 @@ jobs: - name: Set up Maven run: - mvn --errors --batch-mode --show-version org.apache.maven.plugins:maven-wrapper-plugin:3.3.2:wrapper "-Dmaven=${{ needs.setup-maven-version.outputs.version }}" + mvn --errors --batch-mode --show-version org.apache.maven.plugins:maven-wrapper-plugin:3.3.3:wrapper "-Dmaven=${{ needs.setup-maven-version.outputs.version }}" - name: Build with Maven run: ./mvnw --errors --batch-mode --show-version ${{ inputs.maven-args }} ${{ inputs.ff-goal }} @@ -417,7 +417,7 @@ jobs: - name: Set up Maven if: steps.should-run.conclusion == 'success' - run: mvn --errors --batch-mode --show-version org.apache.maven.plugins:maven-wrapper-plugin:3.3.2:wrapper "-Dmaven=${{ matrix.maven }}" + run: mvn --errors --batch-mode --show-version org.apache.maven.plugins:maven-wrapper-plugin:3.3.3:wrapper "-Dmaven=${{ matrix.maven }}" - name: Build with Maven if: steps.should-run.conclusion == 'success' From 9fc90209a46f1f21ec8e1d9d6388eafb6b5a484f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 5 Sep 2025 02:09:52 +0000 Subject: [PATCH 73/74] Bump actions/stale from 9.1.0 to 10.0.0 Bumps [actions/stale](https://github.com/actions/stale) from 9.1.0 to 10.0.0. - [Release notes](https://github.com/actions/stale/releases) - [Changelog](https://github.com/actions/stale/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/stale/compare/5bef64f19d7facfb25b37b414482c7164d639639...3a9db7e6a41a89f618792c92c0e97cc736e1b13f) --- updated-dependencies: - dependency-name: actions/stale dependency-version: 10.0.0 dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- .github/workflows/stale.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/stale.yml b/.github/workflows/stale.yml index e75500f..84c5f85 100644 --- a/.github/workflows/stale.yml +++ b/.github/workflows/stale.yml @@ -37,7 +37,7 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/stale@5bef64f19d7facfb25b37b414482c7164d639639 # v9 + - uses: actions/stale@3a9db7e6a41a89f618792c92c0e97cc736e1b13f # v10 with: days-before-stale: '60' days-before-close: '30' @@ -52,7 +52,7 @@ jobs: remove-labels: if: > - github.event_name == 'issue_comment' && github.event.action == 'created' && + github.event_name == 'issue_comment' && github.event.action == 'created' && (contains(github.event.issue.labels.*.name, 'waiting-for-feedback') || contains(github.event.issue.labels.*.name, 'Stale')) name: 'Remove waiting-for-feedback label' runs-on: ubuntu-latest @@ -63,14 +63,14 @@ jobs: if: contains(github.event.issue.labels.*.name, 'waiting-for-feedback') with: script: | - + const result = await github.rest.issues.removeLabel({ owner: context.repo.owner, repo: context.repo.repo, issue_number: context.issue.number, name: 'waiting-for-feedback' }); - + console.log(result); - uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7 @@ -78,12 +78,12 @@ jobs: if: contains(github.event.issue.labels.*.name, 'Stale') with: script: | - + const result = await github.rest.issues.removeLabel({ owner: context.repo.owner, repo: context.repo.repo, issue_number: context.issue.number, name: 'Stale' }); - + console.log(result); From b63adede14c47a57a5d42fb85b671d4842f287dd Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 5 Sep 2025 02:09:47 +0000 Subject: [PATCH 74/74] Bump actions/github-script from 7.0.1 to 8.0.0 Bumps [actions/github-script](https://github.com/actions/github-script) from 7.0.1 to 8.0.0. - [Release notes](https://github.com/actions/github-script/releases) - [Commits](https://github.com/actions/github-script/compare/60a0d83039c74a4aee543508d2ffcb1c3799cdea...ed597411d8f924073f98dfc5c65a23a2325f34cd) --- updated-dependencies: - dependency-name: actions/github-script dependency-version: 8.0.0 dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- .github/workflows/pr-automation.yml | 44 ++++++++++++++--------------- .github/workflows/stale.yml | 4 +-- 2 files changed, 24 insertions(+), 24 deletions(-) diff --git a/.github/workflows/pr-automation.yml b/.github/workflows/pr-automation.yml index 3548c07..0df833c 100644 --- a/.github/workflows/pr-automation.yml +++ b/.github/workflows/pr-automation.yml @@ -53,14 +53,14 @@ jobs: pull-requests: write if: > - github.event.action == 'closed' && - github.event.pull_request.merged && + github.event.action == 'closed' && + github.event.pull_request.merged && !github.event.pull_request.milestone && !contains(github.event.pull_request.labels.*.name, 'skip-changelog') runs-on: ubuntu-latest steps: - name: Update milestone - uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7 + uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8 with: script: | const milestones = await github.rest.issues.listMilestones({ @@ -68,10 +68,10 @@ jobs: repo: context.repo.repo, state: 'open' }); - + console.log(milestones); const branch = context.payload.pull_request.base.ref - + if (milestones.data.length == 0) { await github.rest.issues.createComment({ owner: context.repo.owner, @@ -99,16 +99,16 @@ jobs: } else { milestone = milestones.data[0]; } - + console.log('Set milestone to: ' + milestone.title); - + const result = await github.rest.issues.update({ owner: context.repo.owner, repo: context.repo.repo, issue_number: context.issue.number, milestone: milestone.number }); - + console.log(result); # check PR milestone - remove for not merged PR or with skip-changelog label @@ -118,13 +118,13 @@ jobs: pull-requests: write if: > - github.event.action == 'closed' && - (!github.event.pull_request.merged || contains(github.event.pull_request.labels.*.name, 'skip-changelog')) && + github.event.action == 'closed' && + (!github.event.pull_request.merged || contains(github.event.pull_request.labels.*.name, 'skip-changelog')) && github.event.pull_request.milestone runs-on: ubuntu-latest steps: - name: Remove milestone - uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7 + uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8 with: script: | @@ -134,7 +134,7 @@ jobs: issue_number: context.issue.number, milestone: null }); - + console.log(result); # check PR labels - if is empty list add one default @@ -144,16 +144,16 @@ jobs: pull-requests: write if: > - github.event.action == 'closed' && - github.event.pull_request.merged && + github.event.action == 'closed' && + github.event.pull_request.merged && toJSON(github.event.pull_request.labels) == '[]' runs-on: ubuntu-latest steps: - name: Comment PR - uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7 + uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8 with: script: | - + await github.rest.issues.createComment({ owner: context.repo.owner, repo: context.repo.repo, @@ -171,25 +171,25 @@ jobs: pull-requests: write if: > - github.event.action == 'closed' && - github.event.pull_request.merged && + github.event.action == 'closed' && + github.event.pull_request.merged && toJSON(github.event.pull_request.assignees) == '[]' runs-on: ubuntu-latest steps: - name: Assign PR - uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7 + uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8 with: script: | - + console.log(context.payload.pull_request); console.log(context.payload.pull_request.merged_by); - + const result = await github.rest.issues.update({ owner: context.repo.owner, repo: context.repo.repo, issue_number: context.issue.number, assignees: [ context.payload.pull_request.merged_by.login ] }); - + console.log(result); diff --git a/.github/workflows/stale.yml b/.github/workflows/stale.yml index 84c5f85..0e56595 100644 --- a/.github/workflows/stale.yml +++ b/.github/workflows/stale.yml @@ -58,7 +58,7 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7 + - uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8 name: Remove waiting-for-feedback if: contains(github.event.issue.labels.*.name, 'waiting-for-feedback') with: @@ -73,7 +73,7 @@ jobs: console.log(result); - - uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7 + - uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8 name: Remove Stale if: contains(github.event.issue.labels.*.name, 'Stale') with: