This is an automated email from the ASF dual-hosted git repository. jamesnetherton pushed a commit to branch 3.27.x in repository https://gitbox.apache.org/repos/asf/camel-quarkus.git
commit a849ca560f29b611487daebd009ab0d24ad023fe Author: James Netherton <[email protected]> AuthorDate: Mon Jul 6 10:06:18 2026 +0100 Cache atlassian and shiboleth Maven artifacts --- .github/actions/setup-maven-cache/action.yaml | 104 ++++++++++ .github/workflows/camel-master-cron.yaml | 225 +++++++++------------ .github/workflows/check-dependency-convergence.yml | 4 +- .github/workflows/ci-build.yaml | 140 +++++-------- .github/workflows/generate-sbom-main.yml | 4 +- .github/workflows/label-issue.yaml | 2 +- .github/workflows/pr-validate.yml | 4 +- .github/workflows/quarkus-lts-ci-build.yaml | 132 +++++------- .github/workflows/quarkus-master-cron.yaml | 225 +++++++++------------ .../workflows/synchronize-dependabot-branch.yaml | 2 +- 10 files changed, 406 insertions(+), 436 deletions(-) diff --git a/.github/actions/setup-maven-cache/action.yaml b/.github/actions/setup-maven-cache/action.yaml new file mode 100644 index 0000000000..47b3ebd29b --- /dev/null +++ b/.github/actions/setup-maven-cache/action.yaml @@ -0,0 +1,104 @@ +# +# 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: 'Setup Maven Cache' +description: 'Manages the third-party Maven dependency cache. Use action=restore (default) before the build and action=save after.' +inputs: + action: + description: 'restore (default) or save' + default: 'restore' + maven-properties: + description: 'Maven property expressions to evaluate for the cache key, one per line. Ignored when cache-key is provided. Only used for restore.' + default: '' + pom-path: + description: 'Path to the POM file or directory passed to Maven -f. Defaults to pom.xml. Only used for restore.' + default: 'pom.xml' + cache-key: + description: 'restore: pre-computed key override (skips property evaluation). save: the key to save under (required).' + default: '' + download-maven-repo: + description: 'Download and extract the maven-repo workflow artifact after restoring the cache. Only used for restore.' + default: 'false' + cache-paths: + description: 'Paths under ~/.m2/repository to cache, one per line. Defaults to the known third-party artifact groups.' + default: | + ~/.m2/repository/com/atlassian + ~/.m2/repository/io/atlassian + ~/.m2/repository/org/opensaml + ~/.m2/repository/net/shibboleth + +outputs: + cache-key: + description: 'The resolved cache key (only set for action=restore)' + value: ${{ steps.resolve-key.outputs.key }} + +runs: + using: "composite" + steps: + - name: Resolve cache key + id: resolve-key + if: ${{ inputs.action == 'restore' }} + shell: bash + env: + PROVIDED_KEY: ${{ inputs.cache-key }} + MAVEN_PROPERTIES: ${{ inputs.maven-properties }} + POM_PATH: ${{ inputs.pom-path }} + run: | + if [[ -n "${PROVIDED_KEY}" ]]; then + echo "key=${PROVIDED_KEY}" >> $GITHUB_OUTPUT + elif [[ -n "${MAVEN_PROPERTIES}" ]]; then + VALS="" + while IFS= read -r PROP; do + PROP="${PROP//[[:space:]]/}" + [[ -z "${PROP}" ]] && continue + VAL=$(./mvnw help:evaluate -f "${POM_PATH}" -Dexpression="${PROP}" -q -DforceStdout -N) + VALS="${VALS}${VAL}\n" + done <<< "${MAVEN_PROPERTIES}" + HASH=$(printf "${VALS}" | sha256sum | cut -c1-16) + echo "key=third-party-maven-${HASH}" >> $GITHUB_OUTPUT + else + CAMEL_VER=$(grep -m1 '<version>' "${POM_PATH}" | sed 's|.*<version>\(.*\)</version>.*|\1|' | tr -d ' ') + CXF_VER=$(grep -m1 '<quarkiverse-cxf\.version>' "${POM_PATH}" | sed 's|.*<quarkiverse-cxf\.version>\(.*\)</quarkiverse-cxf\.version>.*|\1|' | tr -d ' ') + HASH=$(printf "${CAMEL_VER}\n${CXF_VER}\n" | sha256sum | cut -c1-16) + echo "key=third-party-maven-${HASH}" >> $GITHUB_OUTPUT + fi + - name: Restore Maven Cache + if: ${{ inputs.action == 'restore' }} + uses: actions/cache/restore@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5 + with: + path: ${{ inputs.cache-paths }} + key: ${{ steps.resolve-key.outputs.key }} + - name: Download Maven Repo + if: ${{ inputs.action == 'restore' && inputs.download-maven-repo == 'true' }} + uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1 + with: + name: maven-repo + path: .. + - name: Extract Maven Repo + if: ${{ inputs.action == 'restore' && inputs.download-maven-repo == 'true' }} + shell: bash + run: | + df -h / + tar -I 'zstd -d' -xf ../maven-repo.tar.zst -C ~ + rm -f ../maven-repo.tar.zst + df -h / + - name: Save Maven Cache + if: ${{ inputs.action == 'save' }} + uses: actions/cache/save@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5 + with: + path: ${{ inputs.cache-paths }} + key: ${{ inputs.cache-key }} diff --git a/.github/workflows/camel-master-cron.yaml b/.github/workflows/camel-master-cron.yaml index e022084420..ba89f15785 100644 --- a/.github/workflows/camel-master-cron.yaml +++ b/.github/workflows/camel-master-cron.yaml @@ -37,6 +37,7 @@ jobs: matrix: ${{ steps.set-native-matrix.outputs.matrix }} examples-matrix: ${{ steps.set-examples-matrix.outputs.examples-matrix }} alternate-jvm-matrix: ${{ steps.set-alternate-jvm-matrix.outputs.alternate-jvm-matrix }} + cache-key: ${{ steps.maven-cache.outputs.cache-key }} env: MAVEN_OPTS: -Xmx4600m steps: @@ -44,7 +45,7 @@ jobs: run: | df -h / - name: Set up JDK 17 - uses: actions/setup-java@dded0888837ed1f317902acf8a20df0ad188d165 # v5.0.0 + uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5.2.0 with: distribution: 'temurin' java-version: '17' @@ -53,10 +54,13 @@ jobs: [ ! -d ~/build-data ] && mkdir -p ~/build-data echo "${{ github.run_id }}-${{ github.run_number }}-$(uuidgen)" > ~/build-data/build-id.txt - name: Checkout - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: ref: camel-main fetch-depth: 0 + - name: Setup Maven Cache + id: maven-cache + uses: ./.github/actions/setup-maven-cache - name: Rebase branch main onto camel-main run: | git config --local user.email "41898282+github-actions[bot]@users.noreply.github.com" @@ -87,15 +91,21 @@ jobs: - name: Tar Maven Repo shell: bash run: | - tar -czf ${{ runner.temp }}/maven-repo.tgz -C ~ build-data .m2/repository - ls -lh ${{ runner.temp }}/maven-repo.tgz + tar -I 'zstd -T0' -cf ${{ runner.temp }}/maven-repo.tar.zst -C ~ build-data .m2/repository + ls -lh ${{ runner.temp }}/maven-repo.tar.zst df -h / - name: Persist Maven Repo - uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2 + uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0 with: name: maven-repo - path: ${{ runner.temp }}/maven-repo.tgz + path: ${{ runner.temp }}/maven-repo.tar.zst retention-days: 1 + - name: Save Maven Cache + uses: ./.github/actions/setup-maven-cache + if: always() + with: + action: save + cache-key: ${{ steps.maven-cache.outputs.cache-key }} - name: Setup Native Test Matrix id: set-native-matrix run: | @@ -144,36 +154,29 @@ jobs: fail-fast: false matrix: ${{ fromJson(needs.initial-mvn-install.outputs.matrix) }} steps: - - name: Download Maven Repo - uses: actions/download-artifact@634f93cb2916e3fdff6788551b99b062d0335ce0 # v5.0.0 - with: - name: maven-repo - path: .. - - name: Extract Maven Repo - shell: bash - run: | - df -h / - tar -xzf ../maven-repo.tgz -C ~ - rm -f ../maven-repo.tgz - df -h / - name: Checkout - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: ref: camel-main fetch-depth: 0 - name: Reclaim Disk Space run: .github/reclaim-disk-space.sh + - name: Set up JDK 17 + uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5.2.0 + with: + distribution: 'temurin' + java-version: '17' + - name: Setup Maven Cache + uses: ./.github/actions/setup-maven-cache + with: + cache-key: ${{ needs.initial-mvn-install.outputs.cache-key }} + download-maven-repo: 'true' - name: Rebase branch main onto camel-main run: | git config --local user.email "41898282+github-actions[bot]@users.noreply.github.com" git config --local user.name "github-actions[bot]" git fetch origin main git rebase $(cat ~/build-data/main-sha.txt) - - name: Set up JDK 17 - uses: actions/setup-java@dded0888837ed1f317902acf8a20df0ad188d165 # v5.0.0 - with: - distribution: 'temurin' - java-version: '17' - name: Integration Tests run: | for MODULE in $(yq -M -N e ".${{ matrix.category }}" tooling/scripts/test-categories.yaml | grep -vE '^\s*#' | cut -f2 -d' '); do @@ -231,34 +234,27 @@ jobs: env: MAVEN_OPTS: -Xmx3000m steps: - - name: Download Maven Repo - uses: actions/download-artifact@634f93cb2916e3fdff6788551b99b062d0335ce0 # v5.0.0 - with: - name: maven-repo - path: .. - - name: Extract Maven Repo - shell: bash - run: | - df -h / - tar -xzf ../maven-repo.tgz -C ~ - rm -f ../maven-repo.tgz - df -h / - name: Checkout - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: ref: camel-main fetch-depth: 0 + - name: Set up JDK 17 + uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5.2.0 + with: + distribution: 'temurin' + java-version: '17' + - name: Setup Maven Cache + uses: ./.github/actions/setup-maven-cache + with: + cache-key: ${{ needs.initial-mvn-install.outputs.cache-key }} + download-maven-repo: 'true' - name: Rebase branch main onto camel-main run: | git config --local user.email "41898282+github-actions[bot]@users.noreply.github.com" git config --local user.name "github-actions[bot]" git fetch origin main git rebase $(cat ~/build-data/main-sha.txt) - - name: Set up JDK 17 - uses: actions/setup-java@dded0888837ed1f317902acf8a20df0ad188d165 # v5.0.0 - with: - distribution: 'temurin' - java-version: '17' - name: cd extensions-core && mvn test run: | cd extensions-core @@ -333,34 +329,27 @@ jobs: env: MAVEN_OPTS: -Xmx3000m steps: - - name: Download Maven Repo - uses: actions/download-artifact@634f93cb2916e3fdff6788551b99b062d0335ce0 # v5.0.0 - with: - name: maven-repo - path: .. - - name: Extract Maven Repo - shell: bash - run: | - df -h / - tar -xzf ../maven-repo.tgz -C ~ - rm -f ../maven-repo.tgz - df -h / - name: Checkout - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: ref: camel-main fetch-depth: 0 + - name: Set up JDK ${{ matrix.java }} + uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5.2.0 + with: + distribution: 'temurin' + java-version: ${{ matrix.java }} + - name: Setup Maven Cache + uses: ./.github/actions/setup-maven-cache + with: + cache-key: ${{ needs.initial-mvn-install.outputs.cache-key }} + download-maven-repo: 'true' - name: Rebase branch main onto camel-main run: | git config --local user.email "41898282+github-actions[bot]@users.noreply.github.com" git config --local user.name "github-actions[bot]" git fetch origin main git rebase $(cat ~/build-data/main-sha.txt) - - name: Set up JDK ${{ matrix.java }} - uses: actions/setup-java@dded0888837ed1f317902acf8a20df0ad188d165 # v5.0.0 - with: - distribution: 'temurin' - java-version: ${{ matrix.java }} - name: cd integration-tests-jvm && mvn clean test run: | cd integration-tests-jvm @@ -387,36 +376,29 @@ jobs: env: MAVEN_OPTS: -Xmx3000m steps: - - name: Download Maven Repo - uses: actions/download-artifact@634f93cb2916e3fdff6788551b99b062d0335ce0 # v5.0.0 - with: - name: maven-repo - path: .. - - name: Extract Maven Repo - shell: bash - run: | - df -h / - tar -xzf ../maven-repo.tgz -C ~ - rm -f ../maven-repo.tgz - df -h / - name: Checkout - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: ref: camel-main fetch-depth: 0 - - name: Rebase branch main onto camel-main - run: | - git config --local user.email "41898282+github-actions[bot]@users.noreply.github.com" - git config --local user.name "github-actions[bot]" - git fetch origin main - git rebase $(cat ~/build-data/main-sha.txt) - name: Reclaim Disk Space run: .github/reclaim-disk-space.sh - name: Set up JDK 21 - uses: actions/setup-java@dded0888837ed1f317902acf8a20df0ad188d165 # v5.0.0 + uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5.2.0 with: distribution: 'temurin' java-version: '21' + - name: Setup Maven Cache + uses: ./.github/actions/setup-maven-cache + with: + cache-key: ${{ needs.initial-mvn-install.outputs.cache-key }} + download-maven-repo: 'true' + - name: Rebase branch main onto camel-main + run: | + git config --local user.email "41898282+github-actions[bot]@users.noreply.github.com" + git config --local user.name "github-actions[bot]" + git fetch origin main + git rebase $(cat ~/build-data/main-sha.txt) - name: cd integration-tests && mvn clean verify shell: bash env: @@ -444,32 +426,27 @@ jobs: env: MAVEN_OPTS: -Xmx3000m steps: - - name: Download Maven Repo - uses: actions/download-artifact@634f93cb2916e3fdff6788551b99b062d0335ce0 # v5.0.0 - with: - name: maven-repo - path: .. - - name: Extract Maven Repo - shell: bash - run: | - tar -xzf ../maven-repo.tgz -C ~ - rm -f ../maven-repo.tgz - name: Checkout - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: ref: camel-main fetch-depth: 0 + - name: Set up JDK 17 + uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5.2.0 + with: + distribution: 'temurin' + java-version: '17' + - name: Setup Maven Cache + uses: ./.github/actions/setup-maven-cache + with: + cache-key: ${{ needs.initial-mvn-install.outputs.cache-key }} + download-maven-repo: 'true' - name: Rebase branch main onto camel-main run: | git config --local user.email "41898282+github-actions[bot]@users.noreply.github.com" git config --local user.name "github-actions[bot]" git fetch origin main git rebase $(cat ~/build-data/main-sha.txt) - - name: Set up JDK 17 - uses: actions/setup-java@dded0888837ed1f317902acf8a20df0ad188d165 # v5.0.0 - with: - distribution: 'temurin' - java-version: '17' - name: cd integration-tests && mvn clean verify shell: bash run: | @@ -497,28 +474,21 @@ jobs: fail-fast: false matrix: ${{ fromJson(needs.initial-mvn-install.outputs.examples-matrix) }} steps: + - name: Checkout + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + with: + ref: camel-main + fetch-depth: 0 - name: Set up JDK 17 - uses: actions/setup-java@dded0888837ed1f317902acf8a20df0ad188d165 # v5.0.0 + uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5.2.0 with: distribution: 'temurin' java-version: '17' - - name: Download Maven Repo - uses: actions/download-artifact@634f93cb2916e3fdff6788551b99b062d0335ce0 # v5.0.0 + - name: Setup Maven Cache + uses: ./.github/actions/setup-maven-cache with: - name: maven-repo - path: .. - - name: Extract Maven Repo - shell: bash - run: | - df -h / - tar -xzf ../maven-repo.tgz -C ~ - rm -f ../maven-repo.tgz - df -h / - - name: Checkout - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 - with: - ref: camel-main - fetch-depth: 0 + cache-key: ${{ needs.initial-mvn-install.outputs.cache-key }} + download-maven-repo: 'true' - name: Rebase branch main onto camel-main run: | git config --local user.email "41898282+github-actions[bot]@users.noreply.github.com" @@ -579,31 +549,24 @@ jobs: ./mvnw ${CQ_MAVEN_ARGS} verify -N -Pbuild-notification -Dstatus=${{ job.status }} -DissueId=${{ env.ISSUE_ID }} -Dtoken=${{ secrets.GITHUB_TOKEN }} -DbuildId=$(cat ~/build-data/build-id.txt) -Drepo=${GITHUB_REPOSITORY} -Dbranch=camel-main -Dbranch-commit=$(cat ~/build-data/main-sha.txt) handle-build-status: - needs: native-tests + needs: [initial-mvn-install, native-tests] runs-on: ubuntu-latest steps: + - name: Checkout + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + with: + ref: camel-main + fetch-depth: 0 - name: Set up JDK 17 - uses: actions/setup-java@dded0888837ed1f317902acf8a20df0ad188d165 # v5.0.0 + uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5.2.0 with: distribution: 'temurin' java-version: '17' - - name: Download Maven Repo - uses: actions/download-artifact@634f93cb2916e3fdff6788551b99b062d0335ce0 # v5.0.0 - with: - name: maven-repo - path: .. - - name: Extract Maven Repo - shell: bash - run: | - df -h / - tar -xzf ../maven-repo.tgz -C ~ - rm -f ../maven-repo.tgz - df -h / - - name: Checkout - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + - name: Setup Maven Cache + uses: ./.github/actions/setup-maven-cache with: - ref: camel-main - fetch-depth: 0 + cache-key: ${{ needs.initial-mvn-install.outputs.cache-key }} + download-maven-repo: 'true' - name: Rebase branch main onto camel-main run: | git config --local user.email "41898282+github-actions[bot]@users.noreply.github.com" diff --git a/.github/workflows/check-dependency-convergence.yml b/.github/workflows/check-dependency-convergence.yml index e75497d37b..8c71efe7af 100644 --- a/.github/workflows/check-dependency-convergence.yml +++ b/.github/workflows/check-dependency-convergence.yml @@ -41,12 +41,12 @@ jobs: issues: write steps: - name: Set up JDK 17 - uses: actions/setup-java@dded0888837ed1f317902acf8a20df0ad188d165 # v5.0.0 + uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5.2.0 with: distribution: 'temurin' java-version: '17' - name: Checkout - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: Set Build Info run: | [ ! -d ~/build-data ] && mkdir -p ~/build-data diff --git a/.github/workflows/ci-build.yaml b/.github/workflows/ci-build.yaml index 589cc3805d..4803686ec3 100644 --- a/.github/workflows/ci-build.yaml +++ b/.github/workflows/ci-build.yaml @@ -104,13 +104,13 @@ jobs: echo "run-checks=false" >> $GITHUB_OUTPUT fi - name: Set up JDK 17 - uses: actions/setup-java@dded0888837ed1f317902acf8a20df0ad188d165 # v5.0.0 + uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5.2.0 if: steps.init.outputs.run-checks == 'true' with: distribution: 'temurin' java-version: '17' - name: Checkout - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 if: steps.init.outputs.run-checks == 'true' with: ref: ${{ env.CHECKOUT_REF }} @@ -139,7 +139,7 @@ jobs: echo "continue-build=true" >> $GITHUB_OUTPUT fi - name: Upload dependabot changeset - uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2 + uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0 if: steps.pre-build-checks.outputs.continue-build == 'false' with: name: dependabot-pr-changeset @@ -154,6 +154,7 @@ jobs: matrix: ${{ steps.set-native-matrix.outputs.matrix }} examples-matrix: ${{ steps.set-examples-matrix.outputs.examples-matrix }} alternate-jvm-matrix: ${{ steps.set-alternate-jvm-matrix.outputs.alternate-jvm-matrix }} + cache-key: ${{ steps.maven-cache.outputs.cache-key }} env: MAVEN_OPTS: -Xmx4600m steps: @@ -161,7 +162,7 @@ jobs: run: | df -h / - name: Set up JDK 17 - uses: actions/setup-java@dded0888837ed1f317902acf8a20df0ad188d165 # v5.0.0 + uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5.2.0 with: distribution: 'temurin' java-version: '17' @@ -182,10 +183,13 @@ jobs: && sed -i '/<module>integration-tests<\/module>/d' pom.xml \ && ./mvnw ${CQ_MAVEN_ARGS} clean install -Dquickly -Prelocations -T1C - name: Checkout - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: ref: ${{ env.CHECKOUT_REF }} fetch-depth: 0 + - name: Setup Maven Cache + id: maven-cache + uses: ./.github/actions/setup-maven-cache - name: Update extension metadata run: | ./mvnw -N cq:update-quarkus-metadata ${CQ_MAVEN_ARGS} @@ -202,15 +206,21 @@ jobs: - name: Tar Maven Repo shell: bash run: | - tar -czf ${{ runner.temp }}/maven-repo.tgz -C ~ .m2/repository - ls -lh ${{ runner.temp }}/maven-repo.tgz + tar -I 'zstd -T0' -cf ${{ runner.temp }}/maven-repo.tar.zst -C ~ .m2/repository + ls -lh ${{ runner.temp }}/maven-repo.tar.zst df -h / - name: Persist Maven Repo - uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2 + uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0 with: name: maven-repo - path: ${{ runner.temp }}/maven-repo.tgz + path: ${{ runner.temp }}/maven-repo.tar.zst retention-days: 1 + - name: Save Maven Cache + uses: ./.github/actions/setup-maven-cache + if: always() + with: + action: save + cache-key: ${{ steps.maven-cache.outputs.cache-key }} - name: Setup Native Test Matrix id: set-native-matrix run: | @@ -252,29 +262,22 @@ jobs: matrix: ${{ fromJson(needs.initial-mvn-install.outputs.matrix) }} steps: - name: Checkout - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: ref: ${{ env.CHECKOUT_REF }} fetch-depth: 0 - name: Reclaim Disk Space run: .github/reclaim-disk-space.sh - name: Set up JDK 17 - uses: actions/setup-java@dded0888837ed1f317902acf8a20df0ad188d165 # v5.0.0 + uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5.2.0 with: distribution: 'temurin' java-version: '17' - - name: Download Maven Repo - uses: actions/download-artifact@634f93cb2916e3fdff6788551b99b062d0335ce0 # v5.0.0 + - name: Setup Maven Cache + uses: ./.github/actions/setup-maven-cache with: - name: maven-repo - path: .. - - name: Extract Maven Repo - shell: bash - run: | - df -h / - tar -xzf ../maven-repo.tgz -C ~ - rm -f ../maven-repo.tgz - df -h / + cache-key: ${{ needs.initial-mvn-install.outputs.cache-key }} + download-maven-repo: 'true' - name: Integration Tests run: | for MODULE in $(yq -M -N e ".${{ matrix.category }}" tooling/scripts/test-categories.yaml | grep -vE '^\s*#' | cut -f2 -d' '); do @@ -330,27 +333,20 @@ jobs: MAVEN_OPTS: -Xmx3000m steps: - name: Checkout - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: ref: ${{ env.CHECKOUT_REF }} fetch-depth: 0 - name: Set up JDK 17 - uses: actions/setup-java@dded0888837ed1f317902acf8a20df0ad188d165 # v5.0.0 + uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5.2.0 with: distribution: 'temurin' java-version: '17' - - name: Download Maven Repo - uses: actions/download-artifact@634f93cb2916e3fdff6788551b99b062d0335ce0 # v5.0.0 + - name: Setup Maven Cache + uses: ./.github/actions/setup-maven-cache with: - name: maven-repo - path: .. - - name: Extract Maven Repo - shell: bash - run: | - df -h / - tar -xzf ../maven-repo.tgz -C ~ - rm -f ../maven-repo.tgz - df -h / + cache-key: ${{ needs.initial-mvn-install.outputs.cache-key }} + download-maven-repo: 'true' - name: cd extensions-core && mvn test run: | cd extensions-core @@ -422,27 +418,20 @@ jobs: MAVEN_OPTS: -Xmx3000m steps: - name: Checkout - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: ref: ${{ env.CHECKOUT_REF }} fetch-depth: 0 - name: Set up JDK ${{ matrix.java }} - uses: actions/setup-java@dded0888837ed1f317902acf8a20df0ad188d165 # v5.0.0 + uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5.2.0 with: distribution: 'temurin' java-version: ${{ matrix.java }} - - name: Download Maven Repo - uses: actions/download-artifact@634f93cb2916e3fdff6788551b99b062d0335ce0 # v5.0.0 + - name: Setup Maven Cache + uses: ./.github/actions/setup-maven-cache with: - name: maven-repo - path: .. - - name: Extract Maven Repo - shell: bash - run: | - df -h / - tar -xzf ../maven-repo.tgz -C ~ - rm -f ../maven-repo.tgz - df -h / + cache-key: ${{ needs.initial-mvn-install.outputs.cache-key }} + download-maven-repo: 'true' - name: cd integration-tests-jvm && mvn clean test run: | cd integration-tests-jvm @@ -468,29 +457,22 @@ jobs: MAVEN_OPTS: -Xmx3000m steps: - name: Checkout - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: ref: ${{ env.CHECKOUT_REF }} fetch-depth: 0 - name: Reclaim Disk Space run: .github/reclaim-disk-space.sh - name: Set up JDK 21 - uses: actions/setup-java@dded0888837ed1f317902acf8a20df0ad188d165 # v5.0.0 + uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5.2.0 with: distribution: 'temurin' java-version: '21' - - name: Download Maven Repo - uses: actions/download-artifact@634f93cb2916e3fdff6788551b99b062d0335ce0 # v5.0.0 + - name: Setup Maven Cache + uses: ./.github/actions/setup-maven-cache with: - name: maven-repo - path: .. - - name: Extract Maven Repo - shell: bash - run: | - df -h / - tar -xzf ../maven-repo.tgz -C ~ - rm -f ../maven-repo.tgz - df -h / + cache-key: ${{ needs.initial-mvn-install.outputs.cache-key }} + download-maven-repo: 'true' - name: cd integration-tests && mvn clean verify shell: bash env: @@ -520,25 +502,20 @@ jobs: MAVEN_OPTS: -Xmx3000m steps: - name: Checkout - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: ref: ${{ env.CHECKOUT_REF }} fetch-depth: 0 - name: Set up JDK 17 - uses: actions/setup-java@dded0888837ed1f317902acf8a20df0ad188d165 # v5.0.0 + uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5.2.0 with: distribution: 'temurin' java-version: '17' - - name: Download Maven Repo - uses: actions/download-artifact@634f93cb2916e3fdff6788551b99b062d0335ce0 # v5.0.0 + - name: Setup Maven Cache + uses: ./.github/actions/setup-maven-cache with: - name: maven-repo - path: .. - - name: Extract Maven Repo - shell: bash - run: | - tar -xzf ../maven-repo.tgz -C ~ - rm -f ../maven-repo.tgz + cache-key: ${{ needs.initial-mvn-install.outputs.cache-key }} + download-maven-repo: 'true' - name: cd integration-tests && mvn clean verify shell: bash run: | @@ -563,24 +540,17 @@ jobs: matrix: ${{ fromJson(needs.initial-mvn-install.outputs.examples-matrix) }} steps: - name: Checkout - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: Set up JDK 17 - uses: actions/setup-java@dded0888837ed1f317902acf8a20df0ad188d165 # v5.0.0 + uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5.2.0 with: distribution: 'temurin' java-version: '17' - - name: Download Maven Repo - uses: actions/download-artifact@634f93cb2916e3fdff6788551b99b062d0335ce0 # v5.0.0 + - name: Setup Maven Cache + uses: ./.github/actions/setup-maven-cache with: - name: maven-repo - path: .. - - name: Extract Maven Repo - shell: bash - run: | - df -h / - tar -xzf ../maven-repo.tgz -C ~ - rm -f ../maven-repo.tgz - df -h / + cache-key: ${{ needs.initial-mvn-install.outputs.cache-key }} + download-maven-repo: 'true' - name: set CQ_VERSION run: echo "CQ_VERSION=$(./mvnw help:evaluate -Dexpression=project.version -q -DforceStdout -N)" >> $GITHUB_ENV - name: clone and verify examples diff --git a/.github/workflows/generate-sbom-main.yml b/.github/workflows/generate-sbom-main.yml index 9299f95bfe..3561685cc0 100644 --- a/.github/workflows/generate-sbom-main.yml +++ b/.github/workflows/generate-sbom-main.yml @@ -41,11 +41,11 @@ jobs: matrix: java: [ '17' ] steps: - - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: persist-credentials: false - name: Set up JDK ${{ matrix.java }} - uses: actions/setup-java@dded0888837ed1f317902acf8a20df0ad188d165 # v5.0.0 + uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5.2.0 with: distribution: 'temurin' java-version: ${{ matrix.java }} diff --git a/.github/workflows/label-issue.yaml b/.github/workflows/label-issue.yaml index 94adb5883c..9a8f383469 100644 --- a/.github/workflows/label-issue.yaml +++ b/.github/workflows/label-issue.yaml @@ -41,7 +41,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout Code - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: ref: main - name: Install js-yaml package diff --git a/.github/workflows/pr-validate.yml b/.github/workflows/pr-validate.yml index 9273d6fb63..fb7becde24 100644 --- a/.github/workflows/pr-validate.yml +++ b/.github/workflows/pr-validate.yml @@ -73,9 +73,9 @@ jobs: if: github.base_ref == 'quarkus-main' run: | echo "BRANCH_OPTIONS=-Poss-snapshots" >> $GITHUB_ENV - - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: Set up JDK 17 - uses: actions/setup-java@dded0888837ed1f317902acf8a20df0ad188d165 # v5.0.0 + uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5.2.0 with: distribution: 'temurin' java-version: '17' diff --git a/.github/workflows/quarkus-lts-ci-build.yaml b/.github/workflows/quarkus-lts-ci-build.yaml index 6a511a7307..3c37c89d69 100644 --- a/.github/workflows/quarkus-lts-ci-build.yaml +++ b/.github/workflows/quarkus-lts-ci-build.yaml @@ -46,6 +46,7 @@ jobs: matrix: ${{ steps.set-native-matrix.outputs.matrix }} examples-matrix: ${{ steps.set-examples-matrix.outputs.examples-matrix }} alternate-jvm-matrix: ${{ steps.set-alternate-jvm-matrix.outputs.alternate-jvm-matrix }} + cache-key: ${{ steps.maven-cache.outputs.cache-key }} env: MAVEN_OPTS: -Xmx4600m steps: @@ -53,7 +54,7 @@ jobs: run: | df -h / - name: Set up JDK 17 - uses: actions/setup-java@dded0888837ed1f317902acf8a20df0ad188d165 # v5.0.0 + uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5.2.0 with: distribution: 'temurin' java-version: '17' @@ -65,10 +66,13 @@ jobs: && sed -i '/<module>integration-tests<\/module>/d' pom.xml \ && ./mvnw ${CQ_MAVEN_ARGS} clean install -Dquickly -Prelocations -T1C - name: Checkout - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: ref: ${{ github.event.inputs.branch }}.x fetch-depth: 0 + - name: Setup Maven Cache + id: maven-cache + uses: ./.github/actions/setup-maven-cache - name: Set Quarkus SNAPSHOT Version run: | sed -i 's/<quarkus.version>.*<\/quarkus.version>/<quarkus.version>${{github.event.inputs.branch}}.999-SNAPSHOT<\/quarkus.version>/' pom.xml @@ -88,15 +92,21 @@ jobs: - name: Tar Maven Repo shell: bash run: | - tar -czf ${{ runner.temp }}/maven-repo.tgz -C ~ .m2/repository - ls -lh ${{ runner.temp }}/maven-repo.tgz + tar -I 'zstd -T0' -cf ${{ runner.temp }}/maven-repo.tar.zst -C ~ .m2/repository + ls -lh ${{ runner.temp }}/maven-repo.tar.zst df -h / - name: Persist Maven Repo - uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2 + uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0 with: name: maven-repo - path: ${{ runner.temp }}/maven-repo.tgz + path: ${{ runner.temp }}/maven-repo.tar.zst retention-days: 1 + - name: Save Maven Cache + uses: ./.github/actions/setup-maven-cache + if: always() + with: + action: save + cache-key: ${{ steps.maven-cache.outputs.cache-key }} - name: Setup Native Test Matrix id: set-native-matrix run: | @@ -131,7 +141,7 @@ jobs: matrix: ${{ fromJson(needs.initial-mvn-install.outputs.matrix) }} steps: - name: Checkout - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: ref: ${{ github.event.inputs.branch }}.x fetch-depth: 0 @@ -141,22 +151,15 @@ jobs: - name: Reclaim Disk Space run: .github/reclaim-disk-space.sh - name: Set up JDK 17 - uses: actions/setup-java@dded0888837ed1f317902acf8a20df0ad188d165 # v5.0.0 + uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5.2.0 with: distribution: 'temurin' java-version: '17' - - name: Download Maven Repo - uses: actions/download-artifact@634f93cb2916e3fdff6788551b99b062d0335ce0 # v5.0.0 + - name: Setup Maven Cache + uses: ./.github/actions/setup-maven-cache with: - name: maven-repo - path: .. - - name: Extract Maven Repo - shell: bash - run: | - df -h / - tar -xzf ../maven-repo.tgz -C ~ - rm -f ../maven-repo.tgz - df -h / + cache-key: ${{ needs.initial-mvn-install.outputs.cache-key }} + download-maven-repo: 'true' - name: Integration Tests run: | for MODULE in $(yq -M -N e ".${{ matrix.category }}" tooling/scripts/test-categories.yaml | grep -vE '^\s*#' | cut -f2 -d' '); do @@ -211,7 +214,7 @@ jobs: MAVEN_OPTS: -Xmx3000m steps: - name: Checkout - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: ref: ${{ github.event.inputs.branch }}.x fetch-depth: 0 @@ -219,22 +222,15 @@ jobs: run: | sed -i 's/<quarkus.version>.*<\/quarkus.version>/<quarkus.version>${{github.event.inputs.branch}}.999-SNAPSHOT<\/quarkus.version>/' pom.xml - name: Set up JDK 17 - uses: actions/setup-java@dded0888837ed1f317902acf8a20df0ad188d165 # v5.0.0 + uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5.2.0 with: distribution: 'temurin' java-version: '17' - - name: Download Maven Repo - uses: actions/download-artifact@634f93cb2916e3fdff6788551b99b062d0335ce0 # v5.0.0 + - name: Setup Maven Cache + uses: ./.github/actions/setup-maven-cache with: - name: maven-repo - path: .. - - name: Extract Maven Repo - shell: bash - run: | - df -h / - tar -xzf ../maven-repo.tgz -C ~ - rm -f ../maven-repo.tgz - df -h / + cache-key: ${{ needs.initial-mvn-install.outputs.cache-key }} + download-maven-repo: 'true' - name: cd extensions-core && mvn test run: | cd extensions-core @@ -306,7 +302,7 @@ jobs: MAVEN_OPTS: -Xmx3000m steps: - name: Checkout - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: ref: ${{ github.event.inputs.branch }}.x fetch-depth: 0 @@ -314,22 +310,15 @@ jobs: run: | sed -i 's/<quarkus.version>.*<\/quarkus.version>/<quarkus.version>${{github.event.inputs.branch}}.999-SNAPSHOT<\/quarkus.version>/' pom.xml - name: Set up JDK ${{ matrix.java }} - uses: actions/setup-java@dded0888837ed1f317902acf8a20df0ad188d165 # v5.0.0 + uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5.2.0 with: distribution: 'temurin' java-version: ${{ matrix.java }} - - name: Download Maven Repo - uses: actions/download-artifact@634f93cb2916e3fdff6788551b99b062d0335ce0 # v5.0.0 + - name: Setup Maven Cache + uses: ./.github/actions/setup-maven-cache with: - name: maven-repo - path: .. - - name: Extract Maven Repo - shell: bash - run: | - df -h / - tar -xzf ../maven-repo.tgz -C ~ - rm -f ../maven-repo.tgz - df -h / + cache-key: ${{ needs.initial-mvn-install.outputs.cache-key }} + download-maven-repo: 'true' - name: cd integration-tests-jvm && mvn clean test run: | cd integration-tests-jvm @@ -354,7 +343,7 @@ jobs: MAVEN_OPTS: -Xmx3000m steps: - name: Checkout - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: ref: ${{ github.event.inputs.branch }}.x fetch-depth: 0 @@ -364,22 +353,15 @@ jobs: - name: Reclaim Disk Space run: .github/reclaim-disk-space.sh - name: Set up JDK 21 - uses: actions/setup-java@dded0888837ed1f317902acf8a20df0ad188d165 # v5.0.0 + uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5.2.0 with: distribution: 'temurin' java-version: '21' - - name: Download Maven Repo - uses: actions/download-artifact@634f93cb2916e3fdff6788551b99b062d0335ce0 # v5.0.0 + - name: Setup Maven Cache + uses: ./.github/actions/setup-maven-cache with: - name: maven-repo - path: .. - - name: Extract Maven Repo - shell: bash - run: | - df -h / - tar -xzf ../maven-repo.tgz -C ~ - rm -f ../maven-repo.tgz - df -h / + cache-key: ${{ needs.initial-mvn-install.outputs.cache-key }} + download-maven-repo: 'true' - name: cd integration-tests && mvn clean verify shell: bash env: @@ -408,7 +390,7 @@ jobs: MAVEN_OPTS: -Xmx3000m steps: - name: Checkout - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: ref: ${{ github.event.inputs.branch }}.x fetch-depth: 0 @@ -417,20 +399,15 @@ jobs: run: | sed -i 's/<quarkus.version>.*<\/quarkus.version>/<quarkus.version>${{github.event.inputs.branch}}.999-SNAPSHOT<\/quarkus.version>/' pom.xml - name: Set up JDK 17 - uses: actions/setup-java@dded0888837ed1f317902acf8a20df0ad188d165 # v5.0.0 + uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5.2.0 with: distribution: 'temurin' java-version: '17' - - name: Download Maven Repo - uses: actions/download-artifact@634f93cb2916e3fdff6788551b99b062d0335ce0 # v5.0.0 + - name: Setup Maven Cache + uses: ./.github/actions/setup-maven-cache with: - name: maven-repo - path: .. - - name: Extract Maven Repo - shell: bash - run: | - tar -xzf ../maven-repo.tgz -C ~ - rm -f ../maven-repo.tgz + cache-key: ${{ needs.initial-mvn-install.outputs.cache-key }} + download-maven-repo: 'true' - name: cd integration-tests && mvn clean verify shell: bash run: | @@ -454,22 +431,15 @@ jobs: matrix: ${{ fromJson(needs.initial-mvn-install.outputs.examples-matrix) }} steps: - name: Set up JDK 17 - uses: actions/setup-java@dded0888837ed1f317902acf8a20df0ad188d165 # v5.0.0 + uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5.2.0 with: distribution: 'temurin' java-version: '17' - - name: Download Maven Repo - uses: actions/download-artifact@634f93cb2916e3fdff6788551b99b062d0335ce0 # v5.0.0 + - name: Setup Maven Cache + uses: ./.github/actions/setup-maven-cache with: - name: maven-repo - path: .. - - name: Extract Maven Repo - shell: bash - run: | - df -h / - tar -xzf ../maven-repo.tgz -C ~ - rm -f ../maven-repo.tgz - df -h / + cache-key: ${{ needs.initial-mvn-install.outputs.cache-key }} + download-maven-repo: 'true' - name: set CQ_VERSION run: echo "CQ_VERSION=$(./mvnw help:evaluate -Dexpression=project.version -q -DforceStdout -N)" >> $GITHUB_ENV - name: clone and verify examples diff --git a/.github/workflows/quarkus-master-cron.yaml b/.github/workflows/quarkus-master-cron.yaml index 659e760c34..4f5c874124 100644 --- a/.github/workflows/quarkus-master-cron.yaml +++ b/.github/workflows/quarkus-master-cron.yaml @@ -37,6 +37,7 @@ jobs: matrix: ${{ steps.set-native-matrix.outputs.matrix }} examples-matrix: ${{ steps.set-examples-matrix.outputs.examples-matrix }} alternate-jvm-matrix: ${{ steps.set-alternate-jvm-matrix.outputs.alternate-jvm-matrix }} + cache-key: ${{ steps.maven-cache.outputs.cache-key }} env: MAVEN_OPTS: -Xmx4600m steps: @@ -44,7 +45,7 @@ jobs: run: | df -h / - name: Set up JDK 17 - uses: actions/setup-java@dded0888837ed1f317902acf8a20df0ad188d165 # v5.0.0 + uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5.2.0 with: distribution: 'temurin' java-version: '17' @@ -53,10 +54,13 @@ jobs: [ ! -d ~/build-data ] && mkdir -p ~/build-data echo "${{ github.run_id }}-${{ github.run_number }}-$(uuidgen)" > ~/build-data/build-id.txt - name: Checkout - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: ref: quarkus-main fetch-depth: 0 + - name: Setup Maven Cache + id: maven-cache + uses: ./.github/actions/setup-maven-cache - name: Rebase branch main onto quarkus-main run: | git config --local user.email "41898282+github-actions[bot]@users.noreply.github.com" @@ -88,15 +92,21 @@ jobs: - name: Tar Maven Repo shell: bash run: | - tar -czf ${{ runner.temp }}/maven-repo.tgz -C ~ build-data .m2/repository - ls -lh ${{ runner.temp }}/maven-repo.tgz + tar -I 'zstd -T0' -cf ${{ runner.temp }}/maven-repo.tar.zst -C ~ build-data .m2/repository + ls -lh ${{ runner.temp }}/maven-repo.tar.zst df -h / - name: Persist Maven Repo - uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2 + uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0 with: name: maven-repo - path: ${{ runner.temp }}/maven-repo.tgz + path: ${{ runner.temp }}/maven-repo.tar.zst retention-days: 1 + - name: Save Maven Cache + uses: ./.github/actions/setup-maven-cache + if: always() + with: + action: save + cache-key: ${{ steps.maven-cache.outputs.cache-key }} - name: Setup Native Test Matrix id: set-native-matrix run: | @@ -145,36 +155,29 @@ jobs: fail-fast: false matrix: ${{ fromJson(needs.initial-mvn-install.outputs.matrix) }} steps: - - name: Download Maven Repo - uses: actions/download-artifact@634f93cb2916e3fdff6788551b99b062d0335ce0 # v5.0.0 - with: - name: maven-repo - path: .. - - name: Extract Maven Repo - shell: bash - run: | - df -h / - tar -xzf ../maven-repo.tgz -C ~ - rm -f ../maven-repo.tgz - df -h / - name: Checkout - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: ref: quarkus-main fetch-depth: 0 - name: Reclaim Disk Space run: .github/reclaim-disk-space.sh + - name: Set up JDK 17 + uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5.2.0 + with: + distribution: 'temurin' + java-version: '17' + - name: Setup Maven Cache + uses: ./.github/actions/setup-maven-cache + with: + cache-key: ${{ needs.initial-mvn-install.outputs.cache-key }} + download-maven-repo: 'true' - name: Rebase branch main onto quarkus-main run: | git config --local user.email "41898282+github-actions[bot]@users.noreply.github.com" git config --local user.name "github-actions[bot]" git fetch origin main git rebase $(cat ~/build-data/main-sha.txt) - - name: Set up JDK 17 - uses: actions/setup-java@dded0888837ed1f317902acf8a20df0ad188d165 # v5.0.0 - with: - distribution: 'temurin' - java-version: '17' - name: Integration Tests run: | for MODULE in $(yq -M -N e ".${{ matrix.category }}" tooling/scripts/test-categories.yaml | grep -vE '^\s*#' | cut -f2 -d' '); do @@ -232,34 +235,27 @@ jobs: env: MAVEN_OPTS: -Xmx3000m steps: - - name: Download Maven Repo - uses: actions/download-artifact@634f93cb2916e3fdff6788551b99b062d0335ce0 # v5.0.0 - with: - name: maven-repo - path: .. - - name: Extract Maven Repo - shell: bash - run: | - df -h / - tar -xzf ../maven-repo.tgz -C ~ - rm -f ../maven-repo.tgz - df -h / - name: Checkout - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: ref: quarkus-main fetch-depth: 0 + - name: Set up JDK 17 + uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5.2.0 + with: + distribution: 'temurin' + java-version: '17' + - name: Setup Maven Cache + uses: ./.github/actions/setup-maven-cache + with: + cache-key: ${{ needs.initial-mvn-install.outputs.cache-key }} + download-maven-repo: 'true' - name: Rebase branch main onto quarkus-main run: | git config --local user.email "41898282+github-actions[bot]@users.noreply.github.com" git config --local user.name "github-actions[bot]" git fetch origin main git rebase $(cat ~/build-data/main-sha.txt) - - name: Set up JDK 17 - uses: actions/setup-java@dded0888837ed1f317902acf8a20df0ad188d165 # v5.0.0 - with: - distribution: 'temurin' - java-version: '17' - name: cd extensions-core && mvn test run: | cd extensions-core @@ -334,34 +330,27 @@ jobs: env: MAVEN_OPTS: -Xmx3000m steps: - - name: Download Maven Repo - uses: actions/download-artifact@634f93cb2916e3fdff6788551b99b062d0335ce0 # v5.0.0 - with: - name: maven-repo - path: .. - - name: Extract Maven Repo - shell: bash - run: | - df -h / - tar -xzf ../maven-repo.tgz -C ~ - rm -f ../maven-repo.tgz - df -h / - name: Checkout - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: ref: quarkus-main fetch-depth: 0 + - name: Set up JDK ${{ matrix.java }} + uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5.2.0 + with: + distribution: 'temurin' + java-version: ${{ matrix.java }} + - name: Setup Maven Cache + uses: ./.github/actions/setup-maven-cache + with: + cache-key: ${{ needs.initial-mvn-install.outputs.cache-key }} + download-maven-repo: 'true' - name: Rebase branch main onto quarkus-main run: | git config --local user.email "41898282+github-actions[bot]@users.noreply.github.com" git config --local user.name "github-actions[bot]" git fetch origin main git rebase $(cat ~/build-data/main-sha.txt) - - name: Set up JDK ${{ matrix.java }} - uses: actions/setup-java@dded0888837ed1f317902acf8a20df0ad188d165 # v5.0.0 - with: - distribution: 'temurin' - java-version: ${{ matrix.java }} - name: cd integration-tests-jvm && mvn clean test run: | cd integration-tests-jvm @@ -388,36 +377,29 @@ jobs: env: MAVEN_OPTS: -Xmx3000m steps: - - name: Download Maven Repo - uses: actions/download-artifact@634f93cb2916e3fdff6788551b99b062d0335ce0 # v5.0.0 - with: - name: maven-repo - path: .. - - name: Extract Maven Repo - shell: bash - run: | - df -h / - tar -xzf ../maven-repo.tgz -C ~ - rm -f ../maven-repo.tgz - df -h / - name: Checkout - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: ref: quarkus-main fetch-depth: 0 - - name: Rebase branch main onto quarkus-main - run: | - git config --local user.email "41898282+github-actions[bot]@users.noreply.github.com" - git config --local user.name "github-actions[bot]" - git fetch origin main - git rebase $(cat ~/build-data/main-sha.txt) - name: Reclaim Disk Space run: .github/reclaim-disk-space.sh - name: Set up JDK 21 - uses: actions/setup-java@dded0888837ed1f317902acf8a20df0ad188d165 # v5.0.0 + uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5.2.0 with: distribution: 'temurin' java-version: '21' + - name: Setup Maven Cache + uses: ./.github/actions/setup-maven-cache + with: + cache-key: ${{ needs.initial-mvn-install.outputs.cache-key }} + download-maven-repo: 'true' + - name: Rebase branch main onto quarkus-main + run: | + git config --local user.email "41898282+github-actions[bot]@users.noreply.github.com" + git config --local user.name "github-actions[bot]" + git fetch origin main + git rebase $(cat ~/build-data/main-sha.txt) - name: cd integration-tests && mvn clean verify shell: bash env: @@ -445,32 +427,27 @@ jobs: env: MAVEN_OPTS: -Xmx3000m steps: - - name: Download Maven Repo - uses: actions/download-artifact@634f93cb2916e3fdff6788551b99b062d0335ce0 # v5.0.0 - with: - name: maven-repo - path: .. - - name: Extract Maven Repo - shell: bash - run: | - tar -xzf ../maven-repo.tgz -C ~ - rm -f ../maven-repo.tgz - name: Checkout - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: ref: quarkus-main fetch-depth: 0 + - name: Set up JDK 17 + uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5.2.0 + with: + distribution: 'temurin' + java-version: '17' + - name: Setup Maven Cache + uses: ./.github/actions/setup-maven-cache + with: + cache-key: ${{ needs.initial-mvn-install.outputs.cache-key }} + download-maven-repo: 'true' - name: Rebase branch main onto quarkus-main run: | git config --local user.email "41898282+github-actions[bot]@users.noreply.github.com" git config --local user.name "github-actions[bot]" git fetch origin main git rebase $(cat ~/build-data/main-sha.txt) - - name: Set up JDK 17 - uses: actions/setup-java@dded0888837ed1f317902acf8a20df0ad188d165 # v5.0.0 - with: - distribution: 'temurin' - java-version: '17' - name: cd integration-tests && mvn clean verify shell: bash run: | @@ -498,28 +475,21 @@ jobs: fail-fast: false matrix: ${{ fromJson(needs.initial-mvn-install.outputs.examples-matrix) }} steps: + - name: Checkout + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + with: + ref: quarkus-main + fetch-depth: 0 - name: Set up JDK 17 - uses: actions/setup-java@dded0888837ed1f317902acf8a20df0ad188d165 # v5.0.0 + uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5.2.0 with: distribution: 'temurin' java-version: '17' - - name: Download Maven Repo - uses: actions/download-artifact@634f93cb2916e3fdff6788551b99b062d0335ce0 # v5.0.0 + - name: Setup Maven Cache + uses: ./.github/actions/setup-maven-cache with: - name: maven-repo - path: .. - - name: Extract Maven Repo - shell: bash - run: | - df -h / - tar -xzf ../maven-repo.tgz -C ~ - rm -f ../maven-repo.tgz - df -h / - - name: Checkout - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 - with: - ref: quarkus-main - fetch-depth: 0 + cache-key: ${{ needs.initial-mvn-install.outputs.cache-key }} + download-maven-repo: 'true' - name: Rebase branch main onto quarkus-main run: | git config --local user.email "41898282+github-actions[bot]@users.noreply.github.com" @@ -580,31 +550,24 @@ jobs: ./mvnw ${CQ_MAVEN_ARGS} verify -N -Pbuild-notification -Dstatus=${{ job.status }} -DissueId=${{ env.ISSUE_ID }} -Dtoken=${{ secrets.GITHUB_TOKEN }} -DbuildId=$(cat ~/build-data/build-id.txt) -Drepo=${GITHUB_REPOSITORY} -Dbranch=quarkus-main -Dbranch-commit=$(cat ~/build-data/main-sha.txt) handle-build-status: - needs: native-tests + needs: [initial-mvn-install, native-tests] runs-on: ubuntu-latest steps: + - name: Checkout + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + with: + ref: quarkus-main + fetch-depth: 0 - name: Set up JDK 17 - uses: actions/setup-java@dded0888837ed1f317902acf8a20df0ad188d165 # v5.0.0 + uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5.2.0 with: distribution: 'temurin' java-version: '17' - - name: Download Maven Repo - uses: actions/download-artifact@634f93cb2916e3fdff6788551b99b062d0335ce0 # v5.0.0 - with: - name: maven-repo - path: .. - - name: Extract Maven Repo - shell: bash - run: | - df -h / - tar -xzf ../maven-repo.tgz -C ~ - rm -f ../maven-repo.tgz - df -h / - - name: Checkout - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + - name: Setup Maven Cache + uses: ./.github/actions/setup-maven-cache with: - ref: quarkus-main - fetch-depth: 0 + cache-key: ${{ needs.initial-mvn-install.outputs.cache-key }} + download-maven-repo: 'true' - name: Rebase branch main onto quarkus-main run: | git config --local user.email "41898282+github-actions[bot]@users.noreply.github.com" diff --git a/.github/workflows/synchronize-dependabot-branch.yaml b/.github/workflows/synchronize-dependabot-branch.yaml index 5a18bcb913..bb191ed909 100644 --- a/.github/workflows/synchronize-dependabot-branch.yaml +++ b/.github/workflows/synchronize-dependabot-branch.yaml @@ -85,7 +85,7 @@ jobs: echo "pr-number=${PR_NUMBER}" >> $GITHUB_OUTPUT fi - name: Checkout dependabot branch - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 if: steps.setup-dependabot-patches.outputs.pr-head-sha != '' with: ref: ${{ steps.setup-dependabot-patches.outputs.pr-head-sha }}
