DevOps

DevOps

GitHubのpublicリポジトリに入れてはいけないものを入れたときの緊急手順 — HEADから消す・履歴から抜く・Supportに頼む・二度と入らなくする

public な GitHub リポジトリに秘密鍵・ライセンス上まずいバイナリ・個人情報を入れてしまったときの緊急手順書。HEAD から外す → git filter-repo で履歴から抜く → ブランチ保護を秒で外して force push → 残る参照 (PR ref・raw・fork) を数える → GitHub Support に GC を依頼する文面 → 容量と拡張子の門番で再発を防ぐ。スクショとチェックリストつき。
DevOps

GitHubのpublicリポジトリにGPLバイナリを混入させた — git filter-repoとブランチ保護の外し戻しで履歴から消す手順

public な GitHub リポジトリに GPL バイナリ (FreeDOS + DOOM シェアウェアのディスクイメージ 4.5MB) を commit してしまった。git filter-repo で全コミットから該当ファイルだけを抜き、ブランチ保護を秒単位で外して force push し、元に戻すまでの手順。巻き戻しとの違い、検証の型、PR ref に残るものまで。
DevOps

ghコマンドでGoリポジトリを固める通し手順 — GitHub Actions CI・mainブランチ保護・v*タグでバイナリ自動リリース

前回、AIエージェントとの開発でmainを守るで「なぜmainを保護するのか」を書いた。規約で守らせるのではなく、構造で不可能にする、という話だ。今回はその続きで、手順に徹する。概念は分かっても、いざ自分のリポジトリでやろうとすると手が止ま...
Claude Code

AIエージェントとの開発でmainを守る — gh apiでGitHubブランチ保護を掛ける手順と、paths-ignoreの罠

AIエージェント (Claude Code) と一緒に開発していて、こういうことが起きた。私のプロジェクトの規約には「変更はブランチ+PR単位で回す」と書いてある。エージェントはそれを読んでいる。それでも、ドキュメントだけを直したとき、こう...
DevOps

GitHubのChecksタブを合否掲示板にする ― GitHub App × Actions × Checks の棲み分け

PRのChecksタブが6行のリンク集になった。ジョブを削ると今度は結果が読めない。原因はGitHub App・Actions・Checksの棲み分けの誤解 ― 3者の関係をRustの構造体で整理し、自前AppでChecksタブを合否掲示板にするまでの記録。
DevOps

GitHub ActionsでTypeScriptのCI/CDを組む — Checksタブを「リンク集」から「レポート」に変える

PRのChecksタブがログへのリンク集にしかならない問題を、Checks APIで右ペインに読めるレポートを出して解決する。ジョブ統合・ANSI除去・head_shaの罠、デプロイ鍵の最小権限化まで要点を4つに絞って解説。