linuxboot / linuxboot/heads

Cache reusal foreseen problems when using git repositories (coreboot-git now being example)

Open
#1,450 1 comment 0 reactions 0 assignees View on GitHub

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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.