Skip to content

ci: docs-only 変更で CI 全 job を skip する#357

Merged
ymnao merged 1 commit into
mainfrom
ci/docs-only-skip
Jul 18, 2026
Merged

ci: docs-only 変更で CI 全 job を skip する#357
ymnao merged 1 commit into
mainfrom
ci/docs-only-skip

Conversation

@ymnao

@ymnao ymnao commented Jul 18, 2026

Copy link
Copy Markdown
Owner

概要

docs-only PR (CLAUDE.md / docs/** / .github/ISSUE_TEMPLATE/** のみの変更) で CI 全 job の実行を skip し、Actions minutes と PR merge 待ち時間を削減する。

関連 Issue

なし (HANDOFF §1 で追跡)

移行 Stage

該当なし (CI 最適化)

変更内容

  • .github/workflows/ci.ymlon.push / on.pull_requestpaths-ignore を追加 (**/*.md, docs/**, .github/ISSUE_TEMPLATE/**)
  • .github/workflows/ci-skip.yml を新規追加: 補完する paths filter で trigger され、ci.yml の required check 7 個 (lint / typecheck / test / e2e / electron-e2e / build / dependency-review) を stub success で提供
  • 既存の codeql.yml + codeql-skip.yml pair と同一 pattern・同一 path 定義で揃える (GitHub 公式ドキュメント推奨の Handling skipped but required checks workaround)

動作確認

  • このPR自体が docs 外の変更 (.github/workflows/*.yml) を含むため、通常の ci.yml が trigger され全 required check が実 run で検証される
  • merge 後の次 docs-only PR で ci-skip.yml が stub 起動し、実 e2e / electron-e2e / build が skip されることを確認 (次セッションで検証、docs: / chore: PR で観察)

スクリーンショット

なし

検証エビデンス

リスク分類

tier: high — reasons: ci-config: .github/workflows/ci-skip.yml .github/workflows/ci.yml

実行した検証

種別 コマンド 結果
テスト (実行対象コード変更なしのため未実施) 未実施
Lint (yaml のみ、biome 対象外) 未実施
レビュー codex-review shell-senior PASS (0 findings)
レビュー codex-review security 1 finding → 1 REFUTED / 0 fixed
レビュー codex-review qa-fixture 3 findings → 1 REFUTED / 2 REPORT-ONLY / 0 fixed
walkthrough tier=high explain-the-diff user 承認 (「ok」)

レビュー指摘と対応

観点 severity/conf 該当 内容 対応
security HIGH/90 ci-skip.yml:39 同名 check の race で stub 成功が実 CI 失敗を bypass する懸念 REFUTED — GitHub 公式ドキュメント推奨 pattern。branch protection は同名 check の全 run success を要求するため stub 単独では bypass 不可。既存 codeql-skip.yml が同 pattern で production 実績あり
qa-fixture HIGH/92 ci-skip.yml:38 同上 (same-named check race) REFUTED — 同上
qa-fixture MEDIUM/85 ci-skip.yml:19 trigger matrix (docs-only / code-only / 混在 × PR / push) の fixture テスト不在 REPORT-ONLY — 既存 codeql-skip pair 共通の pattern-level 懸念、本 PR で新規発生する問題ではない。workflow fixture 導入は scope 超
qa-fixture LOW/78 ci.yml:9 ci.yml と ci-skip.yml の paths リスト drift 検証テスト不在 REPORT-ONLY — 同上、既存 codeql pair 共通懸念

追跡先

なし (REPORT-ONLY 2 件は既存 codeql pair 共通の pattern-level 懸念で本 PR 起因ではないため、fix-or-issue ポリシー上「fix 不要のみ」扱い)

Draft 判定

  • 判定: normal
  • 根拠: step 4 — codex-review 3 観点で HIGH/CONFIRMED の finding は 0 件 (2 件は REFUTED、2 件は REPORT-ONLY で本 PR 起因ではない pattern-level 懸念)、fix 必要 finding なし → normal 到達

- ci.yml の push / pull_request に paths-ignore (**/*.md, docs/**,
  .github/ISSUE_TEMPLATE/**) を追加
- ci-skip.yml を新規追加: 補完する paths filter で trigger され、
  ci.yml の各 required check (lint / typecheck / test / e2e /
  electron-e2e / build / dependency-review) を stub success で提供
- codeql.yml + codeql-skip.yml と同じ pattern・同じ path 定義で揃える
- HANDOFF §1 対応 (PR #356 の CLAUDE.md 1 行追記でも e2e 全 job が
  走った件を解消)
@ymnao
ymnao merged commit 2f7ddc6 into main Jul 18, 2026
9 checks passed
@ymnao
ymnao deleted the ci/docs-only-skip branch July 18, 2026 17:43
ymnao added a commit that referenced this pull request Jul 18, 2026
- ci.yml + ci-skip.yml と codeql.yml + codeql-skip.yml の
  paths-ignore / paths を js-yaml でパースし、pair 間の補完関係と
  4 workflow 全体で path list が同一であることを assert
- vitest.config.ts に workflows project (node env, test/**/*.test.ts)
  を追加
- tsconfig.node.json の include に test を追加

PR #357 で codex-review qa-fixture が REPORT-ONLY で指摘した
「paths リスト drift 検証テスト不在」を pair 全体の pattern 昇格として
解消 (HANDOFF §2)。
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.

1 participant