-
Notifications
You must be signed in to change notification settings - Fork 3.1k
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
Mac OS runner with bash -el {0}
overwrites existing PATH
#10624
Comments
*in |
Hey @hoxbro! I see that one of your steps changed Default macOS-14-arm64 PATH:
Example PATH from your workflow:
|
The PATH is coming directly from the runner: https://github.com/hoxbro/example-repo/actions/runs/10888459012/job/30212997311#step:2:44 |
Yeah, my bad. Found the difference. A bit unexpected exactly. |
Tracking this, looking forward to a fix, thanks! |
🤔 It looks like the problem occurs during the installation of
And I see that Homebrew tool was updated in that release: - - Homebrew 4.3.19
+ - Homebrew 4.3.20 A current update contains the next release: - - Homebrew 4.3.20
+ - Homebrew 4.3.21 We'll work on the issue. I'll check how it's going on staging. UPD: Next image update affected by this in the same way. |
First version of a workaround was breaking for Homebrew and installed packages, so I decided to remove itUpdated workaround
|
I might experience the same issue because I switched from macOS-13 to macOS-14 (without changes in usercode) but the build breaks with:
|
See actions/runner-images#10624 - runner version has broken PATH Signed-off-by: Chad Wilson <chadw@thoughtworks.com>
Thanks @erik-bershel - your workaround worked for me at getgauge/gauge-vscode@05f3211 🙏 |
Hey @chadlwilson! Please pay attention to the fact that the first version of WA was breaking for - name: Fix PATH in .bashrc
run: |
sed -i '' '/; export PATH;/d' ~/.bashrc
echo 'export PATH="/opt/homebrew/bin:/opt/homebrew/sbin:$PATH"' >> ~/.bashrc
source ~/.bashrc |
@erik-bershel sure, thanks. Not a problem for us as dont rely on any brew installed packages. In our case the runner was losing a go binary our workflow builds and adds to the PATH in a JS action that is then needed in later npm driven tests. This is a bit surprising that this is not yet fixed in live images. This is a pretty bad bug? If the source is homebrew I'd have thought a downgrade to working version to move forward would be safest and easily prioritised? |
This fix has caused a test failure in https://github.com/determinateSystems/nix-installer as well, tracked down to 20240911.3 and 20240915.3. |
Rollout with the fix in progress, might be tracked via PR: #10647 |
VM rollout finished. export HOMEBREW_PREFIX="/opt/homebrew";
export HOMEBREW_CELLAR="/opt/homebrew/Cellar";
export HOMEBREW_REPOSITORY="/opt/homebrew";
[ -z "${MANPATH-}" ] || export MANPATH=":${MANPATH#:}";
export INFOPATH="/opt/homebrew/share/info:${INFOPATH:-}";
export PATH="/opt/homebrew/bin:/opt/homebrew/sbin:$PATH"
export ImageVersion=20240918.8
export ImageOS=macos14 |
Thanks @erik-bershel ! |
Description
Mac OS runner with
bash -el {0}
overwrites existing PATHPlatforms affected
Runner images affected
Image version and build link
20240911.3
https://github.com/hoxbro/example-repo/actions/runs/10879060685/job/30183040885
Is it regression?
yes, 20240903.5
Expected behavior
It should only append to PATH
Actual behavior
Using
bash -el {0}
overwrites existing PATH. This started happening with 20240911.3, because of this line:Repro steps
I have an MRE repo here: https://github.com/hoxbro/example-repo/actions/runs/10879060685. This used to work on macOS and currently works on Windows and Linux.
The text was updated successfully, but these errors were encountered: