This is an automated email from the ASF dual-hosted git repository. sjaranowski pushed a commit to branch mvn4 in repository https://gitbox.apache.org/repos/asf/maven-gh-actions-shared.git
commit e1daa50718b3a3d3002a09c39afef7277ddb0c53 Author: Slawomir Jaranowski <s.jaranow...@gmail.com> AuthorDate: Sat Jun 1 16:40:27 2024 +0200 Add support for Maven 4 --- .github/workflows/maven-verify-test.yml | 7 ++++ .github/workflows/maven-verify.yml | 61 ++++++++++++++++++++++++++++++--- 2 files changed, 64 insertions(+), 4 deletions(-) diff --git a/.github/workflows/maven-verify-test.yml b/.github/workflows/maven-verify-test.yml index 3cd11dd..c28a794 100644 --- a/.github/workflows/maven-verify-test.yml +++ b/.github/workflows/maven-verify-test.yml @@ -36,3 +36,10 @@ jobs: verify-goal: clean install verify-fail-fast: false maven-matrix: '[ "3.9.6", "3.8.8", "3.6.3" ]' + + verify-3: + name: Verify 3 + uses: ./.github/workflows/maven-verify.yml + needs: verify-2 + with: + maven4-enabled: true diff --git a/.github/workflows/maven-verify.yml b/.github/workflows/maven-verify.yml index b8a2cca..3f9957a 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: + 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 + run: | + { + echo 'matrix<<EOF' + if [ "${{ inputs.maven4-enabled }}" = "true" ]; then + echo '${{ inputs.maven-matrix }}' | jq -c '. + ["${{ inputs.maven4-verison }}"]' + else + echo '${{ inputs.maven-matrix }}' + fi + echo "EOF" + } >> "$GITHUB_OUTPUT" + + - id: exclude + run: | + { + echo "matrix<<EOF" + if [ "${{ inputs.maven4-enabled }}" = "true" ]; then + echo '${{ inputs.matrix-exclude }}' | jq -c '. + [{"jdk": "8", "maven": "${{ inputs.maven4-verison }}"}]' + else + echo '${{ inputs.matrix-exclude }}' + fi + echo "EOF" + } >> "$GITHUB_OUTPUT" + + + test-setup: + needs: setup-matrix + runs-on: "ubuntu-latest" + + steps: + - run: | + echo '${{ needs.setup-matrix.maven }}' + echo '${{ needs.setup-matrix.exclude }}' + 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' ) 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.maven ) }} include: ${{ fromJSON( inputs.matrix-include ) }} - exclude: ${{ fromJSON( inputs.matrix-exclude ) }} + exclude: ${{ fromJSON( needs.setup-matrix.exclude ) }} max-parallel: ${{ inputs.max-parallel }} steps: