Skip to content

Integration Test and Notebook CI Workflows Use Hardcoded GCS Cache Key From September 2024 #1296

Description

@kunal-10-cloud

Description

Both integration_tests.yml (lines 46, 56) and notebooks.yml use a hardcoded cache key:

key: gcs_cache_integration_tests_20240922

This key has not been updated since September 22, 2024 (~18 months ago). GitHub Actions caches are immutable once created — the save step at lines 52–56 is a no-op because the key already exists. This means:

  • Integration tests always run against data cached 18 months ago
  • Any new sample sets, updated metadata, or schema changes in GCS are invisible to CI
  • The actions/cache/save@v3 step runs on every CI job but never actually writes (wasted time)

How to Reproduce

# Look at the integration_tests.yml workflow:
grep "key:" .github/workflows/integration_tests.yml
# Output: key: gcs_cache_integration_tests_20240922
 
# Check when key was set:
git log --all -p -- .github/workflows/integration_tests.yml | grep "gcs_cache_integration" | head -3

Why It Is Important

  • The Ag3 dataset has had new sample sets added since September 2024. Integration tests validate against stale data.
  • Pf9 was just added (PR Adding Pf9 functionality #1236, March 2026) — integration tests for Pf9 either fail or use incorrect cached data.
  • The cache key pattern should include a date that is periodically bumped, or use a content-based hash.
  • This creates a false sense of CI reliability — tests pass against old data while potentially failing against current data.

Affected Locations

File Lines Issue
.github/workflows/integration_tests.yml 46, 56 Hardcoded cache key gcs_cache_integration_tests_20240922
.github/workflows/notebooks.yml Same hardcoded cache key

Expected Impact After Resolution

Cache keys are periodically rotated (e.g., monthly or on release), ensuring integration tests validate against current data. A scheduled reminder or automated key rotation prevents future staleness.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions