mirror of
https://github.com/gradle/actions.git
synced 2026-08-17 11:22:50 +00:00
Move non-smoke restore-gradle-home tests back to the integ-test suite (#1032)
Partial revert of the extraction in #1027. The caching smoke test should answer one question quickly — does a seeded cache let a later build run `--offline`? Everything else is integration-level. Replaces #1031 and #1030, squashed into a single commit. ## Layout `smoke-test-restore-gradle-home.yml` — two jobs: | job | purpose | |---|---| | `restore-gradle-home-seed-build` | seed the cache | | `restore-gradle-home-dependencies-cache` | verify the restored cache allows `--offline` | `integ-test-restore-gradle-home.yml` — restored, wired back into `suite-integ-test-caching`: | job | purpose | |---|---| | `restore-gradle-home-seed-build` | seed the cache (duplicated, see below) | | `restore-gradle-home-build-cache` | local build-cache restored | | `restore-gradle-home-no-extracted-cache-entries-restored` | build works with cache entries skipped | | `restore-gradle-home-pre-existing-gradle-home` | pre-existing GUH overwritten by restore | This file is identical to the pre-#1027 original except for the `dependencies-cache` job, which the smoke test now owns. All four jobs keep the `runner-os` matrix. ## Notes **The seed job is duplicated, with distinct cache keys.** The smoke suite uses `smoke-test-restore-gradle-home-*`; the integ suite keeps `restore-gradle-home-*`. This matters: `smoke-tests` and `caching-integ-tests` run concurrently in `ci-integ-test.yml`, so sharing a key would have both suites racing to write the same entry. **Distinct workflow `name:`.** The smoke workflow is `Smoke test restore Gradle Home`, so the two don't appear identically in the Actions UI. **One thing to be aware of for the future:** `restore-gradle-home-pre-existing-gradle-home` cannot pass on Windows. Pre-creating `~/.gradle` is what stops `setup-gradle` relocating the Gradle User Home to `D:\a\.gradle`, so the job looks for a cache entry rooted at a different path than the seed build saved and never matches it. The caching integ suite runs ubuntu-only, so this is not a problem today — but adding Windows to that suite would surface it. ## Verification All workflow YAML parses, and every local `uses:` reference resolves — no dangling paths after the rename and re-add. 🤖 Generated with [Claude Code](https://claude.com/claude-code) --------- Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
4318659b28
commit
ca8d95717f
-23
@@ -43,29 +43,6 @@ jobs:
|
|||||||
working-directory: .github/workflow-samples/groovy-dsl
|
working-directory: .github/workflow-samples/groovy-dsl
|
||||||
run: ./gradlew test
|
run: ./gradlew test
|
||||||
|
|
||||||
# Test that the gradle-user-home cache will cache dependencies, by running build with --offline
|
|
||||||
restore-gradle-home-dependencies-cache:
|
|
||||||
needs: restore-gradle-home-seed-build
|
|
||||||
strategy:
|
|
||||||
max-parallel: 1
|
|
||||||
fail-fast: false
|
|
||||||
matrix:
|
|
||||||
os: ${{fromJSON(inputs.runner-os)}}
|
|
||||||
runs-on: ${{ matrix.os }}
|
|
||||||
steps:
|
|
||||||
- name: Checkout sources
|
|
||||||
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
|
|
||||||
- name: Initialize integ-test
|
|
||||||
uses: ./.github/actions/init-integ-test
|
|
||||||
|
|
||||||
- name: Setup Gradle
|
|
||||||
uses: ./setup-gradle
|
|
||||||
with:
|
|
||||||
cache-read-only: true
|
|
||||||
- name: Execute Gradle build with --offline
|
|
||||||
working-directory: .github/workflow-samples/groovy-dsl
|
|
||||||
run: ./gradlew test --offline
|
|
||||||
|
|
||||||
# Test that the gradle-user-home cache will cache and restore local build-cache
|
# Test that the gradle-user-home cache will cache and restore local build-cache
|
||||||
restore-gradle-home-build-cache:
|
restore-gradle-home-build-cache:
|
||||||
needs: restore-gradle-home-seed-build
|
needs: restore-gradle-home-seed-build
|
||||||
+2
-2
@@ -1,4 +1,4 @@
|
|||||||
name: Test basic cache provider
|
name: Smoke test basic caching
|
||||||
|
|
||||||
on:
|
on:
|
||||||
workflow_call:
|
workflow_call:
|
||||||
@@ -15,7 +15,7 @@ on:
|
|||||||
|
|
||||||
env:
|
env:
|
||||||
SKIP_DIST: ${{ inputs.skip-dist }}
|
SKIP_DIST: ${{ inputs.skip-dist }}
|
||||||
GRADLE_BUILD_ACTION_CACHE_KEY_PREFIX: basic-cache-provider-${{ inputs.cache-key-prefix }}
|
GRADLE_BUILD_ACTION_CACHE_KEY_PREFIX: smoke-test-basic-caching-${{ inputs.cache-key-prefix }}
|
||||||
|
|
||||||
permissions:
|
permissions:
|
||||||
contents: read
|
contents: read
|
||||||
@@ -0,0 +1,67 @@
|
|||||||
|
name: Smoke test enhanced caching
|
||||||
|
|
||||||
|
on:
|
||||||
|
workflow_call:
|
||||||
|
inputs:
|
||||||
|
cache-key-prefix:
|
||||||
|
type: string
|
||||||
|
default: '0'
|
||||||
|
runner-os:
|
||||||
|
type: string
|
||||||
|
default: '["ubuntu-latest"]'
|
||||||
|
skip-dist:
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
|
|
||||||
|
env:
|
||||||
|
SKIP_DIST: ${{ inputs.skip-dist }}
|
||||||
|
GRADLE_BUILD_ACTION_CACHE_KEY_PREFIX: smoke-test-enhanced-caching-${{ inputs.cache-key-prefix }}
|
||||||
|
GRADLE_BUILD_ACTION_CACHE_KEY_JOB: smoke-test-enhanced-caching
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
enhanced-cache-seed-build:
|
||||||
|
strategy:
|
||||||
|
max-parallel: 1
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
os: ${{fromJSON(inputs.runner-os)}}
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
steps:
|
||||||
|
- name: Checkout sources
|
||||||
|
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
|
||||||
|
- name: Initialize integ-test
|
||||||
|
uses: ./.github/actions/init-integ-test
|
||||||
|
|
||||||
|
- name: Setup Gradle
|
||||||
|
uses: ./setup-gradle
|
||||||
|
with:
|
||||||
|
cache-read-only: false # For testing, allow writing cache entries on non-default branches
|
||||||
|
- name: Build using Gradle wrapper
|
||||||
|
working-directory: .github/workflow-samples/groovy-dsl
|
||||||
|
run: ./gradlew test
|
||||||
|
|
||||||
|
# Test that the gradle-user-home cache will cache dependencies, by running build with --offline
|
||||||
|
enhanced-cache-verify-build:
|
||||||
|
needs: enhanced-cache-seed-build
|
||||||
|
strategy:
|
||||||
|
max-parallel: 1
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
os: ${{fromJSON(inputs.runner-os)}}
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
steps:
|
||||||
|
- name: Checkout sources
|
||||||
|
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
|
||||||
|
- name: Initialize integ-test
|
||||||
|
uses: ./.github/actions/init-integ-test
|
||||||
|
|
||||||
|
- name: Setup Gradle
|
||||||
|
uses: ./setup-gradle
|
||||||
|
with:
|
||||||
|
cache-read-only: true
|
||||||
|
- name: Execute Gradle build with --offline
|
||||||
|
working-directory: .github/workflow-samples/groovy-dsl
|
||||||
|
run: ./gradlew test --offline
|
||||||
@@ -36,6 +36,11 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
skip-dist: ${{ inputs.skip-dist }}
|
skip-dist: ${{ inputs.skip-dist }}
|
||||||
|
|
||||||
|
restore-gradle-home:
|
||||||
|
uses: ./.github/workflows/integ-test-restore-gradle-home.yml
|
||||||
|
with:
|
||||||
|
skip-dist: ${{ inputs.skip-dist }}
|
||||||
|
|
||||||
restore-java-toolchain:
|
restore-java-toolchain:
|
||||||
uses: ./.github/workflows/integ-test-restore-java-toolchain.yml
|
uses: ./.github/workflows/integ-test-restore-java-toolchain.yml
|
||||||
with:
|
with:
|
||||||
|
|||||||
@@ -14,14 +14,14 @@ permissions:
|
|||||||
contents: read
|
contents: read
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
restore-gradle-home:
|
enhanced-caching:
|
||||||
uses: ./.github/workflows/smoke-test-restore-gradle-home.yml
|
uses: ./.github/workflows/smoke-test-enhanced-caching.yml
|
||||||
with:
|
with:
|
||||||
runner-os: '${{ inputs.runner-os }}'
|
runner-os: '${{ inputs.runner-os }}'
|
||||||
skip-dist: ${{ inputs.skip-dist }}
|
skip-dist: ${{ inputs.skip-dist }}
|
||||||
|
|
||||||
basic-cache-provider:
|
basic-caching:
|
||||||
uses: ./.github/workflows/smoke-test-basic-cache-provider.yml
|
uses: ./.github/workflows/smoke-test-basic-caching.yml
|
||||||
with:
|
with:
|
||||||
runner-os: '${{ inputs.runner-os }}'
|
runner-os: '${{ inputs.runner-os }}'
|
||||||
skip-dist: ${{ inputs.skip-dist }}
|
skip-dist: ${{ inputs.skip-dist }}
|
||||||
|
|||||||
Reference in New Issue
Block a user