This is an automated email from the ASF dual-hosted git repository.

gnodet pushed a commit to branch MNG-7129-maven-caching
in repository https://gitbox.apache.org/repos/asf/maven.git

commit 28712e4ead6af05f8f034262469aca77967a7e0d
Author: Guillaume Nodet <gno...@gmail.com>
AuthorDate: Wed Dec 1 10:37:23 2021 +0100

    Fix github workflow
---
 .github/workflows/maven.yml | 116 +++++---------------------------------------
 1 file changed, 13 insertions(+), 103 deletions(-)

diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml
index addba89..4a79ed5 100644
--- a/.github/workflows/maven.yml
+++ b/.github/workflows/maven.yml
@@ -24,6 +24,7 @@ jobs:
     strategy:
       matrix:
         os: [ubuntu-latest, windows-latest, macOS-latest]
+        java: [11, 17]
       fail-fast: false
 
     runs-on: ${{ matrix.os }}
@@ -32,116 +33,25 @@ jobs:
       - uses: actions/checkout@v2
       - uses: actions/setup-java@v2
         with:
-          java-version: 8
+          java-version: 11
           distribution: 'temurin'
           cache: 'maven'
 
-      - name: Build with Maven
-        run: mvn verify -e -B -V -DdistributionFileName=apache-maven
-
-      - name: Upload built Maven
-        uses: actions/upload-artifact@v2
-        if: ${{ matrix.os == 'ubuntu-latest' }}
-        with:
-          name: built-maven
-          path: apache-maven/target/
-
-      - name: Upload built Apache Maven Wrapper
-        uses: actions/upload-artifact@v2
-        if: ${{ matrix.os == 'ubuntu-latest' }}
-        with:
-          name: built-apache-maven-wrapper
-          path: apache-maven-wrapper/target/
-
-      - name: Upload built Maven Wrapper
-        uses: actions/upload-artifact@v2
-        if: ${{ matrix.os == 'ubuntu-latest' }}
-        with:
-          name: built-maven-wrapper
-          path: maven-wrapper/target/maven-wrapper.jar
-
-  integration-test:
-    needs: build
-    strategy:
-      matrix:
-        os: [ubuntu-latest, windows-latest, macOS-latest]
-        java: [8, 11, 17]
-
-      fail-fast: false
-    runs-on: ${{ matrix.os }}
-
-    steps:
-      - name: Collect environment context variables
+      - name: Compute maven hash
         shell: bash
-        env:
-          PR_HEAD_LABEL: ${{ github.event.pull_request.head.label }}
-        run: |
-          set +e
-          repo=maven-integration-testing
-          target_branch=master
-          target_user=apache
-          if [ "$GITHUB_EVENT_NAME" == "pull_request" ]; then
-            user=${PR_HEAD_LABEL%:*}
-            branch=${PR_HEAD_LABEL#*:}
-          else
-            user=${GITHUB_REPOSITORY%/*}
-            branch=${GITHUB_REF#refs/heads/}
-          fi
-          if [ $branch != "master" ]; then
-            git ls-remote https://github.com/$user/$repo.git | grep 
"refs/heads/${branch}$" > /dev/null
-            if [ $? -eq 0 ]; then
-              echo "Found a branch \"$branch\" in fork \"$user/$repo\", 
configuring this for the integration tests to be run against."
-              target_branch=$branch
-              target_user=$user
-            else
-              echo "Could not find fork \"$user/$repo\" or a branch 
\"$branch\" in this fork. Falling back to \"$target_branch\" in 
\"$target_user/$repo\"."
-            fi
-          else
-            echo "Integration tests will run against $target_user/$repo for 
master builds."
-          fi
-          echo "REPO_BRANCH=$target_branch" >> $GITHUB_ENV
-          echo "REPO_USER=$target_user" >> $GITHUB_ENV
-
-      - name: Checkout maven-integration-testing
-        uses: actions/checkout@v2
-        with:
-          repository: ${{ env.REPO_USER }}/maven-integration-testing
-          path: maven-integration-testing/
-          ref: ${{ env.REPO_BRANCH }}
+        run: git submodule status >> maven/status.txt
 
-      - name: Set up cache for ~/.m2/repository
+      - name: Set up cache for maven distributions
+        id: cache
         uses: actions/cache@v2
         with:
-          path: ~/.m2/repository
-          key: it-m2-repo-${{ matrix.os }}-${{ 
hashFiles('maven-integration-testing/**/pom.xml') }}
-          restore-keys: |
-            it-m2-repo-${{ matrix.os }}-
-
-      - name: Download built Maven
-        uses: actions/download-artifact@v2
-        with:
-          name: built-maven
-          path: built-maven/
-
-      - name: Download built Apache Maven Wrapper
-        uses: actions/download-artifact@v2
-        with:
-          name: built-apache-maven-wrapper
-          path: built-apache-maven-wrapper/
+          path: ${{ env.REPO_USER }}/maven
+          key: maven-${{ matrix.os }}-${{ hashFiles('maven/status.txt') }}
 
-      - name: Download built Maven Wrapper
-        uses: actions/download-artifact@v2
-        with:
-          name: built-maven-wrapper
-          path: built-maven-wrapper/
+      - name: Build maven distributions
+        if: steps.cache.outputs.cache-hit != 'true'
+        run: run-its.sh
 
-      - name: Set up JDK
-        uses: actions/setup-java@v2
-        with:
-          java-version: ${{ matrix.java }}
-          distribution: 'temurin'
-          cache: 'maven'
+      - name: Build with Maven
+        run: mvn verify -e -B -V
 
-      - name: Running integration tests
-        shell: bash
-        run: mvn install -e -B -V -Prun-its,embedded 
-Dmaven.repo.local="$HOME/.m2/repository" 
-DmavenDistro="$GITHUB_WORKSPACE/built-maven/apache-maven-bin.zip" 
-DwrapperDistroDir="$GITHUB_WORKSPACE/built-apache-maven-wrapper/" 
-DmavenWrapper="$GITHUB_WORKSPACE/built-maven-wrapper/maven-wrapper.jar" -f 
maven-integration-testing/pom.xml

Reply via email to