Skip to content

macOS CI スモークテストの追加(gcc-wrapper + komega) - #187

Open
k-yoshimi wants to merge 2 commits into
developfrom
fix/180-macos-ci
Open

macOS CI スモークテストの追加(gcc-wrapper + komega)#187
k-yoshimi wants to merge 2 commits into
developfrom
fix/180-macos-ci

Conversation

@k-yoshimi

Copy link
Copy Markdown
Collaborator

概要

Fixes #180

macos-14(Apple Silicon)ランナーで setup → tools/gcc-wrapper(install/link + gcc/gfortran 動作確認)→ apps/komega(install/link/runtest)を実行する workflow .github/workflows/macos.yml を追加します。トリガーは Ubuntu CI と同じ push / pull_request / 月 2 回の cron。

macOS 固有の要素(Homebrew GCC の検出、Xcode SDK workaround、fix_dylib 系)はこれまで CI カバレッジがゼロで、直近の SDK 26 対応などはローカル検証頼みでした。まず最小のスモークテストを入れ、対象アプリは今後拡大する想定です。

検証

CI と同一の手順をローカルの macOS(Apple Silicon, Homebrew)で一時 MA_ROOT を使って通しで実行し、komega の runtest が Test Passed になることを確認済み。その際の知見を workflow に反映しています:

  • macOS ランナーには wget が無い → brew install wget(全 download.sh が wget 依存)
  • open-mpi を入れると依存で Homebrew gcc も入り、gcc-wrapper の要求を満たす

この PR 自体の push で workflow が実行されるので、Actions の結果もあわせて確認してください。

🤖 Generated with Claude Code

k-yoshimi and others added 2 commits July 8, 2026 07:00
Runs setup, tools/gcc-wrapper, and apps/komega (install, link,
runtest) on macos-14. The macOS-specific pieces (Homebrew GCC
detection, SDK workarounds) previously had no CI coverage at all.

Fixes #180

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
gcc --version alone could stay green via the runner's own compilers
even if gcc-wrapper failed to create its symlinks. The job now fails
unless command -v gcc/gfortran points inside the wrapper prefix.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@k-yoshimi

Copy link
Copy Markdown
Collaborator Author

AI review cycle (Codex + Antigravity) 結果

Phase 1 (Codex): must_fix 0 / should_fix 1。

  • 指摘: gcc --version だけでは gcc-wrapper が壊れていても runner 自身のコンパイラで緑になり得る(silent green)→ 修正: command -v gcc/gfortran が wrapper プレフィックス配下を指すことをアサートする検証を追加。実 CI で gcc -> /Users/runner/materiapps/gcc-wrapper/.../bin/gcc の解決と komega Test Passed. を確認済み(run 28903874824, 39s)。
  • optional 2 件は意図どおりとして受容: cron の main.yml との同時刻実行(同一ケイデンスをミラーする意図)、Homebrew bottle ドリフト(「現行 macOS + Homebrew で壊れたら気づく」ことが本 CI の目的)。

Phase 2 (Antigravity): macOS チュートリアル(review1.rst)が gcc-wrapper 以前の CC=gcc-10 方式のまま等の指摘 → いずれも本 PR 以前からの既存の陳腐化(本 PR は CI 追加のみで挙動変更なし)であり、macOS 手順書の刷新はサポート対象バージョン等のメンテナ判断を要するため、専用 Issue #188 に記録。macos/ports.sh の扱いは #185、Xcode 26 SDK ハードコードは既存 workaround(b515cd2)として記録。

→ 両フェーズ収束。

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[CI] macOS の CI 追加(gcc-wrapper + 軽量アプリのスモークテスト)

2 participants