From c846733c1e54bef01797ca91a64deac71d8e8441 Mon Sep 17 00:00:00 2001 From: Olivier Lamy Date: Tue, 26 Oct 2021 10:24:20 +1000 Subject: [PATCH 01/52] touch Signed-off-by: Olivier Lamy --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d3c5035..24d3a07 100644 --- a/README.md +++ b/README.md @@ -55,3 +55,4 @@ Excludes from build matrix: - [Workflow syntax](https://docs.github.com/en/actions/learn-github-actions/workflow-syntax-for-github-actions) - [Reusing workflows](https://docs.github.com/en/actions/learn-github-actions/reusing-workflows) + From 3b2e802c5cbc76b5470bf7894238f81ba439e9d1 Mon Sep 17 00:00:00 2001 From: Slawomir Jaranowski Date: Tue, 26 Oct 2021 02:26:32 +0200 Subject: [PATCH 02/52] Remove release-drafetr from branch v1 (#12) --- .github/release-drafter.yml | 75 --------------------------- .github/workflows/release-drafter.yml | 30 ----------- 2 files changed, 105 deletions(-) delete mode 100644 .github/release-drafter.yml delete mode 100644 .github/workflows/release-drafter.yml diff --git a/.github/release-drafter.yml b/.github/release-drafter.yml deleted file mode 100644 index 3b06870..0000000 --- a/.github/release-drafter.yml +++ /dev/null @@ -1,75 +0,0 @@ -# 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. - -# Configuration for Release Drafter: https://github.com/toolmantim/release-drafter -name-template: $NEXT_PATCH_VERSION -tag-template: $NEXT_PATCH_VERSION -version-template: $MAJOR.$MINOR.$PATCH - -# Emoji reference: https://gitmoji.carloscuesta.me/ -categories: - - title: ":boom: Breaking changes" - labels: - - breaking - - title: 🚨 Removed - label: removed - - title: ":tada: Major features and improvements" - labels: - - major-enhancement - - major-rfe - - title: 🐛 Major bug fixes - labels: - - major-bug - - title: ⚠️ Deprecated - label: deprecated - - title: 🚀 New features and improvements - labels: - - enhancement - - feature - - rfe - - title: 🐛 Bug Fixes - labels: - - bug - - fix - - bugfix - - regression - - title: ":construction_worker: Changes for plugin developers" - labels: - - developer - # Default label used by Dependabot - - title: 📦 Dependency updates - label: dependencies - - title: 📝 Documentation updates - label: documentation - - title: 👻 Maintenance - labels: - - chore - - internal - - maintenance - - title: 🚦 Tests - labels: - - test - - tests -exclude-labels: - - reverted - - no-changelog - - skip-changelog - - invalid - -template: | - - $CHANGES diff --git a/.github/workflows/release-drafter.yml b/.github/workflows/release-drafter.yml deleted file mode 100644 index e063da2..0000000 --- a/.github/workflows/release-drafter.yml +++ /dev/null @@ -1,30 +0,0 @@ -# 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: Release Drafter -on: - push: - branches: - - main - -jobs: - update_release_draft: - runs-on: ubuntu-latest - steps: - - uses: release-drafter/release-drafter@v5.15.0 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} From a3240da502c4b508b55af8cf8d954bec70c8be1b Mon Sep 17 00:00:00 2001 From: Slawomir Jaranowski Date: Tue, 26 Oct 2021 02:27:10 +0200 Subject: [PATCH 03/52] Rename workflow to maven-verify (#11) --- .../{maven-verify-with-its-test.yml => maven-verify-test.yml} | 4 ++-- .../workflows/{maven-verify-with-its.yml => maven-verify.yml} | 0 2 files changed, 2 insertions(+), 2 deletions(-) rename .github/workflows/{maven-verify-with-its-test.yml => maven-verify-test.yml} (96%) rename .github/workflows/{maven-verify-with-its.yml => maven-verify.yml} (100%) diff --git a/.github/workflows/maven-verify-with-its-test.yml b/.github/workflows/maven-verify-test.yml similarity index 96% rename from .github/workflows/maven-verify-with-its-test.yml rename to .github/workflows/maven-verify-test.yml index d3833be..50c6609 100644 --- a/.github/workflows/maven-verify-with-its-test.yml +++ b/.github/workflows/maven-verify-test.yml @@ -15,7 +15,7 @@ # specific language governing permissions and limitations # under the License. -name: Verify +name: Verify - Test on: push @@ -23,4 +23,4 @@ jobs: build: name: Verify # for testing purpose you can change to your fork and branch - uses: apache/maven-gh-actions-shared/.github/workflows/maven-verify-with-its.yml@main + uses: apache/maven-gh-actions-shared/.github/workflows/maven-verify.yml@v1 diff --git a/.github/workflows/maven-verify-with-its.yml b/.github/workflows/maven-verify.yml similarity index 100% rename from .github/workflows/maven-verify-with-its.yml rename to .github/workflows/maven-verify.yml From 5c5fb604024de4947b5247dda82f3e856ee82528 Mon Sep 17 00:00:00 2001 From: Slawomir Jaranowski Date: Fri, 12 Nov 2021 00:36:24 +0100 Subject: [PATCH 04/52] No persist credentials during git checkout (#17) --- .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 e6e147e..4c961cf 100644 --- a/.github/workflows/maven-verify.yml +++ b/.github/workflows/maven-verify.yml @@ -79,6 +79,8 @@ jobs: steps: - name: Checkout uses: actions/checkout@v2.3.4 + with: + persist-credentials: false - name: Set up JDK uses: actions/setup-java@v2.3.1 @@ -116,6 +118,8 @@ jobs: - name: Checkout if: steps.should-run.conclusion == 'success' uses: actions/checkout@v2.3.4 + with: + persist-credentials: false - name: Set up JDK if: steps.should-run.conclusion == 'success' From 3a7f18e23a22152c42afd8c9bc7ce48029349e03 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 12 Nov 2021 11:24:12 +1000 Subject: [PATCH 05/52] Bump actions/checkout from 2.3.4 to 2.4.0 (#19) Bumps [actions/checkout](https://github.com/actions/checkout) from 2.3.4 to 2.4.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/v2.3.4...v2.4.0) --- updated-dependencies: - dependency-name: actions/checkout dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .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 4c961cf..2f84c57 100644 --- a/.github/workflows/maven-verify.yml +++ b/.github/workflows/maven-verify.yml @@ -78,7 +78,7 @@ jobs: steps: - name: Checkout - uses: actions/checkout@v2.3.4 + uses: actions/checkout@v2.4.0 with: persist-credentials: false @@ -117,7 +117,7 @@ jobs: - name: Checkout if: steps.should-run.conclusion == 'success' - uses: actions/checkout@v2.3.4 + uses: actions/checkout@v2.4.0 with: persist-credentials: false From c41cf60c50122d5d191918428f682b00522ae6e6 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 30 Nov 2021 02:17:59 +0000 Subject: [PATCH 06/52] Bump actions/setup-java from 2.3.1 to 2.4.0 Bumps [actions/setup-java](https://github.com/actions/setup-java) from 2.3.1 to 2.4.0. - [Release notes](https://github.com/actions/setup-java/releases) - [Commits](https://github.com/actions/setup-java/compare/v2.3.1...v2.4.0) --- 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 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/maven-verify.yml b/.github/workflows/maven-verify.yml index 2f84c57..9040cca 100644 --- a/.github/workflows/maven-verify.yml +++ b/.github/workflows/maven-verify.yml @@ -83,7 +83,7 @@ jobs: persist-credentials: false - name: Set up JDK - uses: actions/setup-java@v2.3.1 + uses: actions/setup-java@v2.4.0 with: java-version: ${{ inputs.ff-jdk }} distribution: ${{ inputs.ff-jdk-distribution }} @@ -123,7 +123,7 @@ jobs: - name: Set up JDK if: steps.should-run.conclusion == 'success' - uses: actions/setup-java@v2.3.1 + uses: actions/setup-java@v2.4.0 with: java-version: ${{ matrix.jdk }} distribution: ${{ matrix.distribution }} From c1a532a62d8eab9d1b1a17890ef866164ed76432 Mon Sep 17 00:00:00 2001 From: Sylwester Lachiewicz Date: Wed, 1 Dec 2021 01:16:54 +0100 Subject: [PATCH 07/52] By Default run first build with Java 11 --- .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 9040cca..2726ae3 100644 --- a/.github/workflows/maven-verify.yml +++ b/.github/workflows/maven-verify.yml @@ -60,7 +60,7 @@ on: ff-jdk: description: The jdk version used during fail-fast-build job required: false - default: '8' + default: '11' type: string ff-jdk-distribution: From c36420dc33f141914f83a9b4752f485f01ae129e Mon Sep 17 00:00:00 2001 From: Slawomir Jaranowski Date: Sat, 4 Dec 2021 11:28:42 +0100 Subject: [PATCH 08/52] Goals for build step in inputs Some project need be executed with different goals so provide possibility to override it --- .github/workflows/maven-verify-test.yml | 14 +++++++-- .github/workflows/maven-verify.yml | 40 ++++++++++++++++++++----- 2 files changed, 45 insertions(+), 9 deletions(-) diff --git a/.github/workflows/maven-verify-test.yml b/.github/workflows/maven-verify-test.yml index 50c6609..73ee6f1 100644 --- a/.github/workflows/maven-verify-test.yml +++ b/.github/workflows/maven-verify-test.yml @@ -20,7 +20,17 @@ name: Verify - Test on: push jobs: - build: - name: Verify + + verify-1: + name: Verify 1 + # for testing purpose you can change to your fork and branch + uses: apache/maven-gh-actions-shared/.github/workflows/maven-verify.yml@v1 + + verify-2: + name: Verify 2 # for testing purpose you can change to your fork and branch uses: apache/maven-gh-actions-shared/.github/workflows/maven-verify.yml@v1 + with: + ff-goal: test + verify-goal: clean install + verify-fail-fast: false diff --git a/.github/workflows/maven-verify.yml b/.github/workflows/maven-verify.yml index 2726ae3..7d1ea19 100644 --- a/.github/workflows/maven-verify.yml +++ b/.github/workflows/maven-verify.yml @@ -21,9 +21,9 @@ on: workflow_call: inputs: maven_args: - description: The arguments to pass to Maven when building the code + description: The arguments to pass to all Maven commands when building the code required: false - default: -P run-its -D"invoker.streamLogsOnFailures" + default: '-D"invoker.streamLogsOnFailures"' type: string os-matrix: @@ -69,6 +69,31 @@ on: default: 'temurin' type: string + ff-goal: + description: The Maven goal used by fail-fast-build job + required: false + default: '-P run-its verify' + type: string + + verify-goal: + description: The Maven goal used by verfy jobs + required: false + default: '-P run-its verify' + type: string + + verify-site-goal: + description: The Maven goal used by verfy jobs to build site + required: false + default: '-P run-its site' + type: string + + verify-fail-fast: + description: Determinate if verification matrix should fail fast + required: false + default: true + type: boolean + + jobs: # verify build on one node - before matrix will start @@ -90,7 +115,7 @@ jobs: cache: 'maven' - name: Build with Maven - run: mvn --errors --batch-mode --show-version ${{ inputs.maven_args }} verify + run: mvn --errors --batch-mode --show-version ${{ inputs.maven_args }} ${{ inputs.ff-goal }} verify: needs: fail-fast-build @@ -99,7 +124,7 @@ jobs: runs-on: ${{ matrix.os }} strategy: - fail-fast: true + fail-fast: ${{ inputs.verify-fail-fast }} matrix: os: ${{ fromJSON( inputs.os-matrix ) }} jdk: ${{ fromJSON( inputs.jdk-matrix ) }} @@ -112,7 +137,8 @@ jobs: if: > matrix.os != inputs.ff-os || matrix.jdk != inputs.ff-jdk || - matrix.distribution != inputs.ff-jdk-distribution + matrix.distribution != inputs.ff-jdk-distribution || + inputs.verify-goal != inputs.ff-goal run: echo ok - name: Checkout @@ -131,8 +157,8 @@ jobs: - name: Build with Maven if: steps.should-run.conclusion == 'success' - run: mvn --errors --batch-mode --show-version ${{ inputs.maven_args }} verify + run: mvn --errors --batch-mode --show-version ${{ inputs.maven_args }} ${{ inputs.verify-goal }} - name: Build Maven Site if: steps.should-run.conclusion == 'success' - run: mvn --errors --batch-mode --show-version ${{ inputs.maven_args }} site + run: mvn --errors --batch-mode --show-version ${{ inputs.maven_args }} ${{ inputs.verify-site-goal }} From f330b6a0891abd7eb1df137f1778611d9fb36a42 Mon Sep 17 00:00:00 2001 From: Slawomir Jaranowski Date: Thu, 9 Dec 2021 19:55:08 +0100 Subject: [PATCH 09/52] Improve verification of site building - add site build to fail-fast-build - build site with profile reporting - skip test during site build, it is done in the same workspace so report from test execution will be present --- .github/workflows/maven-verify.yml | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/.github/workflows/maven-verify.yml b/.github/workflows/maven-verify.yml index 7d1ea19..71f3208 100644 --- a/.github/workflows/maven-verify.yml +++ b/.github/workflows/maven-verify.yml @@ -75,6 +75,12 @@ on: default: '-P run-its verify' type: string + ff-site-goal: + description: The Maven goal used by fail-fast-build job to build site + required: false + default: '-DskipTests -P reporting site' + type: string + verify-goal: description: The Maven goal used by verfy jobs required: false @@ -84,7 +90,7 @@ on: verify-site-goal: description: The Maven goal used by verfy jobs to build site required: false - default: '-P run-its site' + default: '-DskipTests -P reporting site' type: string verify-fail-fast: @@ -117,6 +123,10 @@ jobs: - name: Build with Maven run: mvn --errors --batch-mode --show-version ${{ inputs.maven_args }} ${{ inputs.ff-goal }} + - name: Build Maven Site + run: mvn --errors --batch-mode --show-version ${{ inputs.maven_args }} ${{ inputs.ff-site-goal }} + + verify: needs: fail-fast-build name: ${{ matrix.os }} jdk-${{ matrix.jdk }}-${{ matrix.distribution }} @@ -138,7 +148,8 @@ jobs: matrix.os != inputs.ff-os || matrix.jdk != inputs.ff-jdk || matrix.distribution != inputs.ff-jdk-distribution || - inputs.verify-goal != inputs.ff-goal + inputs.verify-goal != inputs.ff-goal || + inputs.verify-site-goal != inputs.ff-site-goal run: echo ok - name: Checkout From 7bfc0ee15ca59dbf7d67814aa3420c2f72fe73ae Mon Sep 17 00:00:00 2001 From: Sylwester Lachiewicz Date: Mon, 13 Dec 2021 00:14:57 +0100 Subject: [PATCH 10/52] Temporary disable cache --- .github/workflows/maven-verify.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/maven-verify.yml b/.github/workflows/maven-verify.yml index 71f3208..dbb465e 100644 --- a/.github/workflows/maven-verify.yml +++ b/.github/workflows/maven-verify.yml @@ -118,7 +118,8 @@ jobs: with: java-version: ${{ inputs.ff-jdk }} distribution: ${{ inputs.ff-jdk-distribution }} - cache: 'maven' +# temporary disable cache - gh issue +# cache: 'maven' - name: Build with Maven run: mvn --errors --batch-mode --show-version ${{ inputs.maven_args }} ${{ inputs.ff-goal }} From f5f7f5b885e5eb6671e3e7a0722b5ef16226e038 Mon Sep 17 00:00:00 2001 From: Sylwester Lachiewicz Date: Wed, 15 Dec 2021 10:09:44 +0100 Subject: [PATCH 11/52] Restore cache https://github.com/actions/cache/issues/698 --- .github/workflows/maven-verify.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/maven-verify.yml b/.github/workflows/maven-verify.yml index dbb465e..71f3208 100644 --- a/.github/workflows/maven-verify.yml +++ b/.github/workflows/maven-verify.yml @@ -118,8 +118,7 @@ jobs: with: java-version: ${{ inputs.ff-jdk }} distribution: ${{ inputs.ff-jdk-distribution }} -# temporary disable cache - gh issue -# cache: 'maven' + cache: 'maven' - name: Build with Maven run: mvn --errors --batch-mode --show-version ${{ inputs.maven_args }} ${{ inputs.ff-goal }} From 7d4eed005852dd8dd7ac97cf95a85fe3b9e3fe43 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 22 Dec 2021 02:23:52 +0000 Subject: [PATCH 12/52] Bump actions/setup-java from 2.4.0 to 2.5.0 Bumps [actions/setup-java](https://github.com/actions/setup-java) from 2.4.0 to 2.5.0. - [Release notes](https://github.com/actions/setup-java/releases) - [Commits](https://github.com/actions/setup-java/compare/v2.4.0...v2.5.0) --- 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 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/maven-verify.yml b/.github/workflows/maven-verify.yml index 71f3208..b346cb4 100644 --- a/.github/workflows/maven-verify.yml +++ b/.github/workflows/maven-verify.yml @@ -114,7 +114,7 @@ jobs: persist-credentials: false - name: Set up JDK - uses: actions/setup-java@v2.4.0 + uses: actions/setup-java@v2.5.0 with: java-version: ${{ inputs.ff-jdk }} distribution: ${{ inputs.ff-jdk-distribution }} @@ -160,7 +160,7 @@ jobs: - name: Set up JDK if: steps.should-run.conclusion == 'success' - uses: actions/setup-java@v2.4.0 + uses: actions/setup-java@v2.5.0 with: java-version: ${{ matrix.jdk }} distribution: ${{ matrix.distribution }} From 33a720f24253b5d96fc14f61814191781acafb8d Mon Sep 17 00:00:00 2001 From: Slawomir Jaranowski Date: Sun, 26 Dec 2021 10:32:24 +0100 Subject: [PATCH 13/52] Use Maven wrapper to set up Maven version for build Some project require specific Maven version so let's allow changing default version --- .github/workflows/maven-verify.yml | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/.github/workflows/maven-verify.yml b/.github/workflows/maven-verify.yml index b346cb4..35aa287 100644 --- a/.github/workflows/maven-verify.yml +++ b/.github/workflows/maven-verify.yml @@ -26,6 +26,12 @@ on: default: '-D"invoker.streamLogsOnFailures"' type: string + maven_version: + description: The Maven version used for builds + required: false + default: '3.8.4' + type: string + os-matrix: description: 'os matrix as json array' required: false @@ -120,8 +126,11 @@ jobs: distribution: ${{ inputs.ff-jdk-distribution }} cache: 'maven' + - name: Set up Maven + run: mvn --errors --batch-mode --show-version wrapper:wrapper "-Dmaven=${{ inputs.maven_version }}" + - name: Build with Maven - run: mvn --errors --batch-mode --show-version ${{ inputs.maven_args }} ${{ inputs.ff-goal }} + run: ./mvnw --errors --batch-mode --show-version ${{ inputs.maven_args }} ${{ inputs.ff-goal }} - name: Build Maven Site run: mvn --errors --batch-mode --show-version ${{ inputs.maven_args }} ${{ inputs.ff-site-goal }} @@ -166,10 +175,14 @@ jobs: distribution: ${{ matrix.distribution }} cache: 'maven' + - name: Set up Maven + if: steps.should-run.conclusion == 'success' + run: mvn --errors --batch-mode --show-version wrapper:wrapper "-Dmaven=${{ inputs.maven_version }}" + - name: Build with Maven if: steps.should-run.conclusion == 'success' - run: mvn --errors --batch-mode --show-version ${{ inputs.maven_args }} ${{ inputs.verify-goal }} + run: ./mvnw --errors --batch-mode --show-version ${{ inputs.maven_args }} ${{ inputs.verify-goal }} - name: Build Maven Site if: steps.should-run.conclusion == 'success' - run: mvn --errors --batch-mode --show-version ${{ inputs.maven_args }} ${{ inputs.verify-site-goal }} + run: ./mvnw --errors --batch-mode --show-version ${{ inputs.maven_args }} ${{ inputs.verify-site-goal }} From e8730a5cdcc233f48af773dc0d77a08404763fc8 Mon Sep 17 00:00:00 2001 From: Slawomir Jaranowski Date: Mon, 27 Dec 2021 13:53:27 +0100 Subject: [PATCH 14/52] Use Maven wrapper for fail-fast-build site --- .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 35aa287..11e49df 100644 --- a/.github/workflows/maven-verify.yml +++ b/.github/workflows/maven-verify.yml @@ -133,7 +133,7 @@ jobs: run: ./mvnw --errors --batch-mode --show-version ${{ inputs.maven_args }} ${{ inputs.ff-goal }} - name: Build Maven Site - run: mvn --errors --batch-mode --show-version ${{ inputs.maven_args }} ${{ inputs.ff-site-goal }} + run: ./mvnw --errors --batch-mode --show-version ${{ inputs.maven_args }} ${{ inputs.ff-site-goal }} verify: From 5c18d5e84741ef1ecc9b7f71bc7caf6dcf0064e5 Mon Sep 17 00:00:00 2001 From: Slawomir Jaranowski Date: Sat, 1 Jan 2022 23:07:11 +0100 Subject: [PATCH 15/52] Documentation only on main branch --- README.md | 41 ++--------------------------------------- 1 file changed, 2 insertions(+), 39 deletions(-) diff --git a/README.md b/README.md index 24d3a07..de6909d 100644 --- a/README.md +++ b/README.md @@ -14,45 +14,8 @@ See the License for the specific language governing permissions and limitations under the License. --> -# Apache Maven shared GitHub Actions - +# Apache Maven Shared GitHub Actions # Usage -Create GitHub workflow in project with content: - -```yaml -name: Verify - -on: - push: - branches-ignore: - - dependabot/** - pull_request: - -jobs: - build: - name: Verify - uses: apache/maven-gh-actions-shared/.github/workflows/maven-verify-with-its.yml@main - -``` - -Excludes from build matrix: - -```yaml -... - uses: apache/maven-gh-actions-shared/.github/workflows/maven-verify-with-its.yml@main - with: - matrix-exclude: > - [ - {"jdk": "8"}, # exclude jdk 8 from all builds - {"os": "windows-latest"}, # exclude windows from all builds - {"jdk": "8", "os": "windows-latest"} # exclude jkd 8 on windows - ] -``` - -# Resources - -- [Workflow syntax](https://docs.github.com/en/actions/learn-github-actions/workflow-syntax-for-github-actions) -- [Reusing workflows](https://docs.github.com/en/actions/learn-github-actions/reusing-workflows) - +https://github.com/apache/maven-gh-actions-shared/ From e782bc64cb45041e86452bfc4ad981ccd57c410b Mon Sep 17 00:00:00 2001 From: Slawomir Jaranowski Date: Sat, 1 Jan 2022 23:25:08 +0100 Subject: [PATCH 16/52] Execute on any push or pull request from forked repo When PR is created from branch in repo jobs are executed twice - one on push to branch - second on PR create/sync/... --- .github/workflows/maven-verify-test.yml | 4 ++-- .github/workflows/maven-verify.yml | 2 ++ 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/maven-verify-test.yml b/.github/workflows/maven-verify-test.yml index 73ee6f1..1af31db 100644 --- a/.github/workflows/maven-verify-test.yml +++ b/.github/workflows/maven-verify-test.yml @@ -24,12 +24,12 @@ jobs: verify-1: name: Verify 1 # for testing purpose you can change to your fork and branch - uses: apache/maven-gh-actions-shared/.github/workflows/maven-verify.yml@v1 + uses: apache/maven-gh-actions-shared/.github/workflows/maven-verify.yml@v2 verify-2: name: Verify 2 # for testing purpose you can change to your fork and branch - uses: apache/maven-gh-actions-shared/.github/workflows/maven-verify.yml@v1 + uses: apache/maven-gh-actions-shared/.github/workflows/maven-verify.yml@v2 with: ff-goal: test verify-goal: clean install diff --git a/.github/workflows/maven-verify.yml b/.github/workflows/maven-verify.yml index 11e49df..c9023ec 100644 --- a/.github/workflows/maven-verify.yml +++ b/.github/workflows/maven-verify.yml @@ -112,6 +112,8 @@ jobs: fail-fast-build: name: ${{ inputs.ff-os }} jdk-${{ inputs.ff-jdk }}-${{ inputs.ff-jdk-distribution }} runs-on: ${{ inputs.ff-os }} + # 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 ) steps: - name: Checkout From 530f6af556451b37fe8f9a6a1b63575de3884522 Mon Sep 17 00:00:00 2001 From: Slawomir Jaranowski Date: Sun, 2 Jan 2022 09:22:00 +0100 Subject: [PATCH 17/52] Upload on failure --- .github/workflows/maven-verify.yml | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/.github/workflows/maven-verify.yml b/.github/workflows/maven-verify.yml index c9023ec..0068150 100644 --- a/.github/workflows/maven-verify.yml +++ b/.github/workflows/maven-verify.yml @@ -105,6 +105,10 @@ on: default: true type: boolean + failure-upload-path: + description: A file, directory or wildcard pattern that describes what to upload on failure + required: false + type: string jobs: @@ -137,6 +141,12 @@ jobs: - name: Build Maven Site run: ./mvnw --errors --batch-mode --show-version ${{ inputs.maven_args }} ${{ inputs.ff-site-goal }} + - name: Upload artifact on failure + uses: actions/upload-artifact@v2.3.1 + if: failure() && inputs.failure-upload-path != '' + with: + name: failure-${{ inputs.ff-os }}-${{ inputs.ff-jdk }}-${{ inputs.ff-jdk-distribution }} + path: $${ inputs.failure-upload-path }} verify: needs: fail-fast-build @@ -188,3 +198,10 @@ jobs: - name: Build Maven Site if: steps.should-run.conclusion == 'success' run: ./mvnw --errors --batch-mode --show-version ${{ inputs.maven_args }} ${{ inputs.verify-site-goal }} + + - name: Upload artifact on failure + uses: actions/upload-artifact@v2.3.1 + if: steps.should-run.conclusion == 'success' && failure() && inputs.failure-upload-path != '' + with: + name: failure-${{ matrix.os }}-${{ matrix.jdk }}-${{ matrix.distribution }} + path: $${ inputs.failure-upload-path }} From 1c7666c6b750fea498ce3532cb3aef45cfab3ea2 Mon Sep 17 00:00:00 2001 From: Slawomir Jaranowski Date: Sun, 2 Jan 2022 09:47:24 +0100 Subject: [PATCH 18/52] Upload on failure - fix path variable --- .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 0068150..aa25577 100644 --- a/.github/workflows/maven-verify.yml +++ b/.github/workflows/maven-verify.yml @@ -146,7 +146,7 @@ jobs: if: failure() && inputs.failure-upload-path != '' with: name: failure-${{ inputs.ff-os }}-${{ inputs.ff-jdk }}-${{ inputs.ff-jdk-distribution }} - path: $${ inputs.failure-upload-path }} + path: ${{ inputs.failure-upload-path }} verify: needs: fail-fast-build @@ -204,4 +204,4 @@ jobs: if: steps.should-run.conclusion == 'success' && failure() && inputs.failure-upload-path != '' with: name: failure-${{ matrix.os }}-${{ matrix.jdk }}-${{ matrix.distribution }} - path: $${ inputs.failure-upload-path }} + path: ${{ inputs.failure-upload-path }} From fb0e9add592e237049f9ee53a4321c0a982bf990 Mon Sep 17 00:00:00 2001 From: Slawomir Jaranowski Date: Tue, 4 Jan 2022 12:50:09 +0100 Subject: [PATCH 19/52] Show free disk space --- .github/workflows/maven-verify.yml | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/.github/workflows/maven-verify.yml b/.github/workflows/maven-verify.yml index aa25577..5d63395 100644 --- a/.github/workflows/maven-verify.yml +++ b/.github/workflows/maven-verify.yml @@ -120,6 +120,10 @@ jobs: if: github.event_name == 'push' || ( github.event_name == 'pull_request' && github.event.pull_request.head.repo.fork ) steps: + - name: Show free disk space + run: df -h + shell: bash + - name: Checkout uses: actions/checkout@v2.4.0 with: @@ -148,6 +152,11 @@ jobs: name: failure-${{ inputs.ff-os }}-${{ inputs.ff-jdk }}-${{ inputs.ff-jdk-distribution }} path: ${{ inputs.failure-upload-path }} + - name: Show free disk space + if: always() + run: df -h + shell: bash + verify: needs: fail-fast-build name: ${{ matrix.os }} jdk-${{ matrix.jdk }}-${{ matrix.distribution }} @@ -173,6 +182,11 @@ jobs: inputs.verify-site-goal != inputs.ff-site-goal run: echo ok + - name: Show free disk space + if: steps.should-run.conclusion == 'success' + run: df -h + shell: bash + - name: Checkout if: steps.should-run.conclusion == 'success' uses: actions/checkout@v2.4.0 @@ -205,3 +219,8 @@ jobs: with: name: failure-${{ matrix.os }}-${{ matrix.jdk }}-${{ matrix.distribution }} path: ${{ inputs.failure-upload-path }} + + - name: Show free disk space + if: steps.should-run.conclusion == 'success' && always() + run: df -h + shell: bash From 774cec3e533a6dd4aabb7298c12b6cd7e2e2ef30 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tibor=20Diga=C5=88a?= Date: Sat, 8 Jan 2022 22:55:20 +0100 Subject: [PATCH 20/52] max-parallel and timeout-minutes --- .github/workflows/maven-verify.yml | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/.github/workflows/maven-verify.yml b/.github/workflows/maven-verify.yml index 5d63395..ce175b1 100644 --- a/.github/workflows/maven-verify.yml +++ b/.github/workflows/maven-verify.yml @@ -50,6 +50,18 @@ on: default: '[]' type: string + max-parallel: + description: 'max parallel jobs' + required: false + default: 100 + type: number + + timeout-minutes: + description: 'timeout-minutes used by the builds (defaults to 360)' + required: false + default: 360 + type: number + jdk-distribution-matrix: description: "jdk distribution matrix" required: false @@ -87,6 +99,12 @@ on: default: '-DskipTests -P reporting site' type: string + ff-timeout-minutes: + description: 'timeout-minutes used by fail-fast-build jobs (defaults to 360)' + required: false + default: 360 + type: number + verify-goal: description: The Maven goal used by verfy jobs required: false @@ -116,6 +134,7 @@ jobs: fail-fast-build: name: ${{ inputs.ff-os }} jdk-${{ inputs.ff-jdk }}-${{ inputs.ff-jdk-distribution }} runs-on: ${{ inputs.ff-os }} + timeout-minutes: ${{ inputs.ff-timeout-minutes }} # 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 ) @@ -160,7 +179,7 @@ jobs: verify: needs: fail-fast-build name: ${{ matrix.os }} jdk-${{ matrix.jdk }}-${{ matrix.distribution }} - + timeout-minutes: ${{ inputs.timeout-minutes }} runs-on: ${{ matrix.os }} strategy: @@ -170,6 +189,7 @@ jobs: jdk: ${{ fromJSON( inputs.jdk-matrix ) }} distribution: ${{ fromJSON( inputs.jdk-distribution-matrix ) }} exclude: ${{ fromJSON( inputs.matrix-exclude ) }} + max-parallel: ${{ inputs.max-parallel }} steps: - name: Should run From 4d2fdb5e0bd9453afe55a604ffa6aab710729a5d Mon Sep 17 00:00:00 2001 From: Slawomir Jaranowski Date: Thu, 27 Jan 2022 21:33:13 +0100 Subject: [PATCH 21/52] Allow single build per branch or PR Some build can take long time so allow only single build at the same time --- .github/workflows/maven-verify.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/workflows/maven-verify.yml b/.github/workflows/maven-verify.yml index ce175b1..466d5a6 100644 --- a/.github/workflows/maven-verify.yml +++ b/.github/workflows/maven-verify.yml @@ -128,6 +128,11 @@ on: required: false type: string +# allow single build per branch or PR +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + jobs: # verify build on one node - before matrix will start From 28defe95f5303bcf550b1d0b3b3d0ad9348da309 Mon Sep 17 00:00:00 2001 From: Olivier Lamy Date: Wed, 23 Feb 2022 12:58:56 +1000 Subject: [PATCH 22/52] add shared release-drafter.yml --- .github/workflows/release-drafter.yml | 31 +++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 .github/workflows/release-drafter.yml diff --git a/.github/workflows/release-drafter.yml b/.github/workflows/release-drafter.yml new file mode 100644 index 0000000..28cdf89 --- /dev/null +++ b/.github/workflows/release-drafter.yml @@ -0,0 +1,31 @@ + + +# 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: Release Drafter +on: + push: + branches: + - master +jobs: + update_release_draft: + runs-on: ubuntu-latest + steps: + - uses: release-drafter/release-drafter@v5.18.1 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} From eb72871a0e22e4c2d89e886299f39933f6b4fbbb Mon Sep 17 00:00:00 2001 From: Slawomir Jaranowski Date: Wed, 23 Feb 2022 08:29:45 +0100 Subject: [PATCH 23/52] Chang triggered event to workflow_call for release-drafter.yml --- .github/workflows/release-drafter.yml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/.github/workflows/release-drafter.yml b/.github/workflows/release-drafter.yml index 28cdf89..cc752b1 100644 --- a/.github/workflows/release-drafter.yml +++ b/.github/workflows/release-drafter.yml @@ -19,9 +19,8 @@ name: Release Drafter on: - push: - branches: - - master + workflow_call: + jobs: update_release_draft: runs-on: ubuntu-latest From a7a96f9289449aac333b0537c552cd9c32a47801 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 3 Mar 2022 19:02:10 +0000 Subject: [PATCH 24/52] Bump actions/upload-artifact from 2.3.1 to 3 Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 2.3.1 to 3. - [Release notes](https://github.com/actions/upload-artifact/releases) - [Commits](https://github.com/actions/upload-artifact/compare/v2.3.1...v3) --- updated-dependencies: - dependency-name: actions/upload-artifact dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- .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 466d5a6..325c2ff 100644 --- a/.github/workflows/maven-verify.yml +++ b/.github/workflows/maven-verify.yml @@ -170,7 +170,7 @@ jobs: run: ./mvnw --errors --batch-mode --show-version ${{ inputs.maven_args }} ${{ inputs.ff-site-goal }} - name: Upload artifact on failure - uses: actions/upload-artifact@v2.3.1 + uses: actions/upload-artifact@v3 if: failure() && inputs.failure-upload-path != '' with: name: failure-${{ inputs.ff-os }}-${{ inputs.ff-jdk }}-${{ inputs.ff-jdk-distribution }} @@ -239,7 +239,7 @@ jobs: run: ./mvnw --errors --batch-mode --show-version ${{ inputs.maven_args }} ${{ inputs.verify-site-goal }} - name: Upload artifact on failure - uses: actions/upload-artifact@v2.3.1 + uses: actions/upload-artifact@v3 if: steps.should-run.conclusion == 'success' && failure() && inputs.failure-upload-path != '' with: name: failure-${{ matrix.os }}-${{ matrix.jdk }}-${{ matrix.distribution }} From 51555a7e39a05ffb7990ddeb4b9c6178738b0309 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 28 Feb 2022 02:37:09 +0000 Subject: [PATCH 25/52] Bump actions/setup-java from 2.5.0 to 3 Bumps [actions/setup-java](https://github.com/actions/setup-java) from 2.5.0 to 3. - [Release notes](https://github.com/actions/setup-java/releases) - [Commits](https://github.com/actions/setup-java/compare/v2.5.0...v3) --- updated-dependencies: - dependency-name: actions/setup-java dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- .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 325c2ff..8f7d21c 100644 --- a/.github/workflows/maven-verify.yml +++ b/.github/workflows/maven-verify.yml @@ -154,7 +154,7 @@ jobs: persist-credentials: false - name: Set up JDK - uses: actions/setup-java@v2.5.0 + uses: actions/setup-java@v3 with: java-version: ${{ inputs.ff-jdk }} distribution: ${{ inputs.ff-jdk-distribution }} @@ -220,7 +220,7 @@ jobs: - name: Set up JDK if: steps.should-run.conclusion == 'success' - uses: actions/setup-java@v2.5.0 + uses: actions/setup-java@v3 with: java-version: ${{ matrix.jdk }} distribution: ${{ matrix.distribution }} From 1c6aa185befced00d7e3c101eb22b549a718d845 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 2 Mar 2022 02:44:14 +0000 Subject: [PATCH 26/52] Bump actions/checkout from 2.4.0 to 3 Bumps [actions/checkout](https://github.com/actions/checkout) from 2.4.0 to 3. - [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/v2.4.0...v3) --- updated-dependencies: - dependency-name: actions/checkout dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- .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 8f7d21c..f61ab6a 100644 --- a/.github/workflows/maven-verify.yml +++ b/.github/workflows/maven-verify.yml @@ -149,7 +149,7 @@ jobs: shell: bash - name: Checkout - uses: actions/checkout@v2.4.0 + uses: actions/checkout@v3 with: persist-credentials: false @@ -214,7 +214,7 @@ jobs: - name: Checkout if: steps.should-run.conclusion == 'success' - uses: actions/checkout@v2.4.0 + uses: actions/checkout@v3 with: persist-credentials: false From 23ace8e1f8f8842f68fc09bbfb7db877a4773b9e Mon Sep 17 00:00:00 2001 From: Slawomir Jaranowski Date: Thu, 3 Mar 2022 19:41:41 +0100 Subject: [PATCH 27/52] Site build improvement - build site only in ff - upload site as GH artifact - parent pom 35 - example java code --- .github/workflows/maven-verify.yml | 14 +++--- pom.xml | 2 +- src/main/java/org/apache/test/TestApp.java | 51 ++++++++++++++++++++++ 3 files changed, 60 insertions(+), 7 deletions(-) create mode 100644 src/main/java/org/apache/test/TestApp.java diff --git a/.github/workflows/maven-verify.yml b/.github/workflows/maven-verify.yml index f61ab6a..dc99077 100644 --- a/.github/workflows/maven-verify.yml +++ b/.github/workflows/maven-verify.yml @@ -169,11 +169,17 @@ jobs: - name: Build Maven Site run: ./mvnw --errors --batch-mode --show-version ${{ inputs.maven_args }} ${{ inputs.ff-site-goal }} + - name: Upload Maven Site + uses: actions/upload-artifact@v3 + with: + name: ${{ github.run_number }}-site-${{ inputs.ff-os }}-${{ inputs.ff-jdk }}-${{ inputs.ff-jdk-distribution }} + path: '**/target/site/**' + - name: Upload artifact on failure uses: actions/upload-artifact@v3 if: failure() && inputs.failure-upload-path != '' with: - name: 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 }} path: ${{ inputs.failure-upload-path }} - name: Show free disk space @@ -234,15 +240,11 @@ jobs: if: steps.should-run.conclusion == 'success' run: ./mvnw --errors --batch-mode --show-version ${{ inputs.maven_args }} ${{ inputs.verify-goal }} - - name: Build Maven Site - if: steps.should-run.conclusion == 'success' - run: ./mvnw --errors --batch-mode --show-version ${{ inputs.maven_args }} ${{ inputs.verify-site-goal }} - - name: Upload artifact on failure uses: actions/upload-artifact@v3 if: steps.should-run.conclusion == 'success' && failure() && inputs.failure-upload-path != '' with: - name: failure-${{ matrix.os }}-${{ matrix.jdk }}-${{ matrix.distribution }} + name: ${{ github.run_number }}-failure-${{ matrix.os }}-${{ matrix.jdk }}-${{ matrix.distribution }} path: ${{ inputs.failure-upload-path }} - name: Show free disk space diff --git a/pom.xml b/pom.xml index 454cc8e..76ceeef 100644 --- a/pom.xml +++ b/pom.xml @@ -25,7 +25,7 @@ maven-parent org.apache.maven - 34 + 35 diff --git a/src/main/java/org/apache/test/TestApp.java b/src/main/java/org/apache/test/TestApp.java new file mode 100644 index 0000000..852a5d0 --- /dev/null +++ b/src/main/java/org/apache/test/TestApp.java @@ -0,0 +1,51 @@ +package org.apache.test; + +/* + * 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. + */ + +/** + * Test app + */ +public class TestApp +{ + + public static void main( String[] args ) + { + m1(); + m2(); + } + + /** + * FIXME in javadoc + */ + private static void m1() + { + System.out.println( "Hello" ); + } + + private static void m2() + { + System.out.println( "Hello" ); + } + + private static void m3() + { + // TODO test tag + } +} From d781c1074127b486ffcfa00d507eaa1ba0aa3190 Mon Sep 17 00:00:00 2001 From: Slawomir Jaranowski Date: Fri, 4 Mar 2022 12:39:25 +0100 Subject: [PATCH 28/52] Exclude IT tests from site upload --- .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 dc99077..9b31b09 100644 --- a/.github/workflows/maven-verify.yml +++ b/.github/workflows/maven-verify.yml @@ -173,7 +173,9 @@ jobs: uses: actions/upload-artifact@v3 with: name: ${{ github.run_number }}-site-${{ inputs.ff-os }}-${{ inputs.ff-jdk }}-${{ inputs.ff-jdk-distribution }} - path: '**/target/site/**' + path: | + **/target/site/** + !**/target/it/** - name: Upload artifact on failure uses: actions/upload-artifact@v3 From c3b0baf76d0fdef58089c7964ec70315b8aa8eb9 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 8 Mar 2022 02:23:34 +0000 Subject: [PATCH 29/52] Bump release-drafter/release-drafter from 5.18.1 to 5.19.0 Bumps [release-drafter/release-drafter](https://github.com/release-drafter/release-drafter) from 5.18.1 to 5.19.0. - [Release notes](https://github.com/release-drafter/release-drafter/releases) - [Commits](https://github.com/release-drafter/release-drafter/compare/v5.18.1...v5.19.0) --- 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 cc752b1..25f459e 100644 --- a/.github/workflows/release-drafter.yml +++ b/.github/workflows/release-drafter.yml @@ -25,6 +25,6 @@ jobs: update_release_draft: runs-on: ubuntu-latest steps: - - uses: release-drafter/release-drafter@v5.18.1 + - uses: release-drafter/release-drafter@v5.19.0 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} From 940971f9ca39e1220e9d69e1d4c0b7a36ec2a877 Mon Sep 17 00:00:00 2001 From: Slawomir Jaranowski Date: Sat, 12 Mar 2022 20:26:36 +0100 Subject: [PATCH 30/52] Stage site output --- .github/workflows/maven-verify.yml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/.github/workflows/maven-verify.yml b/.github/workflows/maven-verify.yml index 9b31b09..fd8612a 100644 --- a/.github/workflows/maven-verify.yml +++ b/.github/workflows/maven-verify.yml @@ -96,7 +96,7 @@ on: ff-site-goal: description: The Maven goal used by fail-fast-build job to build site required: false - default: '-DskipTests -P reporting site' + default: '-DskipTests -P reporting site site:stage' type: string ff-timeout-minutes: @@ -174,8 +174,7 @@ jobs: with: name: ${{ github.run_number }}-site-${{ inputs.ff-os }}-${{ inputs.ff-jdk }}-${{ inputs.ff-jdk-distribution }} path: | - **/target/site/** - !**/target/it/** + target/staging/** - name: Upload artifact on failure uses: actions/upload-artifact@v3 From 889060f3e7fb8d9e0ac81e7a1b81636fe8628b28 Mon Sep 17 00:00:00 2001 From: Slawomir Jaranowski Date: Wed, 13 Apr 2022 10:44:29 +0200 Subject: [PATCH 31/52] Maven 3.8.5 by default --- .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 fd8612a..dcf4820 100644 --- a/.github/workflows/maven-verify.yml +++ b/.github/workflows/maven-verify.yml @@ -29,7 +29,7 @@ on: maven_version: description: The Maven version used for builds required: false - default: '3.8.4' + default: '3.8.5' type: string os-matrix: From 5fda02a97ac6062a2f8ae5823744906a5cfc20ce Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 12 May 2022 02:29:30 +0000 Subject: [PATCH 32/52] Bump release-drafter/release-drafter from 5.19.0 to 5.20.0 Bumps [release-drafter/release-drafter](https://github.com/release-drafter/release-drafter) from 5.19.0 to 5.20.0. - [Release notes](https://github.com/release-drafter/release-drafter/releases) - [Commits](https://github.com/release-drafter/release-drafter/compare/v5.19.0...v5.20.0) --- 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 25f459e..e194d9d 100644 --- a/.github/workflows/release-drafter.yml +++ b/.github/workflows/release-drafter.yml @@ -25,6 +25,6 @@ jobs: update_release_draft: runs-on: ubuntu-latest steps: - - uses: release-drafter/release-drafter@v5.19.0 + - uses: release-drafter/release-drafter@v5.20.0 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} From 78851c3922626a7aac9686b5abc3ff635772d40b Mon Sep 17 00:00:00 2001 From: Slawomir Jaranowski Date: Mon, 16 May 2022 00:04:58 +0200 Subject: [PATCH 33/52] use Maven wrapper version 3.1.0 due: https://issues.apache.org/jira/browse/MWRAPPER-66 --- .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 dcf4820..d748c27 100644 --- a/.github/workflows/maven-verify.yml +++ b/.github/workflows/maven-verify.yml @@ -161,7 +161,7 @@ jobs: cache: 'maven' - name: Set up Maven - run: mvn --errors --batch-mode --show-version wrapper:wrapper "-Dmaven=${{ inputs.maven_version }}" + run: mvn --errors --batch-mode --show-version org.apache.maven.plugins:maven-wrapper-plugin:3.1.0:wrapper "-Dmaven=${{ inputs.maven_version }}" - name: Build with Maven run: ./mvnw --errors --batch-mode --show-version ${{ inputs.maven_args }} ${{ inputs.ff-goal }} @@ -235,7 +235,7 @@ jobs: - name: Set up Maven if: steps.should-run.conclusion == 'success' - run: mvn --errors --batch-mode --show-version wrapper:wrapper "-Dmaven=${{ inputs.maven_version }}" + run: mvn --errors --batch-mode --show-version org.apache.maven.plugins:maven-wrapper-plugin:3.1.0:wrapper "-Dmaven=${{ inputs.maven_version }}" - name: Build with Maven if: steps.should-run.conclusion == 'success' From 721c423b9697c3a9fc9464ef7b9471f48fa17925 Mon Sep 17 00:00:00 2001 From: Niels Basjes Date: Mon, 23 May 2022 11:34:47 +0200 Subject: [PATCH 34/52] [SCM-988] Make all TCK tests run on all GH Actions platforms This closes #44 --- .github/workflows/maven-verify.yml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/.github/workflows/maven-verify.yml b/.github/workflows/maven-verify.yml index d748c27..d8011ec 100644 --- a/.github/workflows/maven-verify.yml +++ b/.github/workflows/maven-verify.yml @@ -214,6 +214,15 @@ jobs: inputs.verify-site-goal != inputs.ff-site-goal run: echo ok + # 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. + # https://docs.github.com/en/actions/using-github-hosted-runners/customizing-github-hosted-runners#installing-software-on-macos-runners + - name: Ensure all needed tools are installed (macOS) + if: steps.should-run.conclusion == 'success' && matrix.os == 'macOS-latest' + run: | + brew install mercurial + - name: Show free disk space if: steps.should-run.conclusion == 'success' run: df -h From f80c813e22aab83f9d9922db128cece13db7f64a Mon Sep 17 00:00:00 2001 From: Niels Basjes Date: Wed, 25 May 2022 03:50:15 +0200 Subject: [PATCH 35/52] [SCM-988] Make installing mercurial optional (#45) --- .github/workflows/maven-verify.yml | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/.github/workflows/maven-verify.yml b/.github/workflows/maven-verify.yml index d8011ec..bed4846 100644 --- a/.github/workflows/maven-verify.yml +++ b/.github/workflows/maven-verify.yml @@ -128,6 +128,12 @@ on: required: false type: string + install-mercurial: + description: Ensure all build images have Mercurial(hg) installed + required: false + default: false + type: boolean + # allow single build per branch or PR concurrency: group: ${{ github.workflow }}-${{ github.ref }} @@ -218,8 +224,11 @@ jobs: # Git and Subversion are installed on all by default. # Mercurial is not installed on macOS. # https://docs.github.com/en/actions/using-github-hosted-runners/customizing-github-hosted-runners#installing-software-on-macos-runners - - name: Ensure all needed tools are installed (macOS) - if: steps.should-run.conclusion == 'success' && matrix.os == 'macOS-latest' + - name: Install Mercurial (hg) on macOS + if: > + inputs.install-mercurial && + steps.should-run.conclusion == 'success' && + matrix.os == 'macOS-latest' run: | brew install mercurial From eec415d282c1767775dabfe6a45ed1d00000887f Mon Sep 17 00:00:00 2001 From: Tamas Cservenak Date: Sun, 19 Jun 2022 23:14:11 +0200 Subject: [PATCH 36/52] Add more FF flags (#46) Add more flags: * to control is FF step needed at all * to control is FF required to build site at all --- .github/workflows/maven-verify.yml | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/.github/workflows/maven-verify.yml b/.github/workflows/maven-verify.yml index bed4846..88f05dd 100644 --- a/.github/workflows/maven-verify.yml +++ b/.github/workflows/maven-verify.yml @@ -69,6 +69,12 @@ on: type: string # fail fast job setup + ff-run: + description: Determines should fail-fast-build run at all + required: false + default: true + type: boolean + ff-os: description: The os used during fail-fast-build job required: false @@ -93,6 +99,12 @@ on: default: '-P run-its verify' type: string + ff-site-run: + description: Determines should fail-fast-build run site step + required: false + default: true + type: boolean + ff-site-goal: description: The Maven goal used by fail-fast-build job to build site required: false @@ -147,7 +159,7 @@ jobs: runs-on: ${{ inputs.ff-os }} timeout-minutes: ${{ inputs.ff-timeout-minutes }} # 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 ) + if: inputs.ff-run && ( github.event_name == 'push' || ( github.event_name == 'pull_request' && github.event.pull_request.head.repo.fork ) ) steps: - name: Show free disk space @@ -174,6 +186,7 @@ jobs: - name: Build Maven Site run: ./mvnw --errors --batch-mode --show-version ${{ inputs.maven_args }} ${{ inputs.ff-site-goal }} + if: inputs.ff-site-run - name: Upload Maven Site uses: actions/upload-artifact@v3 @@ -199,7 +212,8 @@ jobs: name: ${{ matrix.os }} jdk-${{ matrix.jdk }}-${{ matrix.distribution }} timeout-minutes: ${{ inputs.timeout-minutes }} runs-on: ${{ matrix.os }} - + if: always() && ( !inputs.ff-run || needs.fail-fast-build.result == 'success' ) + strategy: fail-fast: ${{ inputs.verify-fail-fast }} matrix: From 26abd4930599f62baf2db54ca0a3d9d8f1e149a3 Mon Sep 17 00:00:00 2001 From: Slawomir Jaranowski Date: Sun, 19 Jun 2022 22:39:46 +0200 Subject: [PATCH 37/52] Use Maven 3.8.6 as default --- .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 88f05dd..1a473da 100644 --- a/.github/workflows/maven-verify.yml +++ b/.github/workflows/maven-verify.yml @@ -29,7 +29,7 @@ on: maven_version: description: The Maven version used for builds required: false - default: '3.8.5' + default: '3.8.6' type: string os-matrix: From ad64964007d2d1beff7ca5891c175e5b9bb6d89f Mon Sep 17 00:00:00 2001 From: Slawomir Jaranowski Date: Sun, 19 Jun 2022 22:57:11 +0200 Subject: [PATCH 38/52] Use local reference action during test --- .github/workflows/maven-verify-test.yml | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/.github/workflows/maven-verify-test.yml b/.github/workflows/maven-verify-test.yml index 1af31db..5c34b24 100644 --- a/.github/workflows/maven-verify-test.yml +++ b/.github/workflows/maven-verify-test.yml @@ -23,13 +23,11 @@ jobs: verify-1: name: Verify 1 - # for testing purpose you can change to your fork and branch - uses: apache/maven-gh-actions-shared/.github/workflows/maven-verify.yml@v2 + uses: ./.github/workflows/maven-verify.yml verify-2: name: Verify 2 - # for testing purpose you can change to your fork and branch - uses: apache/maven-gh-actions-shared/.github/workflows/maven-verify.yml@v2 + uses: ./.github/workflows/maven-verify.yml with: ff-goal: test verify-goal: clean install From 0a2a2d2ccc98abbe2198948ff0c38c92eb07660a Mon Sep 17 00:00:00 2001 From: Slawomir Jaranowski Date: Mon, 4 Jul 2022 21:06:47 +0200 Subject: [PATCH 39/52] Matrix build with many Maven versions additionally - remove not used verify-site-goal - rename maven_args to maven-args --- .github/workflows/maven-verify-test.yml | 3 +- .github/workflows/maven-verify.yml | 70 +++++++++++++------------ 2 files changed, 38 insertions(+), 35 deletions(-) diff --git a/.github/workflows/maven-verify-test.yml b/.github/workflows/maven-verify-test.yml index 5c34b24..c9c8e74 100644 --- a/.github/workflows/maven-verify-test.yml +++ b/.github/workflows/maven-verify-test.yml @@ -17,7 +17,7 @@ name: Verify - Test -on: push +on: [ push, pull_request ] jobs: @@ -32,3 +32,4 @@ jobs: ff-goal: test verify-goal: clean install verify-fail-fast: false + maven-matrix: '[ "3.2.5", "3.8.6" ]' diff --git a/.github/workflows/maven-verify.yml b/.github/workflows/maven-verify.yml index 1a473da..ac4f7e9 100644 --- a/.github/workflows/maven-verify.yml +++ b/.github/workflows/maven-verify.yml @@ -20,54 +20,54 @@ name: Verify on: workflow_call: inputs: - maven_args: + maven-args: description: The arguments to pass to all Maven commands when building the code required: false default: '-D"invoker.streamLogsOnFailures"' type: string - maven_version: - description: The Maven version used for builds - required: false - default: '3.8.6' - type: string - os-matrix: - description: 'os matrix as json array' + description: os matrix as json array required: false default: '[ "ubuntu-latest", "windows-latest", "macOS-latest" ]' type: string jdk-matrix: - description: 'jdk matrix as json array' + description: jdk matrix as json array required: false default: '[ "8", "11", "17" ]' type: string + jdk-distribution-matrix: + description: jdk distribution matrix + required: false + default: '[ "temurin" ]' + type: string + + maven-matrix: + description: The Maven version matrix as json array + required: false + default: '[ "3.8.6" ]' + type: string + matrix-exclude: - description: 'exclude for matrix as json' + description: exclude for matrix as json required: false default: '[]' type: string max-parallel: - description: 'max parallel jobs' + description: max parallel jobs required: false default: 100 type: number timeout-minutes: - description: 'timeout-minutes used by the builds (defaults to 360)' + description: timeout-minutes used by the builds (defaults to 360) required: false default: 360 type: number - jdk-distribution-matrix: - description: "jdk distribution matrix" - required: false - default: '[ "temurin" ]' - type: string - # fail fast job setup ff-run: description: Determines should fail-fast-build run at all @@ -81,6 +81,12 @@ on: default: 'ubuntu-latest' type: string + ff-maven: + description: The Maven version used during fail-fast-build job + required: false + default: '3.8.6' + type: string + ff-jdk: description: The jdk version used during fail-fast-build job required: false @@ -112,7 +118,7 @@ on: type: string ff-timeout-minutes: - description: 'timeout-minutes used by fail-fast-build jobs (defaults to 360)' + description: timeout-minutes used by fail-fast-build jobs (defaults to 360) required: false default: 360 type: number @@ -123,12 +129,6 @@ on: default: '-P run-its verify' type: string - verify-site-goal: - description: The Maven goal used by verfy jobs to build site - required: false - default: '-DskipTests -P reporting site' - type: string - verify-fail-fast: description: Determinate if verification matrix should fail fast required: false @@ -155,7 +155,7 @@ jobs: # verify build on one node - before matrix will start fail-fast-build: - name: ${{ inputs.ff-os }} jdk-${{ inputs.ff-jdk }}-${{ inputs.ff-jdk-distribution }} + name: ${{ inputs.ff-os }} jdk-${{ inputs.ff-jdk }}-${{ inputs.ff-jdk-distribution }} ${{ inputs.ff-maven }} runs-on: ${{ inputs.ff-os }} timeout-minutes: ${{ inputs.ff-timeout-minutes }} # execute on any push or pull request from forked repo @@ -179,13 +179,14 @@ jobs: cache: 'maven' - name: Set up Maven - run: mvn --errors --batch-mode --show-version org.apache.maven.plugins:maven-wrapper-plugin:3.1.0:wrapper "-Dmaven=${{ inputs.maven_version }}" + run: + mvn --errors --batch-mode --show-version org.apache.maven.plugins:maven-wrapper-plugin:3.1.0:wrapper "-Dmaven=${{ inputs.ff-maven }}" - name: Build with Maven - run: ./mvnw --errors --batch-mode --show-version ${{ inputs.maven_args }} ${{ inputs.ff-goal }} + run: ./mvnw --errors --batch-mode --show-version ${{ inputs.maven-args }} ${{ inputs.ff-goal }} - name: Build Maven Site - run: ./mvnw --errors --batch-mode --show-version ${{ inputs.maven_args }} ${{ inputs.ff-site-goal }} + run: ./mvnw --errors --batch-mode --show-version ${{ inputs.maven-args }} ${{ inputs.ff-site-goal }} if: inputs.ff-site-run - name: Upload Maven Site @@ -209,7 +210,7 @@ jobs: verify: needs: fail-fast-build - name: ${{ matrix.os }} jdk-${{ matrix.jdk }}-${{ matrix.distribution }} + 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' ) @@ -220,6 +221,7 @@ jobs: os: ${{ fromJSON( inputs.os-matrix ) }} jdk: ${{ fromJSON( inputs.jdk-matrix ) }} distribution: ${{ fromJSON( inputs.jdk-distribution-matrix ) }} + maven: ${{ fromJSON( inputs.maven-matrix ) }} exclude: ${{ fromJSON( inputs.matrix-exclude ) }} max-parallel: ${{ inputs.max-parallel }} @@ -230,8 +232,8 @@ jobs: matrix.os != inputs.ff-os || matrix.jdk != inputs.ff-jdk || matrix.distribution != inputs.ff-jdk-distribution || - inputs.verify-goal != inputs.ff-goal || - inputs.verify-site-goal != inputs.ff-site-goal + matrix.maven != inputs.ff-maven || + inputs.verify-goal != inputs.ff-goal run: echo ok # Some projects (like Maven SCM) need the command-line tools for all SCMs installed. @@ -267,11 +269,11 @@ 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.1.0:wrapper "-Dmaven=${{ inputs.maven_version }}" + run: mvn --errors --batch-mode --show-version org.apache.maven.plugins:maven-wrapper-plugin:3.1.0:wrapper "-Dmaven=${{ matrix.maven }}" - name: Build with Maven if: steps.should-run.conclusion == 'success' - run: ./mvnw --errors --batch-mode --show-version ${{ inputs.maven_args }} ${{ inputs.verify-goal }} + run: ./mvnw --errors --batch-mode --show-version ${{ inputs.maven-args }} ${{ inputs.verify-goal }} - name: Upload artifact on failure uses: actions/upload-artifact@v3 From 6fb412f2817e5c91dd530405f4568204e4fbea6e Mon Sep 17 00:00:00 2001 From: Olivier Lamy Date: Thu, 7 Jul 2022 07:43:32 +1000 Subject: [PATCH 40/52] add a clean to ensure we do not lock files for a windows build (#50) * add a clean to ensure we do not lock files for a windows build --- .github/workflows/maven-verify.yml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/.github/workflows/maven-verify.yml b/.github/workflows/maven-verify.yml index 1a473da..282ea88 100644 --- a/.github/workflows/maven-verify.yml +++ b/.github/workflows/maven-verify.yml @@ -187,6 +187,9 @@ jobs: - name: Build Maven Site run: ./mvnw --errors --batch-mode --show-version ${{ inputs.maven_args }} ${{ inputs.ff-site-goal }} if: inputs.ff-site-run + + - name: Clean Ensuring no file handle remains open on windows + run: ./mvnw clean --errors --batch-mode --show-version - name: Upload Maven Site uses: actions/upload-artifact@v3 @@ -272,6 +275,10 @@ jobs: - name: Build with Maven if: steps.should-run.conclusion == 'success' run: ./mvnw --errors --batch-mode --show-version ${{ inputs.maven_args }} ${{ inputs.verify-goal }} + + - name: Clean Ensuring no file handle remains open on windows + if: steps.should-run.conclusion == 'success' + run: ./mvnw clean --errors --batch-mode --show-version - name: Upload artifact on failure uses: actions/upload-artifact@v3 From 521775b79f8b54166588d3a4f79382741c028683 Mon Sep 17 00:00:00 2001 From: Olivier Lamy Date: Thu, 7 Jul 2022 16:49:33 +1000 Subject: [PATCH 41/52] Revert "Merge branch 'v3' into v2" This reverts commit 4b28f0c5fae375ed6c402496e1d3ceda1c51be23, reversing changes made to 6fb412f2817e5c91dd530405f4568204e4fbea6e. --- .github/workflows/maven-verify-test.yml | 3 +- .github/workflows/maven-verify.yml | 74 ++++++++++++------------- 2 files changed, 37 insertions(+), 40 deletions(-) diff --git a/.github/workflows/maven-verify-test.yml b/.github/workflows/maven-verify-test.yml index c9c8e74..5c34b24 100644 --- a/.github/workflows/maven-verify-test.yml +++ b/.github/workflows/maven-verify-test.yml @@ -17,7 +17,7 @@ name: Verify - Test -on: [ push, pull_request ] +on: push jobs: @@ -32,4 +32,3 @@ jobs: ff-goal: test verify-goal: clean install verify-fail-fast: false - maven-matrix: '[ "3.2.5", "3.8.6" ]' diff --git a/.github/workflows/maven-verify.yml b/.github/workflows/maven-verify.yml index 1e4f0c2..282ea88 100644 --- a/.github/workflows/maven-verify.yml +++ b/.github/workflows/maven-verify.yml @@ -20,54 +20,54 @@ name: Verify on: workflow_call: inputs: - maven-args: + maven_args: description: The arguments to pass to all Maven commands when building the code required: false default: '-D"invoker.streamLogsOnFailures"' type: string + maven_version: + description: The Maven version used for builds + required: false + default: '3.8.6' + type: string + os-matrix: - description: os matrix as json array + description: 'os matrix as json array' required: false default: '[ "ubuntu-latest", "windows-latest", "macOS-latest" ]' type: string jdk-matrix: - description: jdk matrix as json array + description: 'jdk matrix as json array' required: false default: '[ "8", "11", "17" ]' type: string - jdk-distribution-matrix: - description: jdk distribution matrix - required: false - default: '[ "temurin" ]' - type: string - - maven-matrix: - description: The Maven version matrix as json array - required: false - default: '[ "3.8.6" ]' - type: string - matrix-exclude: - description: exclude for matrix as json + description: 'exclude for matrix as json' required: false default: '[]' type: string max-parallel: - description: max parallel jobs + description: 'max parallel jobs' required: false default: 100 type: number timeout-minutes: - description: timeout-minutes used by the builds (defaults to 360) + description: 'timeout-minutes used by the builds (defaults to 360)' required: false default: 360 type: number + jdk-distribution-matrix: + description: "jdk distribution matrix" + required: false + default: '[ "temurin" ]' + type: string + # fail fast job setup ff-run: description: Determines should fail-fast-build run at all @@ -81,12 +81,6 @@ on: default: 'ubuntu-latest' type: string - ff-maven: - description: The Maven version used during fail-fast-build job - required: false - default: '3.8.6' - type: string - ff-jdk: description: The jdk version used during fail-fast-build job required: false @@ -118,7 +112,7 @@ on: type: string ff-timeout-minutes: - description: timeout-minutes used by fail-fast-build jobs (defaults to 360) + description: 'timeout-minutes used by fail-fast-build jobs (defaults to 360)' required: false default: 360 type: number @@ -129,6 +123,12 @@ on: default: '-P run-its verify' type: string + verify-site-goal: + description: The Maven goal used by verfy jobs to build site + required: false + default: '-DskipTests -P reporting site' + type: string + verify-fail-fast: description: Determinate if verification matrix should fail fast required: false @@ -155,7 +155,7 @@ jobs: # 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 }} runs-on: ${{ inputs.ff-os }} timeout-minutes: ${{ inputs.ff-timeout-minutes }} # execute on any push or pull request from forked repo @@ -179,14 +179,13 @@ jobs: cache: 'maven' - name: Set up Maven - run: - mvn --errors --batch-mode --show-version org.apache.maven.plugins:maven-wrapper-plugin:3.1.0:wrapper "-Dmaven=${{ inputs.ff-maven }}" + run: mvn --errors --batch-mode --show-version org.apache.maven.plugins:maven-wrapper-plugin:3.1.0:wrapper "-Dmaven=${{ inputs.maven_version }}" - name: Build with Maven - run: ./mvnw --errors --batch-mode --show-version ${{ inputs.maven-args }} ${{ inputs.ff-goal }} + run: ./mvnw --errors --batch-mode --show-version ${{ inputs.maven_args }} ${{ inputs.ff-goal }} - name: Build Maven Site - run: ./mvnw --errors --batch-mode --show-version ${{ inputs.maven-args }} ${{ inputs.ff-site-goal }} + run: ./mvnw --errors --batch-mode --show-version ${{ inputs.maven_args }} ${{ inputs.ff-site-goal }} if: inputs.ff-site-run - name: Clean Ensuring no file handle remains open on windows @@ -213,7 +212,7 @@ jobs: verify: needs: fail-fast-build - name: ${{ matrix.os }} jdk-${{ matrix.jdk }}-${{ matrix.distribution }} ${{ matrix.maven }} + name: ${{ matrix.os }} jdk-${{ matrix.jdk }}-${{ matrix.distribution }} timeout-minutes: ${{ inputs.timeout-minutes }} runs-on: ${{ matrix.os }} if: always() && ( !inputs.ff-run || needs.fail-fast-build.result == 'success' ) @@ -224,7 +223,6 @@ jobs: os: ${{ fromJSON( inputs.os-matrix ) }} jdk: ${{ fromJSON( inputs.jdk-matrix ) }} distribution: ${{ fromJSON( inputs.jdk-distribution-matrix ) }} - maven: ${{ fromJSON( inputs.maven-matrix ) }} exclude: ${{ fromJSON( inputs.matrix-exclude ) }} max-parallel: ${{ inputs.max-parallel }} @@ -235,8 +233,8 @@ jobs: matrix.os != inputs.ff-os || matrix.jdk != inputs.ff-jdk || matrix.distribution != inputs.ff-jdk-distribution || - matrix.maven != inputs.ff-maven || - inputs.verify-goal != inputs.ff-goal + inputs.verify-goal != inputs.ff-goal || + inputs.verify-site-goal != inputs.ff-site-goal run: echo ok # Some projects (like Maven SCM) need the command-line tools for all SCMs installed. @@ -272,15 +270,15 @@ 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.1.0:wrapper "-Dmaven=${{ matrix.maven }}" + run: mvn --errors --batch-mode --show-version org.apache.maven.plugins:maven-wrapper-plugin:3.1.0:wrapper "-Dmaven=${{ inputs.maven_version }}" - name: Build with Maven if: steps.should-run.conclusion == 'success' - run: ./mvnw --errors --batch-mode --show-version ${{ inputs.maven-args }} ${{ inputs.verify-goal }} - + run: ./mvnw --errors --batch-mode --show-version ${{ inputs.maven_args }} ${{ inputs.verify-goal }} + - 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 - name: Upload artifact on failure uses: actions/upload-artifact@v3 From 9b26d06575a777356807c71e2d4b6853b333101c Mon Sep 17 00:00:00 2001 From: Slawomir Jaranowski Date: Thu, 7 Jul 2022 09:30:59 +0200 Subject: [PATCH 42/52] Execute clean after artifact uploads --- .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 282ea88..48eaeed 100644 --- a/.github/workflows/maven-verify.yml +++ b/.github/workflows/maven-verify.yml @@ -187,9 +187,6 @@ jobs: - name: Build Maven Site run: ./mvnw --errors --batch-mode --show-version ${{ inputs.maven_args }} ${{ inputs.ff-site-goal }} if: inputs.ff-site-run - - - name: Clean Ensuring no file handle remains open on windows - run: ./mvnw clean --errors --batch-mode --show-version - name: Upload Maven Site uses: actions/upload-artifact@v3 @@ -210,6 +207,9 @@ jobs: run: df -h shell: bash + - name: Clean Ensuring no file handle remains open on windows + run: ./mvnw clean --errors --batch-mode --show-version + verify: needs: fail-fast-build name: ${{ matrix.os }} jdk-${{ matrix.jdk }}-${{ matrix.distribution }} @@ -275,10 +275,6 @@ jobs: - name: Build with Maven if: steps.should-run.conclusion == 'success' run: ./mvnw --errors --batch-mode --show-version ${{ inputs.maven_args }} ${{ inputs.verify-goal }} - - - name: Clean Ensuring no file handle remains open on windows - if: steps.should-run.conclusion == 'success' - run: ./mvnw clean --errors --batch-mode --show-version - name: Upload artifact on failure uses: actions/upload-artifact@v3 @@ -291,3 +287,7 @@ jobs: if: steps.should-run.conclusion == 'success' && always() run: df -h shell: bash + + - name: Clean Ensuring no file handle remains open on windows + if: steps.should-run.conclusion == 'success' + run: ./mvnw clean --errors --batch-mode --show-version From 4daf9ef6e7d91b2d4b951fdec0e87cc26296b31d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 17 Aug 2022 02:26:09 +0000 Subject: [PATCH 43/52] Bump release-drafter/release-drafter from 5.20.0 to 5.20.1 Bumps [release-drafter/release-drafter](https://github.com/release-drafter/release-drafter) from 5.20.0 to 5.20.1. - [Release notes](https://github.com/release-drafter/release-drafter/releases) - [Commits](https://github.com/release-drafter/release-drafter/compare/v5.20.0...v5.20.1) --- updated-dependencies: - dependency-name: release-drafter/release-drafter dependency-type: direct:production update-type: version-update:semver-patch ... 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 e194d9d..d2f8147 100644 --- a/.github/workflows/release-drafter.yml +++ b/.github/workflows/release-drafter.yml @@ -25,6 +25,6 @@ jobs: update_release_draft: runs-on: ubuntu-latest steps: - - uses: release-drafter/release-drafter@v5.20.0 + - uses: release-drafter/release-drafter@v5.20.1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} From 31f14a10eac98c11b09c68ce6986ef2be2f304ea Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 16 Sep 2022 02:45:49 +0000 Subject: [PATCH 44/52] Bump release-drafter/release-drafter from 5.20.1 to 5.21.0 Bumps [release-drafter/release-drafter](https://github.com/release-drafter/release-drafter) from 5.20.1 to 5.21.0. - [Release notes](https://github.com/release-drafter/release-drafter/releases) - [Commits](https://github.com/release-drafter/release-drafter/compare/v5.20.1...v5.21.0) --- 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 d2f8147..df6b4ef 100644 --- a/.github/workflows/release-drafter.yml +++ b/.github/workflows/release-drafter.yml @@ -25,6 +25,6 @@ jobs: update_release_draft: runs-on: ubuntu-latest steps: - - uses: release-drafter/release-drafter@v5.20.1 + - uses: release-drafter/release-drafter@v5.21.0 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} From fb35d73f0990d21f65101b886f64308d971e038b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 18 Oct 2022 02:26:52 +0000 Subject: [PATCH 45/52] Bump release-drafter/release-drafter from 5.21.0 to 5.21.1 Bumps [release-drafter/release-drafter](https://github.com/release-drafter/release-drafter) from 5.21.0 to 5.21.1. - [Release notes](https://github.com/release-drafter/release-drafter/releases) - [Commits](https://github.com/release-drafter/release-drafter/compare/v5.21.0...v5.21.1) --- updated-dependencies: - dependency-name: release-drafter/release-drafter dependency-type: direct:production update-type: version-update:semver-patch ... 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 df6b4ef..31ff17b 100644 --- a/.github/workflows/release-drafter.yml +++ b/.github/workflows/release-drafter.yml @@ -25,6 +25,6 @@ jobs: update_release_draft: runs-on: ubuntu-latest steps: - - uses: release-drafter/release-drafter@v5.21.0 + - uses: release-drafter/release-drafter@v5.21.1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} From 3d83b8b903c6b16f78064228f1bc764e0faab371 Mon Sep 17 00:00:00 2001 From: Slawomir Jaranowski Date: Sun, 1 Jan 2023 20:53:42 +0100 Subject: [PATCH 46/52] Use Maven 3.8.7 for builds as default - in V2 --- .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 48eaeed..f7e3623 100644 --- a/.github/workflows/maven-verify.yml +++ b/.github/workflows/maven-verify.yml @@ -29,7 +29,7 @@ on: maven_version: description: The Maven version used for builds required: false - default: '3.8.6' + default: '3.8.7' type: string os-matrix: From 2ff0b13356d6d6eed382f47376ab3e3d515efe20 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 3 Jan 2023 02:05:45 +0000 Subject: [PATCH 47/52] Bump release-drafter/release-drafter from 5.21.1 to 5.22.0 Bumps [release-drafter/release-drafter](https://github.com/release-drafter/release-drafter) from 5.21.1 to 5.22.0. - [Release notes](https://github.com/release-drafter/release-drafter/releases) - [Commits](https://github.com/release-drafter/release-drafter/compare/v5.21.1...v5.22.0) --- 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 31ff17b..1735ef0 100644 --- a/.github/workflows/release-drafter.yml +++ b/.github/workflows/release-drafter.yml @@ -25,6 +25,6 @@ jobs: update_release_draft: runs-on: ubuntu-latest steps: - - uses: release-drafter/release-drafter@v5.21.1 + - uses: release-drafter/release-drafter@v5.22.0 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} From 5d6b5b5daee038d20b084397f3f8a0408c426d0e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 22 Feb 2023 02:25:19 +0000 Subject: [PATCH 48/52] Bump release-drafter/release-drafter from 5.22.0 to 5.23.0 Bumps [release-drafter/release-drafter](https://github.com/release-drafter/release-drafter) from 5.22.0 to 5.23.0. - [Release notes](https://github.com/release-drafter/release-drafter/releases) - [Commits](https://github.com/release-drafter/release-drafter/compare/v5.22.0...v5.23.0) --- 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 1735ef0..666baa2 100644 --- a/.github/workflows/release-drafter.yml +++ b/.github/workflows/release-drafter.yml @@ -25,6 +25,6 @@ jobs: update_release_draft: runs-on: ubuntu-latest steps: - - uses: release-drafter/release-drafter@v5.22.0 + - uses: release-drafter/release-drafter@v5.23.0 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} From 4d8498e30a92391ad2a5659e935b593aea17aaf2 Mon Sep 17 00:00:00 2001 From: Sylwester Lachiewicz Date: Fri, 31 Mar 2023 22:42:15 +0200 Subject: [PATCH 49/52] Bump release-drafter to v5 --- .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 666baa2..bfbcd66 100644 --- a/.github/workflows/release-drafter.yml +++ b/.github/workflows/release-drafter.yml @@ -25,6 +25,6 @@ jobs: update_release_draft: runs-on: ubuntu-latest steps: - - uses: release-drafter/release-drafter@v5.23.0 + - uses: release-drafter/release-drafter@v5 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} From 6d5091a91dc4144c30b01b89e844f37fdb7425b0 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 5 Sep 2023 02:30:14 +0000 Subject: [PATCH 50/52] Bump actions/checkout from 3 to 4 Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to 4. - [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/v3...v4) --- updated-dependencies: - dependency-name: actions/checkout dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- .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 f7e3623..d9db4d4 100644 --- a/.github/workflows/maven-verify.yml +++ b/.github/workflows/maven-verify.yml @@ -167,7 +167,7 @@ jobs: shell: bash - name: Checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: persist-credentials: false @@ -256,7 +256,7 @@ jobs: - name: Checkout if: steps.should-run.conclusion == 'success' - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: persist-credentials: false From 9b6a180cb9f6ae8976f478a6c29952bff2ae6f70 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 2 Dec 2023 12:36:14 +0000 Subject: [PATCH 51/52] Bump actions/setup-java from 3 to 4 Bumps [actions/setup-java](https://github.com/actions/setup-java) from 3 to 4. - [Release notes](https://github.com/actions/setup-java/releases) - [Commits](https://github.com/actions/setup-java/compare/v3...v4) --- updated-dependencies: - dependency-name: actions/setup-java dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- .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 d9db4d4..a534f6b 100644 --- a/.github/workflows/maven-verify.yml +++ b/.github/workflows/maven-verify.yml @@ -172,7 +172,7 @@ jobs: persist-credentials: false - name: Set up JDK - uses: actions/setup-java@v3 + uses: actions/setup-java@v4 with: java-version: ${{ inputs.ff-jdk }} distribution: ${{ inputs.ff-jdk-distribution }} @@ -262,7 +262,7 @@ jobs: - name: Set up JDK if: steps.should-run.conclusion == 'success' - uses: actions/setup-java@v3 + uses: actions/setup-java@v4 with: java-version: ${{ matrix.jdk }} distribution: ${{ matrix.distribution }} From 8dd1f8ff38e2f34f3bc38686cbb1574672aa03ce Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 15 Dec 2023 02:47:20 +0000 Subject: [PATCH 52/52] Bump actions/upload-artifact from 3 to 4 Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 3 to 4. - [Release notes](https://github.com/actions/upload-artifact/releases) - [Commits](https://github.com/actions/upload-artifact/compare/v3...v4) --- updated-dependencies: - dependency-name: actions/upload-artifact dependency-type: direct:production update-type: version-update:semver-major ... 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 a534f6b..665a30b 100644 --- a/.github/workflows/maven-verify.yml +++ b/.github/workflows/maven-verify.yml @@ -189,14 +189,14 @@ jobs: if: inputs.ff-site-run - name: Upload Maven Site - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: ${{ github.run_number }}-site-${{ inputs.ff-os }}-${{ inputs.ff-jdk }}-${{ inputs.ff-jdk-distribution }} path: | target/staging/** - name: Upload artifact on failure - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 if: failure() && inputs.failure-upload-path != '' with: name: ${{ github.run_number }}-failure-${{ inputs.ff-os }}-${{ inputs.ff-jdk }}-${{ inputs.ff-jdk-distribution }} @@ -277,7 +277,7 @@ jobs: run: ./mvnw --errors --batch-mode --show-version ${{ inputs.maven_args }} ${{ inputs.verify-goal }} - name: Upload artifact on failure - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 if: steps.should-run.conclusion == 'success' && failure() && inputs.failure-upload-path != '' with: name: ${{ github.run_number }}-failure-${{ matrix.os }}-${{ matrix.jdk }}-${{ matrix.distribution }}