Repository navigation
[CI] Prepare Mac jobs for running both on physical machines and homebrew-based VMs - #20126
Merged
Merged
Conversation
Test Results 21 files 21 suites 3d 17h 27m 40s ⏱️ Results for commit d321895. ♻️ This comment has been updated with latest results. |
hageboeck
force-pushed
the
experimental-brew-ci
branch
2 times, most recently
from
October 16, 2025 12:43
c46acc5 to
7d14b31
Compare
hageboeck
force-pushed
the
experimental-brew-ci
branch
25 times, most recently
from
October 23, 2025 12:30
df6e07b to
735a13a
Compare
hageboeck
force-pushed
the
experimental-brew-ci
branch
15 times, most recently
from
December 4, 2025 09:17
41e4eb2 to
59f3c21
Compare
hageboeck
force-pushed
the
experimental-brew-ci
branch
from
December 5, 2025 10:05
59f3c21 to
da0ece7
Compare
hageboeck
marked this pull request as ready for review
December 5, 2025 10:54
hageboeck
force-pushed
the
experimental-brew-ci
branch
2 times, most recently
from
December 5, 2025 13:41
0cac5e1 to
cd3e3cd
Compare
To reliably set up the enviroment, use bash as a login shell for all workflow steps on mac. This ensures that settings from ~/.bash_profile are visible in all steps of the workflow.
The homebrew VMs use a virtualenv for Python. Since it's not added to the path by default, we test if an environment has been set up and enter it before any build and test step. Furthermore, the paths to the ca certificates differ between the VMs and the physical Macs, so the setup of the environment variable will test multiple paths now.
hageboeck
force-pushed
the
experimental-brew-ci
branch
from
December 5, 2025 18:35
cd3e3cd to
d321895
Compare
dpiparo
approved these changes
Dec 5, 2025
hahnjo
reviewed
Dec 6, 2025
| uses: actions/checkout@v4 | ||
| uses: actions/checkout@v5 | ||
| with: | ||
| ref: ${{ inputs.ref_name }} |
Member
There was a problem hiding this comment.
This effectively reverts 8bb62ae which I believe will break nightly builds on future release branches. There the call sequence is something like the following:
- On the
masterbranch, we have ascheduleworkflow. This runs with the ref being the latest commit onmaster. - That
usestheroot-ci.ymlfrom a fixed branch. However, if I remember correctly, this does not change the context. - The
root-ci.ymlfrom the branch runs, but itscheckoutwill downloadmaster. This gets used for thebuildconfigand thebuild_root.pyscript. - Eventually,
build_root.pywill download the "right" branch for building.
The critical point is step 3 where we want to make sure that we are actually using the CI configuration of the branch, including platforms and options. I think we need to restore the ref: options.
Member
Author
There was a problem hiding this comment.
OK, thanks for the explanation!
I anyway needed to apply some changes to test the new runner. 🙂
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.
Here, the CI of
masteris prepared for running both on physical Macs as well as VMs that are using homebrew and Python virtual environments. To make the workflow steps robust for using one or the other, the build&test steps will check for a folder where a Python virtual environment should be located, and if one is found, they source theactivatescript before starting the build and test.All workflow steps on Mac are now run in bash login shells, so environments from
.bash_profileor.profilewill be visible in each step.