Have a buildstream-master image?
We currently produce docker images for bst 1, and for bst 2. The images for bst2 are specifically targeted at the latest buildstream dev tag, which is 1.93.4.
If anyone wants to use a docker image for bst master (ie, more recent than bst 1.93.4), they have to create their own personal dev branch. (Such as dwinship/32-bit-bst-master).
Do we want to leave people to make their own personal images, or do we want to produce 'official' bst-master images (that go through review and approval)?
Why do we need a bst-master image?
buildstream runs (or wants to run) overnight tests, building freedesktop-sdk every night against the latest version of bst master. This helps both buildstream and freedesktop-sdk identify when changes are introduced that will break freedsktop-sdk.
But this is only useful if we maintain a branch of freedesktop-sdk that builds correctly against bst master. If we encounter a breaking change and don't fix it, then the test will continue to fail. And a test that always fails, is a test that can't be used to detect the next breaking change.
Why might we need more than one bst2 branch?
Since the bst 1.93.4 tag, bst master has introduced a test for junction overlap issues, along with a format for resolving these issues by adding new entries to project.conf. Freedesktop-sdk has junction overlaps (due to the way the project junctions itself in elements/cross-compilers), and these tests detect them.
The result is that bst-master can't build freedesktop-sdk without alterations to project.conf. And bst 1.93.4 can't build freedesktop-sdk with the alterations, because it doesn't recognize them or know what to do with them.
So if we have branches written for bst 1.93.4, and branches written for bst master, they can't use the same docker image. They're incompatible.
Our Options:
If we do intoduce bst-master docker images
-
Drop bst 1.93.4 - Forget about maintaining any freedesktop-sdk branches for bst 1.93.4, and just update the 'buildstream 2' docker image to include bst master.
-
Build 2 different 'bst 2' docker images, (plus the bst 1.4.3 image)
-
Don't have any official freedesktop-sdk branch for targeting bst master. Forget about running the overnight jobs on buildstream CI.
-
Have a freedesktop-sdk branch for bst-master, but don't run CI on it. Use the CI on buildstream to test the branch instead. (This would reveal breaking changes which affect freedesktop-sdk itself, but not breaking changes which affect freedesktop-sdk CI)
-
Have a freedesktop-sdk branch for bst-master, but run CI using personal 'dev' docker images, instead of an official bst-master docker image.