Cache reusal foreseen problems when using git repositories (coreboot-git now being example)
Nobody has claimed this yet.
- Dominant language
- Makefile
- Stars
- 1.6k
- Forks
- 211
- Avg merge
- 4d 21h
- Merged PRs (30d)
- 6
Description
Just some notes trying to fix #1417 with #1449
Context:
- it seems that coreboot release tarballs are getting less and less used as opposed to use different forks and specific commits. I have no specific opinion about that, but the buildsystem was not thought to be doing that up until now
- nitrokey and purism are expecting some kind of exclusive usage of the coreboot-git build directory per architecture, but need to switch fork and use a specific commit doing that, getting rid of the artifacts in the directory that is not linked to the git repo
- by doing so, we currently get rid of build artifacts, which makes caching of CircleCI less relevant, since we use workspace caches between boards to minimize rebuilding where adequate
The current build system takes into consideration for coreboot/linux modules that:
- it is possible to store "objects" in $(BOARD) subdir of the module build dir. This is invalidated as of now since when calling git clean, those directories are wiped.
- We could move those modules related object directories back to build/arch/module/$(BOARD) so that cleaning doesn't wipe them
More thinking needed to dodge the problem. We will see once first, the builds reusing coreboot-git works, and then rebuilding such build from cache and seeing the impact of the wiping of those board related object directories. If the cost is higher, compared to coreboot tarball based builds, this will need to be dealt with higher priority.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with issues #1417 and #1449, then inspect the build system's handling of coreboot/linux modules, git clean, and CircleCI workspace caches. Compare cache reuse and rebuild behavior for coreboot-git builds, including whether board-related object directories are wiped; the required design is not yet settled.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- git, linux
- Domain
- build-system, ci-cd
- Issue type
- Refactor
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100