fix: support latest Windows and macOS runners#553
Merged
Conversation
- Log extracted pkg directory tree (3 levels) after xar -xf - Check codesign, xattr, and spctl on app before caching - Log cached binary path and existence after tc.cacheDir - Capture stdout/stderr/exitCode in test() for diagnosis Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
tc.cacheDir copies the *contents* of the source directory into the cache root (copySourceDirectory: false), stripping the .app name. The cached binary ends up at: hostedtoolcache/msedge/stable/arm64/Contents/MacOS/Microsoft Edge The Edge binary looks for its bundle root two levels up, finding 'arm64/' which has no .app extension. On macOS 15, Edge validates the bundle path and exits immediately (null exit code). Fix: wrap the .app in a plain directory before caching so the .app name is preserved in the cache: hostedtoolcache/msedge/stable/arm64/Microsoft Edge.app/Contents/MacOS/Microsoft Edge Update binPath to include the .app directory name accordingly. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
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.
Problem
This PR fixes two compatibility issues with the latest CI runners:
Windows (latest runner)
wmicis deprecated and removed from Windows 11 / the latest Windows runner. The action usedwmicto retrieve the installed Edge version, causing failures on the latest Windows runner.macOS (latest runner, macOS 15 arm64)
On macOS 15 (arm64), the action failed with
exit code nullwhen runningMicrosoft Edge --versionfrom the tool cache.tc.cacheDir()usescopySourceDirectory: false, which copies the contents of the source directory into the cache root, stripping the.appdirectory name. The cached binary ended up at:The Edge launcher locates its bundle root two levels up, finding
arm64/which has no.appextension. On macOS 15, Edge validates the bundle path and exits immediately with a signal kill (null exit code, empty stderr).Fix
Windows
Replace
wmicwithGet-Item(PowerShell) to retrieve the installed Edge version.macOS
Wrap the
.appbundle in awrapper/subdirectory before callingtc.cacheDir(), so the.appname is preserved in the cache:Also updated
binPath()to include the.app/Contents/MacOS/path components.Verification
All CI jobs pass on macOS (stable, beta, dev, canary), Windows, and Ubuntu.