-
Notifications
You must be signed in to change notification settings - Fork 80
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Store buildhistory artifacts #711
Comments
Do we want to store just a snapshot in each build artefact or go for a full history and pull down a buildhistory git repo, commit the changes and push those back? |
I think what would be nice is:
|
There is an issue with that: the builds for the branch might finish out-of-order, e.g. if several PRs are merged quickly. So you might end up with the buildhistory which doesn't fully represent the history of a branch. |
You are right. However that should be occasional. and we could catch that during the PR CI, e.g. check that the 'base' commit has finished building, and that its buildhistory data is available, and fail the buildhistory job otherwise. maintainers could then re-trigger it. |
Once several merges are performed together (several minor changes, or as a sequence once they all have the required approvals), that would cause a series of job failures for buildhistory, which is also a bit of a pain later to manually trigger in sequence (while other jobs could also be started based on new merges). Are you thinking on just keeping the buildhistory folder in a shared location? |
This will result in having the diff available for inspection in PRs and triggered builds as well as having a full history of day-to-day changes. And we have to decide how much we care about having a linear, correct and complete buildhistory. As @lumag points out above, it is extremely easy to have runners go out of sync which will case build failures as @ricardosalveti points out. For Angstrom we decided that having the CI build only one machine for each architecture+target gave enough buildhistory coverage, the churn in all/noarch/allarch was an acceptable tradeoff. Sstate protects us a bit from churn, but it will take a non-trivial amount of work involving locking around both builds and buildhistory manipulation if we require a linear, correct and complete buildhistory. Or we build a database backend :) |
One CI build per architecture / target should be enough to start with, not great, but as you said, can be an acceptable tradeoff. |
The buildhistory feature in OE is really cool. I would like for us to find a way to get the buildhistory for:
The text was updated successfully, but these errors were encountered: