ci(qemu): fix cross-workflow cache pollution that killed do_fetch#10
Merged
Conversation
…TE/DL dirs
Three failed runs all died the same way: bitbake's task graph for
vscode jumped straight from do_prepare_recipe_sysroot to do_unpack
with no do_fetch, then do_unpack failed because the tarball wasn't
in DL_DIR. Root cause was cache pollution:
- 'Cache poky checkout' used restore-keys 'poky-scarthgap-' which
fuzzy-matched poky-scarthgap-v1 written by meta-vscode/ci.yml's
parse jobs.
- That cache contains poky/build/tmp/stamps/.../vscode...do_fetch
marking fetch as done, plus poky/build/downloads with the
tarball.
- This workflow overrode DL_DIR to a different location, so the
stamp-restored 'fetched' state was true but the file lived
somewhere bitbake wasn't looking.
Two fixes:
- Drop the restore-keys on every cache step. Cache must hit on the
exact qemu-runtime-* key, otherwise start fresh. No more
cross-workflow contamination.
- Drop the SSTATE_DIR / DL_DIR overrides; leave them at bitbake's
defaults (${TOPDIR}/sstate-cache, ${TOPDIR}/downloads) so the
cached poky/ tree and the live build agree on where things go.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Three qemu-runtime runs died identically at vscode do_unpack with 'tar: cannot open'. Investigation showed bitbake's task graph for vscode was running do_prepare_recipe_sysroot then do_unpack with no do_fetch in between. Root cause:
Fixes:
Also paired sstate + poky into a single cache definition so they invalidate together.