Skip to content

workflows/bootstrap.sh: Add diagnostics for Metal Toolchain#32402

Open
Dave-Allured wants to merge 3 commits intomacports:masterfrom
Dave-Allured:bootstrap.diagnostic.1
Open

workflows/bootstrap.sh: Add diagnostics for Metal Toolchain#32402
Dave-Allured wants to merge 3 commits intomacports:masterfrom
Dave-Allured:bootstrap.diagnostic.1

Conversation

@Dave-Allured
Copy link
Copy Markdown
Contributor

@Dave-Allured Dave-Allured commented Apr 25, 2026

Description

Show Metal Toolchain status at start and end of CI bootstrap stage.
Needed because Metal Toolchain was removed from Xcode 26, and is now provided by Github runner for CI.

Type(s)
  • enhancement
Tested on

CI only.

Verification

Have you

@herbygillot
Copy link
Copy Markdown
Member

CC: @jmroot

@Dave-Allured Dave-Allured changed the title workflows/bootstrap.sh: Add diagnostic for Metal Toolchain workflows/bootstrap.sh: Add diagnostics for Metal Toolchain Apr 25, 2026
@reneeotten
Copy link
Copy Markdown
Contributor

does this actually install the Metal framework or only shows whether it exists? If the latter it's pretty useless since we know that it will not be there... or?

@Dave-Allured
Copy link
Copy Markdown
Contributor Author

That is a fair question. Yes this change only shows whether Metal Toolchain exists, at two different times in the bootstrap stage.

I do not think that we actually "know that it will not be there". My early testing found that Metal Toolchain is installed at start of bootstrap on macOS 26-arm64 runner. This is consistent with a recent statement from Github: actions/runner-images#13014 (comment)

The purpose is to help debug cases of "missing Metal Toolchain" on CI Github runners, such as in the iTerm2 pull request that was merged a few minutes ago. Also see https://trac.macports.org/ticket/73180.

@jmroot
Copy link
Copy Markdown
Member

jmroot commented Apr 25, 2026

So you're just trying to find out if the Metal toolchain is installed on the runner and whether the bootstrap script changes that? If so this doesn't need to be a PR; you can just push a whitespace change to any port to the branch and CI should run in your fork, giving you the answer.

@reneeotten
Copy link
Copy Markdown
Contributor

I'd say we can just ignore failures due to the Metal framework on the CI...

@Dave-Allured
Copy link
Copy Markdown
Contributor Author

just push a whitespace change

We need more fine grained information to find cause of recent flakiness in Metal on macOS 26 CI. This diagnostic is one small step in the right direction to sort it out.

just ignore failures

That would leave maintainers such as myself in an uncomfortable position, given that the general rule is that valid PR's must pass all CI.

@reneeotten
Copy link
Copy Markdown
Contributor

just ignore failures

That would leave maintainers such as myself in an uncomfortable position, given that the general rule is that valid PR's must pass all CI.

Ideally yes, but I have certainly just ignored failures due to the Metal framework and merged PRs/

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Development

Successfully merging this pull request may close these issues.

5 participants