ci(github): build third-party images independently per OS version to prevent a single OS build failure from breaking the entire build #2346
+191
−185
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.
Currently, the third-party images used for CI are built in roughly two stages: the first stage
builds the src images, and the second stage builds the bin images. In each stage,
images are built for multiple OS versions. If the src image build fails for any OS version,
all bin image builds are canceled.
In practice, this is not ideal. The likelihood of build failures differs across OS versions —
for example, older OS versions are more prone to issues. A failure in a single older OS
version can block the entire third-party image build process.
This PR improves the process by fully decoupling image builds across different OS versions
so they do not affect each other. If a third-party image build fails for one OS version, it can
be fixed independently without impacting the builds for other OS versions.