pre-commit フックを GitHub Actions で自動更新する#
pre-commit autoupdate を定期的に自動実行し、フックのバージョン更新PRを GitHub Actions 経由で作成する仕組みを紹介します。
自動更新導入の目的#
フックのバージョンは手動更新しないと古くなる
セキュリティパッチや仕様変更を取り込みたい
ローカルで pre-commit を使っていないユーザの変更にも効く
設定ファイル例#
以下を .github/workflows/pre-commit-autoupdate.yml
に配置します:
name: pre-commit autoupdate
on:
schedule:
- cron: '0 0 1 * *' # 毎月1日 (UTC)
workflow_dispatch:
jobs:
autoupdate:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: actions/setup-python@v5
with:
python-version: '3.11'
- name: Install pre-commit
run: |
pip install pre-commit
- name: Run autoupdate
run: |
pre-commit autoupdate
git diff --exit-code || echo "Hooks updated"
- name: Create PR
uses: peter-evans/create-pull-request@v6
with:
commit-message: "chore: pre-commit hooks autoupdate"
title: "chore: Update pre-commit hooks"
body: |
This PR updates the pre-commit hook versions.
branch: chore/pre-commit-autoupdate
delete-branch: true
注意点と推奨運用#
生成されたPRは手動でレビュー&マージ
差分を確認して問題なければ取り込む
pre-commit run –all-files で CI による整合性チェックを追加すると安全
おわりに#
自動更新の仕組みを組み込んでおくことで、運用コストを下げつつ、継続的にクリーンな開発環境を保つことができます。
記事情報
- 投稿日:
2025-05-18
- 著者:
mtakagishi
pre-commit フックの設定網羅テンプレート
REST APIのStubを手早い立上げにMockoonを使った記録