From 272dc1e0b1043845526dcb986b7d9ccf5bdb6ed6 Mon Sep 17 00:00:00 2001 From: Trask Stalnaker Date: Wed, 2 Mar 2022 17:16:36 -0800 Subject: [PATCH] Move testLatestDeps to reusable workflow (#5487) --- .github/workflows/ci.yml | 23 +++--------- .github/workflows/nightly-no-cache.yml | 21 +++-------- .github/workflows/nightly.yml | 23 +++--------- .github/workflows/pr.yml | 22 +++--------- .github/workflows/test-latest-deps.yml | 48 ++++++++++++++++++++++++++ 5 files changed, 67 insertions(+), 70 deletions(-) create mode 100644 .github/workflows/test-latest-deps.yml diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 77232e0be3..06e308b88c 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -84,28 +84,15 @@ jobs: arguments: test -PtestJavaVersion=${{ matrix.test-java-version }} -PtestJavaVM=${{ matrix.vm }} -Porg.gradle.java.installations.paths=${{ steps.setup-test-java.outputs.path }} -Porg.gradle.java.installations.auto-download=false testLatestDeps: - runs-on: ubuntu-latest # release branches are excluded # because any time a new library version is released to maven central it can fail # which requires unnecessary release branch maintenance, especially for patches if: ${{ !startsWith(github.ref_name, 'v') }} - steps: - - uses: actions/checkout@v3 - - - name: Set up JDK 11 for running Gradle - uses: actions/setup-java@v2 - with: - distribution: adopt - java-version: 11 - - - name: Test - env: - GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }} - GE_CACHE_USERNAME: ${{ secrets.GE_CACHE_USERNAME }} - GE_CACHE_PASSWORD: ${{ secrets.GE_CACHE_PASSWORD }} - uses: gradle/gradle-build-action@v2 - with: - arguments: test -PtestLatestDeps=true + uses: ./.github/workflows/test-latest-deps.yml + secrets: + GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }} + GE_CACHE_USERNAME: ${{ secrets.GE_CACHE_USERNAME }} + GE_CACHE_PASSWORD: ${{ secrets.GE_CACHE_PASSWORD }} smoke-test: uses: ./.github/workflows/smoke-test.yml diff --git a/.github/workflows/nightly-no-cache.yml b/.github/workflows/nightly-no-cache.yml index fbdb351e83..5f326b6d92 100644 --- a/.github/workflows/nightly-no-cache.yml +++ b/.github/workflows/nightly-no-cache.yml @@ -79,22 +79,11 @@ jobs: arguments: test -PtestJavaVersion=${{ matrix.test-java-version }} -PtestJavaVM=${{ matrix.vm }} -Porg.gradle.java.installations.paths=${{ steps.setup-test-java.outputs.path }} -Porg.gradle.java.installations.auto-download=false --no-build-cache testLatestDeps: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v3 - - - name: Set up JDK 11 for running Gradle - uses: actions/setup-java@v2 - with: - distribution: adopt - java-version: 11 - - - name: Test - env: - GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }} - uses: gradle/gradle-build-action@v2 - with: - arguments: test -PtestLatestDeps=true --no-build-cache + uses: ./.github/workflows/test-latest-deps.yml + with: + no-build-cache: true + secrets: + GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }} smoke-test: uses: ./.github/workflows/smoke-test.yml diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml index 72ad821f5f..d0de7ae104 100644 --- a/.github/workflows/nightly.yml +++ b/.github/workflows/nightly.yml @@ -83,24 +83,11 @@ jobs: arguments: test -PtestJavaVersion=${{ matrix.test-java-version }} -PtestJavaVM=${{ matrix.vm }} -Porg.gradle.java.installations.paths=${{ steps.setup-test-java.outputs.path }} -Porg.gradle.java.installations.auto-download=false testLatestDeps: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v3 - - - name: Set up JDK 11 for running Gradle - uses: actions/setup-java@v2 - with: - distribution: adopt - java-version: 11 - - - name: Test - env: - GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }} - GE_CACHE_USERNAME: ${{ secrets.GE_CACHE_USERNAME }} - GE_CACHE_PASSWORD: ${{ secrets.GE_CACHE_PASSWORD }} - uses: gradle/gradle-build-action@v2 - with: - arguments: test -PtestLatestDeps=true + uses: ./.github/workflows/test-latest-deps.yml + secrets: + GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }} + GE_CACHE_USERNAME: ${{ secrets.GE_CACHE_USERNAME }} + GE_CACHE_PASSWORD: ${{ secrets.GE_CACHE_PASSWORD }} smoke-test: uses: ./.github/workflows/smoke-test.yml diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index 53f7f2ec2f..1858beaa92 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -139,24 +139,10 @@ jobs: # # and the name is updated when the steps below are skipped which makes what's happening clearer # in the GitHub UI - name: testLatestDeps${{ !contains(github.event.pull_request.labels.*.name, 'test latest deps') && ' (skipped)' || '' }} - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v3 - - - name: Set up JDK 11 for running Gradle - if: ${{ contains(github.event.pull_request.labels.*.name, 'test latest deps') }} - uses: actions/setup-java@v2 - with: - distribution: adopt - java-version: 11 - - - name: Test - if: ${{ contains(github.event.pull_request.labels.*.name, 'test latest deps') }} - uses: gradle/gradle-build-action@v2 - with: - arguments: test -PtestLatestDeps=true - cache-read-only: true + uses: ./.github/workflows/test-latest-deps.yml + with: + skip: ${{ !contains(github.event.pull_request.labels.*.name, 'test latest deps') }} + cache-read-only: true smoke-test: uses: ./.github/workflows/smoke-test.yml diff --git a/.github/workflows/test-latest-deps.yml b/.github/workflows/test-latest-deps.yml new file mode 100644 index 0000000000..ee0af70161 --- /dev/null +++ b/.github/workflows/test-latest-deps.yml @@ -0,0 +1,48 @@ +name: Test latest deps + +on: + workflow_call: + inputs: + skip: + type: boolean + required: false + cache-read-only: + type: boolean + required: false + no-build-cache: + type: boolean + required: false + secrets: + GRADLE_ENTERPRISE_ACCESS_KEY: + required: false + GE_CACHE_USERNAME: + required: false + GE_CACHE_PASSWORD: + required: false + +jobs: + testLatestDeps: + # the condition is on the steps below instead of here on the job, because skipping the job + # causes the job to show up as canceled in the GitHub UI which prevents the build section from + # collapsing when everything (else) is green + # + # and the name is updated when the steps below are skipped which makes what's happening clearer + # in the GitHub UI + name: testLatestDeps${{ inputs.skip && ' (skipped)' || '' }} + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + + - name: Set up JDK 11 for running Gradle + if: ${{ inputs.skipped }} + uses: actions/setup-java@v2 + with: + distribution: adopt + java-version: 11 + + - name: Test + if: ${{ inputs.skipped }} + uses: gradle/gradle-build-action@v2 + with: + arguments: test -PtestLatestDeps=true ${{ inputs.no-build-cache && ' --no-build-cache' || '' }} + cache-read-only: ${{ inputs.cache-read-only }}