mirror of
https://github.com/gradle/actions.git
synced 2025-08-18 23:01:27 +08:00
After the '[bot] update dist directory' commit, we run a full test suite. This will now use the content from the 'dist' directory, rather than regenerating this content in the test.
93 lines
2.7 KiB
YAML
93 lines
2.7 KiB
YAML
name: Test cache cleanup
|
|
|
|
on:
|
|
workflow_call:
|
|
inputs:
|
|
cache-key-prefix:
|
|
type: string
|
|
runner-os:
|
|
type: string
|
|
default: '["ubuntu-latest", "windows-latest", "macos-latest"]'
|
|
skip-dist:
|
|
type: boolean
|
|
default: false
|
|
|
|
env:
|
|
SKIP_DIST: ${{ inputs.skip-dist }}
|
|
GRADLE_BUILD_ACTION_CACHE_KEY_PREFIX: cache-cleanup-${{ inputs.cache-key-prefix }}
|
|
|
|
jobs:
|
|
full-build:
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
os: ${{fromJSON(inputs.runner-os)}}
|
|
runs-on: ${{ matrix.os }}
|
|
steps:
|
|
- name: Checkout sources
|
|
uses: actions/checkout@v4
|
|
- 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 with 3.1
|
|
working-directory: sources/test/jest/resources/cache-cleanup
|
|
run: gradle --no-daemon --build-cache -Dcommons_math3_version="3.1" build
|
|
|
|
# Second build will use the cache from the first build, but cleanup should remove unused artifacts
|
|
assemble-build:
|
|
needs: full-build
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
os: ${{fromJSON(inputs.runner-os)}}
|
|
runs-on: ${{ matrix.os }}
|
|
steps:
|
|
- name: Checkout sources
|
|
uses: actions/checkout@v4
|
|
- name: Initialize integ-test
|
|
uses: ./.github/actions/init-integ-test
|
|
|
|
- name: Setup Gradle
|
|
uses: ./setup-gradle
|
|
with:
|
|
cache-read-only: false
|
|
gradle-home-cache-cleanup: true
|
|
- name: Build with 3.1.1
|
|
working-directory: sources/test/jest/resources/cache-cleanup
|
|
run: gradle --no-daemon --build-cache -Dcommons_math3_version="3.1.1" build
|
|
|
|
check-clean-cache:
|
|
needs: assemble-build
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
os: ${{fromJSON(inputs.runner-os)}}
|
|
runs-on: ${{ matrix.os }}
|
|
steps:
|
|
- name: Checkout sources
|
|
uses: actions/checkout@v4
|
|
- name: Initialize integ-test
|
|
uses: ./.github/actions/init-integ-test
|
|
|
|
- name: Setup Gradle
|
|
uses: ./setup-gradle
|
|
with:
|
|
cache-read-only: true
|
|
- name: Report Gradle User Home
|
|
run: du -hc ~/.gradle/caches/modules-2
|
|
- name: Verify cleaned cache
|
|
shell: bash
|
|
run: |
|
|
if [ ! -e ~/.gradle/caches/modules-2/files-2.1/org.apache.commons/commons-math3/3.1.1 ]; then
|
|
echo "::error ::Should find commons-math3 3.1.1 in cache"
|
|
exit 1
|
|
fi
|
|
if [ -e ~/.gradle/caches/modules-2/files-2.1/org.apache.commons/commons-math3/3.1 ]; then
|
|
echo "::error ::Should NOT find commons-math3 3.1 in cache"
|
|
exit 1
|
|
fi
|