Skip to content

ci: fail fast on integration test binary cache miss - #447

Merged
wprzytula merged 1 commit into
scylladb:masterfrom
wprzytula:ci-fail-fast-on-cache-save-failure
May 9, 2026
Merged

ci: fail fast on integration test binary cache miss#447
wprzytula merged 1 commit into
scylladb:masterfrom
wprzytula:ci-fail-fast-on-cache-save-failure

Conversation

@wprzytula

Copy link
Copy Markdown
Contributor

In run https://github.com/scylladb/cpp-rs-driver/actions/runs/25594930991, the build job successfully built the integration test binary but failed to save it to the GitHub Actions cache (transient cache service timeout). The test jobs then silently proceeded without the binary, and build-integration-test-bin-if-missing attempted to rebuild from source without build dependencies (libuv) installed, producing an unrelated CMake error that was difficult to diagnose.

Set fail-on-cache-miss: true on the cache restore steps so that test jobs fail immediately with a clear error when the binary is not available, instead of falling through to a doomed rebuild attempt.

Pre-review checklist

  • I have split my patch into logically separate commits.
  • All commit messages clearly explain what they change and why.
  • PR description sums up the changes and reasons why they should be introduced.
  • [ ] I have implemented Rust unit tests for the features/changes introduced.
  • [ ] I have enabled appropriate tests in Makefile in {SCYLLA,CASSANDRA}_(NO_VALGRIND_)TEST_FILTER.
  • [ ] I added appropriate Fixes: annotations to PR description.

In run https://github.com/scylladb/cpp-rs-driver/actions/runs/25594930991,
the build job successfully built the integration test binary but failed
to save it to the GitHub Actions cache (transient cache service timeout).
The test jobs then silently proceeded without the binary, and
build-integration-test-bin-if-missing attempted to rebuild from source
without build dependencies (libuv) installed, producing an unrelated
CMake error that was difficult to diagnose.

Set `fail-on-cache-miss: true` on the cache restore steps so that test
jobs fail immediately with a clear error when the binary is not
available, instead of falling through to a doomed rebuild attempt.
@wprzytula wprzytula self-assigned this May 9, 2026
@wprzytula wprzytula added the CI Related to continuous integration label May 9, 2026

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR hardens CI behavior in .github/workflows/build-lint-and-test.yml so integration test jobs fail immediately when the cached integration-test binary is unavailable, avoiding confusing fallback rebuild failures when build dependencies aren’t present in test runners.

Changes:

  • Configure actions/cache/restore@v4 to fail-on-cache-miss: true for integration test binary restores in both Scylla and Cassandra integration test jobs.
  • Add inline rationale comments explaining the failure mode and recommended recovery (re-run the build job).

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@wprzytula
wprzytula merged commit 22ed240 into scylladb:master May 9, 2026
13 checks passed
@wprzytula
wprzytula deleted the ci-fail-fast-on-cache-save-failure branch May 9, 2026 14:42
@wprzytula wprzytula added this to the 1.1.0 milestone May 25, 2026
@wprzytula wprzytula mentioned this pull request Jun 16, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CI Related to continuous integration

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants