Skip to content

ci: align actions/cache consumers to v6 to match the LLVM cache producer#4996

Open
matthargett wants to merge 1 commit into
bytecodealliance:mainfrom
rebeckerspecialties:ci/align-actions-cache-v6
Open

ci: align actions/cache consumers to v6 to match the LLVM cache producer#4996
matthargett wants to merge 1 commit into
bytecodealliance:mainfrom
rebeckerspecialties:ci/align-actions-cache-v6

Conversation

@matthargett

Copy link
Copy Markdown
Contributor

Problem

On main, the entire ubuntu-22.04, linux build matrix is red — every build_iwasm config plus build_wamrc (ubuntu-22.04) and build_regression_tests (ubuntu-22.04) — failing with:

##[error]can not get prebuilt llvm libraries

The macOS LLVM-cache jobs fail the same way (issue #4830).

Root cause

build_llvm_libraries.yml (the cache producer) saves the prebuilt-LLVM cache with actions/cache@v6, but three consumer workflows still restore it with actions/cache@v5:

workflow actions/cache
build_llvm_libraries.yml (producer) v6
compilation_on_android_ubuntu.yml v5 ← ubuntu-22.04 matrix
compilation_on_macos.yml v5#4830
nightly_run.yml v5
sgx / nuttx / windows / wamrc / lldb / iwasm_release v6 (these pass)

A cache archive written by v6 is reported to a v5 consumer as a metadata hit, then fails to restore:

Cache hit for: 0-llvm-libraries-ubuntu-22.04-X86-<hash>
##[warning]Failed to restore:
Cache not found for input keys: 0-llvm-libraries-ubuntu-22.04-X86-<hash>

…which trips the can not get prebuilt llvm libraries guard, so every LLVM-consuming leg fails. The consumers already on v6 restore the same archive without issue — which is the evidence that v6-producer + v6-consumer is the working combination.

Fix

Bump the three lagging consumers to actions/cache@v6 so the producer and all consumers share one cache version (17 one-line changes, no other behavior change).

Fixes the ubuntu-22.04 build matrix on main and the recurring macOS LLVM-cache failures tracked in #4830.

build_llvm_libraries.yml saves the prebuilt LLVM libraries cache with
actions/cache@v6, but three consumer workflows still restore it with
actions/cache@v5:

  - compilation_on_android_ubuntu.yml
  - compilation_on_macos.yml
  - nightly_run.yml

A cache archive written by v6 is reported to a v5 consumer as a metadata
"hit" but then fails to restore ("Failed to restore" / "Cache not found
for input keys"), so the retrieve step trips the "can not get prebuilt
llvm libraries" guard and every LLVM-consuming leg on ubuntu-22.04 and
macOS fails. Consumers already on v6 (compilation_on_sgx,
spec_test_on_nuttx, compilation_on_windows, build_wamrc, ...) restore the
same archive without issue.

Bump the three lagging consumers to actions/cache@v6 so the producer and
all consumers use the same cache version. Fixes the ubuntu-22.04
build_iwasm / build_wamrc / build_regression_tests matrix on main, and
the recurring macOS LLVM-cache failures tracked in bytecodealliance#4830.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant