diff --git a/.github/actions/init-integ-test/action.yml b/.github/actions/init-integ-test/action.yml index 8cf3f0c5..8124f3ea 100644 --- a/.github/actions/init-integ-test/action.yml +++ b/.github/actions/init-integ-test/action.yml @@ -9,10 +9,8 @@ runs: distribution: 'temurin' java-version: 11 - # Downloads a 'dist' directory artifact that was uploaded in an earlier step - # We control this with an environment variable to allow for easier global configuration. + # Downloads a 'dist' directory artifact that was uploaded in an earlier 'build-dist' step - name: Download dist - if: ${{ env.DOWNLOAD_DIST == 'true' }} uses: actions/download-artifact@v4 with: name: dist diff --git a/.github/workflows/ci-full-check.yml b/.github/workflows/ci-full-check.yml index d2e3219b..915fb561 100644 --- a/.github/workflows/ci-full-check.yml +++ b/.github/workflows/ci-full-check.yml @@ -16,22 +16,34 @@ on: - '**/action.yml' jobs: + build-distribution: + runs-on: ubuntu-latest + steps: + - name: Checkout sources + uses: actions/checkout@v4 + - name: Build and upload distribution + uses: ./.github/actions/build-dist + action-inputs: + needs: build-distribution uses: ./.github/workflows/integ-test-action-inputs.yml with: cache-key-prefix: ${{github.run_number}}- cache-cleanup: + needs: build-distribution uses: ./.github/workflows/integ-test-cache-cleanup.yml with: cache-key-prefix: ${{github.run_number}}- caching-config: + needs: build-distribution uses: ./.github/workflows/integ-test-caching-config.yml with: cache-key-prefix: ${{github.run_number}}- dependency-graph: + needs: build-distribution uses: ./.github/workflows/integ-test-dependency-graph.yml permissions: contents: write @@ -39,6 +51,7 @@ jobs: cache-key-prefix: ${{github.run_number}}- dependency-submission: + needs: build-distribution uses: ./.github/workflows/integ-test-dependency-submission.yml permissions: contents: write @@ -46,21 +59,25 @@ jobs: cache-key-prefix: ${{github.run_number}}- dependency-submission-failures: + needs: build-distribution uses: ./.github/workflows/integ-test-dependency-submission-failures.yml with: cache-key-prefix: ${{github.run_number}}- execution-with-caching: + needs: build-distribution uses: ./.github/workflows/integ-test-execution-with-caching.yml with: cache-key-prefix: ${{github.run_number}}- execution: + needs: build-distribution uses: ./.github/workflows/integ-test-execution.yml with: cache-key-prefix: ${{github.run_number}}- develocity-injection: + needs: build-distribution uses: ./.github/workflows/integ-test-inject-develocity.yml with: cache-key-prefix: ${{github.run_number}}- @@ -68,11 +85,13 @@ jobs: DEVELOCITY_ACCESS_KEY: ${{ secrets.GE_SOLUTIONS_ACCESS_TOKEN }} provision-gradle-versions: + needs: build-distribution uses: ./.github/workflows/integ-test-provision-gradle-versions.yml with: cache-key-prefix: ${{github.run_number}}- restore-configuration-cache: + needs: build-distribution uses: ./.github/workflows/integ-test-restore-configuration-cache.yml with: cache-key-prefix: ${{github.run_number}}- @@ -80,36 +99,43 @@ jobs: GRADLE_ENCRYPTION_KEY: ${{ secrets.GRADLE_ENCRYPTION_KEY }} restore-custom-gradle-home: + needs: build-distribution uses: ./.github/workflows/integ-test-restore-custom-gradle-home.yml with: cache-key-prefix: ${{github.run_number}}- restore-containerized-gradle-home: + needs: build-distribution uses: ./.github/workflows/integ-test-restore-containerized-gradle-home.yml with: cache-key-prefix: ${{github.run_number}}- restore-gradle-home: + needs: build-distribution uses: ./.github/workflows/integ-test-restore-gradle-home.yml with: cache-key-prefix: ${{github.run_number}}- restore-java-toolchain: + needs: build-distribution uses: ./.github/workflows/integ-test-restore-java-toolchain.yml with: cache-key-prefix: ${{github.run_number}}- sample-kotlin-dsl: + needs: build-distribution uses: ./.github/workflows/integ-test-sample-kotlin-dsl.yml with: cache-key-prefix: ${{github.run_number}}- sample-gradle-plugin: + needs: build-distribution uses: ./.github/workflows/integ-test-sample-gradle-plugin.yml with: cache-key-prefix: ${{github.run_number}}- toolchain-detection: + needs: build-distribution uses: ./.github/workflows/integ-test-detect-java-toolchains.yml with: cache-key-prefix: ${{github.run_number}}- diff --git a/.github/workflows/ci-quick-check.yml b/.github/workflows/ci-quick-check.yml index 32e481fc..a90dc80f 100644 --- a/.github/workflows/ci-quick-check.yml +++ b/.github/workflows/ci-quick-check.yml @@ -36,14 +36,12 @@ jobs: uses: ./.github/workflows/integ-test-action-inputs.yml with: runner-os: '["ubuntu-latest"]' - download-dist: true cache-cleanup: needs: build-distribution uses: ./.github/workflows/integ-test-cache-cleanup.yml with: runner-os: '["ubuntu-latest"]' - download-dist: true cache-key-prefix: ${{github.run_number}}- # Requires a fresh cache entry each run caching-config: @@ -51,7 +49,6 @@ jobs: uses: ./.github/workflows/integ-test-caching-config.yml with: runner-os: '["ubuntu-latest"]' - download-dist: true dependency-graph: needs: build-distribution @@ -60,7 +57,6 @@ jobs: contents: write with: runner-os: '["ubuntu-latest"]' - download-dist: true dependency-submission: needs: build-distribution @@ -69,7 +65,6 @@ jobs: contents: write with: runner-os: '["ubuntu-latest"]' - download-dist: true dependency-submission-failures: needs: build-distribution @@ -78,28 +73,24 @@ jobs: contents: write with: runner-os: '["ubuntu-latest"]' - download-dist: true execution-with-caching: needs: build-distribution uses: ./.github/workflows/integ-test-execution-with-caching.yml with: runner-os: '["ubuntu-latest"]' - download-dist: true execution: needs: build-distribution uses: ./.github/workflows/integ-test-execution.yml with: runner-os: '["ubuntu-latest"]' - download-dist: true develocity-injection: needs: build-distribution uses: ./.github/workflows/integ-test-inject-develocity.yml with: runner-os: '["ubuntu-latest"]' - download-dist: true secrets: DEVELOCITY_ACCESS_KEY: ${{ secrets.GE_SOLUTIONS_ACCESS_TOKEN }} @@ -108,60 +99,49 @@ jobs: uses: ./.github/workflows/integ-test-provision-gradle-versions.yml with: runner-os: '["ubuntu-latest"]' - download-dist: true restore-configuration-cache: needs: build-distribution uses: ./.github/workflows/integ-test-restore-configuration-cache.yml with: runner-os: '["ubuntu-latest"]' - download-dist: true secrets: GRADLE_ENCRYPTION_KEY: ${{ secrets.GRADLE_ENCRYPTION_KEY }} restore-containerized-gradle-home: needs: build-distribution uses: ./.github/workflows/integ-test-restore-containerized-gradle-home.yml - with: - download-dist: true restore-custom-gradle-home: needs: build-distribution uses: ./.github/workflows/integ-test-restore-custom-gradle-home.yml - with: - download-dist: true restore-gradle-home: needs: build-distribution uses: ./.github/workflows/integ-test-restore-gradle-home.yml with: runner-os: '["ubuntu-latest"]' - download-dist: true restore-java-toolchain: needs: build-distribution uses: ./.github/workflows/integ-test-restore-java-toolchain.yml with: runner-os: '["ubuntu-latest"]' - download-dist: true sample-kotlin-dsl: needs: build-distribution uses: ./.github/workflows/integ-test-sample-kotlin-dsl.yml with: runner-os: '["ubuntu-latest"]' - download-dist: true sample-gradle-plugin: needs: build-distribution uses: ./.github/workflows/integ-test-sample-gradle-plugin.yml with: runner-os: '["ubuntu-latest"]' - download-dist: true toolchain-detection: needs: build-distribution uses: ./.github/workflows/integ-test-detect-java-toolchains.yml with: runner-os: '["ubuntu-latest"]' - download-dist: true diff --git a/.github/workflows/integ-test-action-inputs.yml b/.github/workflows/integ-test-action-inputs.yml index 81c46f26..841c5733 100644 --- a/.github/workflows/integ-test-action-inputs.yml +++ b/.github/workflows/integ-test-action-inputs.yml @@ -8,12 +8,8 @@ on: runner-os: type: string default: '["ubuntu-latest", "windows-latest", "macos-latest"]' - download-dist: - type: boolean - default: false env: - DOWNLOAD_DIST: ${{ inputs.download-dist }} GRADLE_BUILD_ACTION_CACHE_KEY_PREFIX: action-inputs-${{ inputs.cache-key-prefix }} jobs: diff --git a/.github/workflows/integ-test-cache-cleanup.yml b/.github/workflows/integ-test-cache-cleanup.yml index d14c98cb..575af8b0 100644 --- a/.github/workflows/integ-test-cache-cleanup.yml +++ b/.github/workflows/integ-test-cache-cleanup.yml @@ -8,12 +8,8 @@ on: runner-os: type: string default: '["ubuntu-latest", "windows-latest", "macos-latest"]' - download-dist: - type: boolean - default: false env: - DOWNLOAD_DIST: ${{ inputs.download-dist }} GRADLE_BUILD_ACTION_CACHE_KEY_PREFIX: integ-test-cache-cleanup-${{ inputs.cache-key-prefix }} jobs: diff --git a/.github/workflows/integ-test-caching-config.yml b/.github/workflows/integ-test-caching-config.yml index a771b1d9..cec3ef8a 100644 --- a/.github/workflows/integ-test-caching-config.yml +++ b/.github/workflows/integ-test-caching-config.yml @@ -8,12 +8,8 @@ on: runner-os: type: string default: '["ubuntu-latest", "windows-latest", "macos-latest"]' - download-dist: - type: boolean - default: false env: - DOWNLOAD_DIST: ${{ inputs.download-dist }} GRADLE_BUILD_ACTION_CACHE_KEY_PREFIX: action-inputs-caching-${{ inputs.cache-key-prefix }} jobs: diff --git a/.github/workflows/integ-test-dependency-graph.yml b/.github/workflows/integ-test-dependency-graph.yml index 8885735d..481f89ae 100644 --- a/.github/workflows/integ-test-dependency-graph.yml +++ b/.github/workflows/integ-test-dependency-graph.yml @@ -8,15 +8,11 @@ on: runner-os: type: string default: '["ubuntu-latest", "windows-latest", "macos-latest"]' - download-dist: - type: boolean - default: false permissions: contents: write env: - DOWNLOAD_DIST: ${{ inputs.download-dist }} GRADLE_BUILD_ACTION_CACHE_KEY_PREFIX: dependency-graph-${{ inputs.cache-key-prefix }} jobs: diff --git a/.github/workflows/integ-test-dependency-submission-failures.yml b/.github/workflows/integ-test-dependency-submission-failures.yml index ac5e7dd2..05246e4b 100644 --- a/.github/workflows/integ-test-dependency-submission-failures.yml +++ b/.github/workflows/integ-test-dependency-submission-failures.yml @@ -8,12 +8,8 @@ on: runner-os: type: string default: '["ubuntu-latest"]' - download-dist: - type: boolean - default: false env: - DOWNLOAD_DIST: ${{ inputs.download-dist }} GRADLE_BUILD_ACTION_CACHE_KEY_PREFIX: dependency-graph-${{ inputs.cache-key-prefix }} jobs: diff --git a/.github/workflows/integ-test-dependency-submission.yml b/.github/workflows/integ-test-dependency-submission.yml index 0f67512b..68b8598c 100644 --- a/.github/workflows/integ-test-dependency-submission.yml +++ b/.github/workflows/integ-test-dependency-submission.yml @@ -8,17 +8,12 @@ on: runner-os: type: string default: '["ubuntu-latest", "windows-latest", "macos-latest"]' - download-dist: - type: boolean - default: false permissions: contents: write env: - DOWNLOAD_DIST: ${{ inputs.download-dist }} GRADLE_BUILD_ACTION_CACHE_KEY_PREFIX: dependency-graph-${{ inputs.cache-key-prefix }} - GITHUB_DEPENDENCY_GRAPH_REF: 'refs/tags/v0.0.1' # Use a fake ref to avoid updating the real dependency graph for the repository jobs: groovy-generate-and-upload: @@ -219,6 +214,8 @@ jobs: with: gradle-version: ${{ matrix.gradle }} build-root-directory: .github/workflow-samples/no-wrapper${{ matrix.build-root-suffix }} + env: + GITHUB_DEPENDENCY_GRAPH_REF: 'refs/tags/v0.0.1' # Use a different ref to avoid updating the real dependency graph for the repository after-setup-gradle: runs-on: ubuntu-latest diff --git a/.github/workflows/integ-test-detect-java-toolchains.yml b/.github/workflows/integ-test-detect-java-toolchains.yml index d08ba8b1..f01f93bd 100644 --- a/.github/workflows/integ-test-detect-java-toolchains.yml +++ b/.github/workflows/integ-test-detect-java-toolchains.yml @@ -8,12 +8,8 @@ on: runner-os: type: string default: '["ubuntu-latest", "windows-latest", "macos-latest"]' - download-dist: - type: boolean - default: false env: - DOWNLOAD_DIST: ${{ inputs.download-dist }} GRADLE_BUILD_ACTION_CACHE_KEY_PREFIX: detect-java-toolchain-${{ inputs.cache-key-prefix }} jobs: diff --git a/.github/workflows/integ-test-execution-with-caching.yml b/.github/workflows/integ-test-execution-with-caching.yml index 08b26cdb..f348be4a 100644 --- a/.github/workflows/integ-test-execution-with-caching.yml +++ b/.github/workflows/integ-test-execution-with-caching.yml @@ -8,12 +8,8 @@ on: runner-os: type: string default: '["ubuntu-latest", "windows-latest", "macos-latest"]' - download-dist: - type: boolean - default: false env: - DOWNLOAD_DIST: ${{ inputs.download-dist }} GRADLE_BUILD_ACTION_CACHE_KEY_PREFIX: execution-with-caching-${{ inputs.cache-key-prefix }} GRADLE_BUILD_ACTION_CACHE_DEBUG_ENABLED: true diff --git a/.github/workflows/integ-test-execution.yml b/.github/workflows/integ-test-execution.yml index 9cafa29a..0fe6a061 100644 --- a/.github/workflows/integ-test-execution.yml +++ b/.github/workflows/integ-test-execution.yml @@ -8,12 +8,8 @@ on: runner-os: type: string default: '["ubuntu-latest", "windows-latest", "macos-latest"]' - download-dist: - type: boolean - default: false env: - DOWNLOAD_DIST: ${{ inputs.download-dist }} GRADLE_BUILD_ACTION_CACHE_KEY_PREFIX: execution-${{ inputs.cache-key-prefix }} jobs: diff --git a/.github/workflows/integ-test-inject-develocity.yml b/.github/workflows/integ-test-inject-develocity.yml index 75c1ed2f..43eccadf 100644 --- a/.github/workflows/integ-test-inject-develocity.yml +++ b/.github/workflows/integ-test-inject-develocity.yml @@ -8,15 +8,11 @@ on: runner-os: type: string default: '["ubuntu-latest", "windows-latest", "macos-latest"]' - download-dist: - type: boolean - default: false secrets: DEVELOCITY_ACCESS_KEY: required: true env: - DOWNLOAD_DIST: ${{ inputs.download-dist }} GRADLE_BUILD_ACTION_CACHE_KEY_PREFIX: provision-gradle-versions-${{ inputs.cache-key-prefix }} jobs: diff --git a/.github/workflows/integ-test-provision-gradle-versions.yml b/.github/workflows/integ-test-provision-gradle-versions.yml index 61a5a8b4..9024f6b7 100644 --- a/.github/workflows/integ-test-provision-gradle-versions.yml +++ b/.github/workflows/integ-test-provision-gradle-versions.yml @@ -8,12 +8,8 @@ on: runner-os: type: string default: '["ubuntu-latest", "windows-latest", "macos-latest"]' - download-dist: - type: boolean - default: false env: - DOWNLOAD_DIST: ${{ inputs.download-dist }} GRADLE_BUILD_ACTION_CACHE_KEY_PREFIX: provision-gradle-versions-${{ inputs.cache-key-prefix }} GRADLE_BUILD_ACTION_CACHE_DEBUG_ENABLED: true diff --git a/.github/workflows/integ-test-restore-configuration-cache.yml b/.github/workflows/integ-test-restore-configuration-cache.yml index 7e75ea75..1750ae6a 100644 --- a/.github/workflows/integ-test-restore-configuration-cache.yml +++ b/.github/workflows/integ-test-restore-configuration-cache.yml @@ -8,15 +8,11 @@ on: runner-os: type: string default: '["ubuntu-latest", "windows-latest", "macos-latest"]' - download-dist: - type: boolean - default: false secrets: GRADLE_ENCRYPTION_KEY: required: true env: - DOWNLOAD_DIST: ${{ inputs.download-dist }} GRADLE_BUILD_ACTION_CACHE_KEY_PREFIX: restore-configuration-cache-${{ inputs.cache-key-prefix }} jobs: diff --git a/.github/workflows/integ-test-restore-containerized-gradle-home.yml b/.github/workflows/integ-test-restore-containerized-gradle-home.yml index 4a177ec3..a4854941 100644 --- a/.github/workflows/integ-test-restore-containerized-gradle-home.yml +++ b/.github/workflows/integ-test-restore-containerized-gradle-home.yml @@ -5,12 +5,8 @@ on: inputs: cache-key-prefix: type: string - download-dist: - type: boolean - default: false env: - DOWNLOAD_DIST: ${{ inputs.download-dist }} GRADLE_BUILD_ACTION_CACHE_KEY_PREFIX: restore-custom-gradle-home-${{ inputs.cache-key-prefix }} jobs: diff --git a/.github/workflows/integ-test-restore-custom-gradle-home.yml b/.github/workflows/integ-test-restore-custom-gradle-home.yml index 3ebe4ee8..f07131d3 100644 --- a/.github/workflows/integ-test-restore-custom-gradle-home.yml +++ b/.github/workflows/integ-test-restore-custom-gradle-home.yml @@ -5,12 +5,8 @@ on: inputs: cache-key-prefix: type: string - download-dist: - type: boolean - default: false env: - DOWNLOAD_DIST: ${{ inputs.download-dist }} GRADLE_BUILD_ACTION_CACHE_KEY_PREFIX: restore-custom-gradle-home-${{ inputs.cache-key-prefix }} jobs: diff --git a/.github/workflows/integ-test-restore-gradle-home.yml b/.github/workflows/integ-test-restore-gradle-home.yml index 63527a2c..0d3ce726 100644 --- a/.github/workflows/integ-test-restore-gradle-home.yml +++ b/.github/workflows/integ-test-restore-gradle-home.yml @@ -8,12 +8,8 @@ on: runner-os: type: string default: '["ubuntu-latest", "windows-latest", "macos-latest"]' - download-dist: - type: boolean - default: false env: - DOWNLOAD_DIST: ${{ inputs.download-dist }} GRADLE_BUILD_ACTION_CACHE_KEY_PREFIX: restore-gradle-home-${{ inputs.cache-key-prefix }} GRADLE_BUILD_ACTION_CACHE_KEY_JOB: restore-gradle-home diff --git a/.github/workflows/integ-test-restore-java-toolchain.yml b/.github/workflows/integ-test-restore-java-toolchain.yml index 43421d2f..cd4f82c0 100644 --- a/.github/workflows/integ-test-restore-java-toolchain.yml +++ b/.github/workflows/integ-test-restore-java-toolchain.yml @@ -8,12 +8,8 @@ on: runner-os: type: string default: '["ubuntu-latest", "windows-latest", "macos-latest"]' - download-dist: - type: boolean - default: false env: - DOWNLOAD_DIST: ${{ inputs.download-dist }} GRADLE_BUILD_ACTION_CACHE_KEY_PREFIX: restore-java-toolchain-${{ inputs.cache-key-prefix }} jobs: diff --git a/.github/workflows/integ-test-sample-gradle-plugin.yml b/.github/workflows/integ-test-sample-gradle-plugin.yml index 9a44b4b6..a44d7284 100644 --- a/.github/workflows/integ-test-sample-gradle-plugin.yml +++ b/.github/workflows/integ-test-sample-gradle-plugin.yml @@ -8,12 +8,8 @@ on: runner-os: type: string default: '["ubuntu-latest", "windows-latest", "macos-latest"]' - download-dist: - type: boolean - default: false env: - DOWNLOAD_DIST: ${{ inputs.download-dist }} GRADLE_BUILD_ACTION_CACHE_KEY_PREFIX: sample-gradle-plugin-${{ inputs.cache-key-prefix }} jobs: diff --git a/.github/workflows/integ-test-sample-kotlin-dsl.yml b/.github/workflows/integ-test-sample-kotlin-dsl.yml index d3e92f90..ecacb145 100644 --- a/.github/workflows/integ-test-sample-kotlin-dsl.yml +++ b/.github/workflows/integ-test-sample-kotlin-dsl.yml @@ -8,12 +8,8 @@ on: runner-os: type: string default: '["ubuntu-latest", "windows-latest", "macos-latest"]' - download-dist: - type: boolean - default: false env: - DOWNLOAD_DIST: ${{ inputs.download-dist }} GRADLE_BUILD_ACTION_CACHE_KEY_PREFIX: sample-kotlin-dsl-${{ inputs.cache-key-prefix }} jobs: