Rewrite eval using the modules system#78
Merged
samueldr merged 75 commits intoTow-Boot:developmentfrom Feb 5, 2022
Merged
Conversation
These will be re-introduced once the modules system migration is actually complete. The temporary workarounds are not ergonomic around for those builds.
This "cheats" by re-using the exact current builder infra we're using, but evaluating it partially through the modules system. This allows permits us to keep boards building and do changes in more bite-sized pieces.
Though this is all a temporary measure, really...
Be forceful, and also warn.
This will be used to "specialize" configs, mainly to change the "variant" config only, keeping *everything else* the same for a boad eval.
This is not entirely driven by the modules system, and could do with more modularization, but is enough to support at least building the Allwinner A64 equivalent builds.
This uses the new and improved™® image builder infra.
Some platforms require usage of MBR - amlogic - raspberry pi (makes it less of a paine to support)
Tested with the Pinebook (A64)
Tested with the Pinebook Pro
Untested for the time being. Only amlogic platform makes testing shared disk strategy awkward.
This makes it a bit cleaner, since we're having a few outputs anyway.
Untested, lacking the hardware.
This will be used for the Raspberry Pi builder, which produces a FAT32 partition.
15f25f3 to
2582cf7
Compare
The last legacy builder.
This will be required by the image-builder for ext4 support.
These settings allow composing a build that produces an installer disk image.
This default output is where the magic is all tied together.
1 task
This fixes the default build.
The source archive will be compressed in the actual release archive. And the fixed date makes the output reproducible. Helpful when fixing huge changes.
This will be used for special devices, like the sandbox.
Contributor
Author
|
Reproducibility changes notwithstanding, this produces builds mostly-strictly equivalent with the current state. The main difference is how the "GPL compliance" is handled.
This dump is big, but ensures the entire source code is always linked to a release artifact. The history is not present, but the history is always available through this repository. By picking up the source archive, you can always diff with the upstream version to get an actual overview of the changes. |
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.
This will allow better configuring differences between boards and hardware. Additionally, making feature sets, like the phone UX, will be possible without having to inject arguments everywhere.
Notes
Most build outputs are reproducible, and verified to be equivalent.
Some will not be, because some oversights in the previous tooling were caught. Though by re-creating the oversights, the builds end up reproduced.
Only
GXLboards were identified as non-reproducible, for the time being. The actual U-Boot build is reproducible, what isn't are thegxlimgmanipulations.TODO
release.nixCan't test
Given the binaries are reproducibly the same, if something fails on amlogic, it's going to be limited to the shared media image, and not an SPI update.