Files
actions/.github/workflows/ci-integ-test-full.yml
T
9d31058114 Add Windows coverage for caching via a new smoke-test suite (#1027)
## Why

Issue #1013 revealed that caching was **never storing content on
Windows**. Nothing caught it because the integ-tests lost their multi-OS
matrices: these workflows used to default to `'["ubuntu-latest",
"windows-latest", "macos-latest"]'`, narrowed to ubuntu-only in bcd07e66
/ d74ee73e (Aug 2024). The Windows code path has been dark ever since.

## What

Extract the two cheapest caching tests — `restore-gradle-home` and
`basic-cache-provider` — into a new `suite-smoke-test-caching` workflow,
and run that suite on both `ubuntu-latest` and `windows-latest`.

Both tests seed a cache in one job and then verify it in a dependent job
with an `--offline` build, so a cache that stores nothing fails the
verify job rather than passing silently.

- Rename `integ-test-{restore-gradle-home,basic-cache-provider}` →
`smoke-test-*` and drop them from `suite-integ-test-caching`
- Add the new suite to both `CI-integ-test` and `CI-integ-test-full`,
each with its own concurrency group matching the sibling suites
- Include `smoke-tests` in the `integ-test-success` aggregate gate
- Ignore the generated `task-configured.txt` marker in
`workflow-samples`
- Drop a dead `needs.determine-suite` guard on the `build-distribution`
step — `CI-integ-test` has no such job, so it always evaluated to true

The suite runs on Windows in PR CI (not just `CI-integ-test-full`)
specifically so the failure is visible on this PR and the fix can be
verified the same way.

## Expected result

This PR is expected to be **red on Windows**.
`restore-gradle-home-dependencies-cache` and `basic-cache-verify-build`
should fail with dependency-resolution errors under `--offline` — that
is the bug from #1013 being caught. The ubuntu legs should stay green.

Cross-OS cache keys are safe: both providers include `RUNNER_OS` in the
key (`sources/src/cache-service-basic.ts:146`), so the matrix legs don't
collide.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

---------

Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-01 17:15:42 -06:00

59 lines
1.3 KiB
YAML

name: CI-integ-test-full
on:
workflow_dispatch:
push:
branches:
- 'main'
- 'bot/gradle-actions-caching'
paths:
- 'dist/**'
- 'sources/vendor/gradle-actions-caching/**'
permissions:
contents: read
jobs:
smoke-tests:
uses: ./.github/workflows/suite-smoke-test-caching.yml
concurrency:
group: CI-smoke-test-caching
cancel-in-progress: false
with:
skip-dist: true
runner-os: '["ubuntu-latest", "windows-latest"]'
secrets: inherit
caching-integ-tests:
uses: ./.github/workflows/suite-integ-test-caching.yml
concurrency:
group: CI-integ-test-caching
cancel-in-progress: false
with:
skip-dist: true
secrets: inherit
other-integ-tests:
permissions:
contents: write
needs: caching-integ-tests
uses: ./.github/workflows/suite-integ-test-other.yml
concurrency:
group: CI-integ-test-other
cancel-in-progress: false
with:
skip-dist: true
secrets: inherit
dependency-submission-integ-tests:
permissions:
contents: write
needs: other-integ-tests
uses: ./.github/workflows/suite-integ-test-dependency-submission.yml
concurrency:
group: CI-integ-test-dependency-submission
cancel-in-progress: false
with:
skip-dist: true
secrets: inherit