-
-
Notifications
You must be signed in to change notification settings - Fork 500
Add PAID_RUNNER_BUILD_DATA
environment variable back to build workflow
#2563
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
Merged
Conversation
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
The build workflow produces builds for a range of target host architectures, including macOS Apple Silicon. This is done by running a native build in a machine of the target architecture. At the time the support for producing Apple Silicon builds was added to the workflow, use of GitHub-hosted Apple Silicon runner machines was charged by the minute (while use of the other runners is free). In order to avoid excessive expenses, the workflow was configured so that the Apple Silicon builds were only produced when absolutely necessary. This was done by defining two sets of job matrix arrays, one for jobs using free runners, and the other for jobs using paid runners. Due to the limitations of the GitHub Actions framework, it was necessary to use workflow environment variables for this purpose. Since that time, GitHub made free GitHub-hosted Apple Silicon runners available. When the workflow was adjusted to use that runner, the configuration for the Apple Silicon build job was moved to the free runner job matrix array. The system for supporting selective use of paid GitHub-hosted runners to produce builds was not removed at that time. This is reasonable since it is possible the need will arise for using paid runners at some point in the future (e.g., only legacy older versions of free macOS "Intel" runners are now provided and it is likely that even these will eventually be phased out forcing us to use the paid runner to produce builds for that target). However, the environment variable for the paid runner job matrix array data was removed. The absence of that variable made it very difficult to understand the workflow code for the system. For this reason, the environment variable is replaced, but empty of data. A comment is added to explain the reason for this.
@per1234
per1234
added
type: enhancement
Proposed improvement
topic: infrastructure
Related to project infrastructure
labels
Nov 17, 2024
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.
Motivation
The build workflow produces builds for a range of target host architectures, including macOS Apple Silicon. This is done by running a native build in a machine of the target architecture.
At the time the support for producing Apple Silicon builds was added to the workflow (#2245), use of GitHub-hosted Apple Silicon runner machines was charged by the minute (while use of the other runners is free). In order to avoid excessive expenses, the workflow was configured so that the Apple Silicon builds were only produced when absolutely necessary. This was done by defining two sets of job matrix arrays, one for jobs using free runners, and the other for jobs using paid runners. Due to the limitations of the GitHub Actions framework, it was necessary to use workflow environment variables for this purpose.
Since that time, GitHub made free GitHub-hosted Apple Silicon runners available. When the workflow was adjusted to use that runner (#2513), the configuration for the Apple Silicon build job was moved to the free runner job matrix array. The system for supporting selective use of paid GitHub-hosted runners to produce builds was not removed at that time. This is reasonable since it is possible the need will arise for using paid runners at some point in the future (e.g., only legacy older versions of free macOS "Intel" runners are now provided and it is likely that even these will eventually be phased out forcing us to use the paid runner to produce builds for that target). However, the environment variable for the paid runner job matrix array data was removed. The absence of that variable made it very difficult to understand the workflow code for the system.
Change description
Replace the environment variable that was removed in #2513. A comment is added to explain the reason for this.
Reviewer checklist