`codeql-action/init` Makes Metal Toolchain Unavailable on macOS 26 Runners
还没有人认领这个 Issue。
评估
- 难度
- 4/5
- 预计耗时
- 3-5 天
- 新手友好度
- 52/100
- Issue 类型
- 缺陷
- 描述清晰度
- 基本清楚
- 活跃度
- 冷清
- 技术栈
- github-actions, macos, typescript
调研方向
从 issue 中的复现流程开始,在 macOS 26 runner 上比较 github/codeql-action/init@v4 前后的 xcrun metal -v。阅读 init action 的入口点,并检查初始化如何影响 Xcode 的选择或 Metal toolchain 的可见性。当所选 Xcode 的 Metal toolchain 仍然可用,并且显示的检查和使用 Metal 编译的构建都成功时,即表示完成。
由索引模型根据 Issue 内容生成。
描述
Description
Swift/iOS builds fail after github/codeql-action/init with Xcode 26 on macOS 26 GitHub-hosted runners when the build needs the Metal toolchain.
The failing build error is:
error: error: cannot execute tool 'metal' due to missing Metal Toolchain; use: xcodebuild -downloadComponent MetalToolchain
Command CompileMetalFile failed with a nonzero exit code
This was originally discussed in actions/runner-images:
- Runner-images issue: https://github.com/actions/runner-images/issues/13014
- Maintainer repro:
xcrun metal -vworks after Xcode selection, then fails aftercodeql-action/init: https://github.com/actions/runner-images/issues/13014#issuecomment-4259404015 - See comment by @v-sergei-pyshnoi , pointing to an issue here: https://github.com/actions/runner-images/issues/13014#issuecomment-4303584735
Reproduction outline
jobs:
codeql-metal-repro:
runs-on: macos-26
permissions:
contents: read
security-events: write
steps:
- uses: actions/checkout@v4
- name: Select Xcode
uses: maxim-lobanov/setup-xcode@v1
with:
xcode-version: latest-stable
- name: Check Metal before CodeQL init
run: |
xcodebuild -version
xcrun --find metal
xcrun metal -v
- name: Initialize CodeQL
uses: github/codeql-action/init@v4
with:
languages: swift
build-mode: manual
- name: Check Metal after CodeQL init
run: |
xcrun --find metal
xcrun metal -v
- name: Build
run: |
# Run the normal xcodebuild command for an iOS app target that compiles Metal files.
xcodebuild ...
Expected: xcrun metal -v and the xcodebuild invocation continue to find the selected Xcode’s Metal toolchain after CodeQL initialization.
Actual: after codeql-action/init, xcrun metal -v / CompileMetalFile can fail with “missing Metal Toolchain”, even though the runner image appears to have the toolchain available before CodeQL initialization.
Note: Xcode 26 changed Metal Toolchain distribution/visibility, and MacPorts documented extra steps sometimes needed to make the toolchain visible to all users:
https://trac.macports.org/wiki/TahoeProblems#MetaltoolchainisnolongerbundledinXcode
- 主要语言
- TypeScript
- 星标
- 1.6k
- 派生
- 493
- 平均合并
- 1 天 13 小时
- 30 天内合并 PR
- 44
贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
github/codeql-action 的其他 Issue
-
难度 2/5 1-3 小时 新手友好度 68/100
github/codeql-action#4052 · 4 条评论 ·
-
难度 4/5 3-5 天 新手友好度 45/100
github/codeql-action#4078 · 1 条评论 ·
-
难度 4/5 3-5 天 新手友好度 48/100
github/codeql-action#4008 · 9 条评论 ·
-
难度 3/5 1-2 天 新手友好度 48/100
github/codeql-action#3915 · 6 条评论 · 3 个 reaction ·
-
难度 4/5 3-5 天 新手友好度 45/100
github/codeql-action#3870 · 3 条评论 · 1 个 reaction ·
查看 github/codeql-action 的全部 Issue
相似的 Issue
-
难度 2/5 1-3 小时 新手友好度 75/100
safetrustcr/dApp-SafeTrust#426 ·
-
area:workflow bug ready-for-agent
难度 2/5 1-3 小时 新手友好度 75/100
fil-donadoni/tolaria#4409 ·
-
难度 2/5 1-3 小时 新手友好度 70/100
Fission-AI/OpenSpec#1960 ·
-
Add dependabot 未关闭
难度 2/5 1-3 小时 新手友好度 70/100
-
难度 2/5 1-3 小时 新手友好度 75/100
corsairdev/corsair#1764 ·