erigontech / erigontech/erigon

ci: make Kurtosis image cache keys registry-aware

Open
#23,562 0 comments 0 reactions 1 assignee Claimed by @lystopad View on GitHub
github_actions
Dominant language
Go
Stars
3.6k
Forks
1.5k
Avg merge
1d 16h
Merged PRs (30d)
465

Description

## Problem

`.github/workflows/test-kurtosis-assertoor.yml` builds `DOCKER_CACHE_KEY` with `${image##*/}` in both the cache-warming job and the test job. This removes the registry and organization from each image reference.

For example, moving `protolambda/eth2-val-tools:latest` to another organization while keeping `eth2-val-tools:latest` produces the same cache key. The warming job then reports a cache hit for tar files tagged with the old reference. After those files are restored, Kurtosis must pull the new reference during `kurtosis run`, which restores the registry-outage exposure the cache is meant to prevent.

The basename-only key generation was introduced by #23440 and inherited by #23465. The release/3.6 backport is #23550.

## Expected behavior

The cache identity should include a collision-resistant digest of the complete ordered image references. The readable basename/tag suffixes can remain, provided the final key stays within the 512-character limit. The warming and consumer jobs must use the same derivation.

## Acceptance criteria

- Changing only an image registry or organization invalidates the cache key.
- The generated key cannot exceed the `actions/cache` key-length limit.
- Both copies of the cache-key logic remain identical.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.