Detect in kickstart script if we publish native packages for the platform #21262
+44
−29
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.
Summary
This allows more intelligent fallback behavior, insisting on using native packages if they are being published (and are actually available) and only falling back if they aren’t. It also means that users installing on platforms we still have packages available for but no longer publish packages for will end up with static installs instead of native package installs.
This change includes a new option for the kickstart script called
--install-type, which can be used to specify the install type to use. It supports five possible values currently,native,static,build,auto, andany. The first three are equivalent to the existing--native-only,--static-only, and--build-onlyoptions. Theanyvalue indicates to use our existing fallback behavior (try each install type in order until we find one that works). Theautovalue, which is the new default, acts likenativeif the script detects that we publish native packages for the platform, andanyotherwise.This is dependent on a flag file on the repository server that is generated by our package upload processing code for platforms that we publish native packages for.
Test Plan
Requires some manual testing to confirm that the changes behave as expected.