GitHub Actionsしたい
Changelogを定期更新したい
name: Update Changelog
on:
schedule:
# 毎週月曜日の午前0時5分(UTC)に実行
# cronの書式: 分 時 日 月 曜日
- cron: "5 0 * * 1"
workflow_dispatch: # 手動トリガーを有効にする
jobs:
update_changelog:
runs-on: ubuntu-latest
steps:
- name: Checkout
# リポジトリをチェックアウトする
# czでタグ情報も必要になるため
# すべての履歴とタグを取得する
uses: actions/checkout@v4
with:
fetch-depth: 0 # すべての履歴とタグを取得
- name: Setup Python
# Pythonをセットアップする
uses: actions/setup-python@v5
with:
python-version: "3.11"
- name: Install Commitizen
# pipxでcommitizenをインストール
run: pipx install commitizen
- name: Update Changelog
# 変更履歴の差分を生成する
run: cz changelog --incremental
- name: Commit Changes
# git status --porcelain で変更の有無を確認
# 変更がある場合はコミットする
# - ユーザー名: GitHub Actions
# - メールアドレス: github-actions[bot]
# - メッセージ: [skip ci]をつける
# 変更がない場合はメッセージを残す
run: |
if [ -n "$(git status --porcelain)" ]; then
git config --global user.email "github-actions[bot]@users.noreply.github.com"
git config --global user.name "GitHub Actions"
git add CHANGELOG.md
git commit -m "chore: update changelog [skip ci]"
git push origin main
else
echo "No changes in CHANGELOG.md Skipping commit."
fi
Dependabotしたい
Dependabotは、プロジェクトで使っているツールが依存している パッケージに更新があったことを、 プルリクエストにできるツールです。
version: 2
# 依存関係のアップデートに関する設定
updates:
# - package-ecosystem: "poetry" # パッケージマネージャー
# directory: "/" # 依存関係を管理するファイルがあるパス
# schedule:
# interval: "daily", "weekly", "monthly" のいずれか
- package-ecosystem: "poetry"
directory: "/"
schedule:
interval: "weekly"
# パッケージマネージャーを追加する場合
# - package-ecosystem: "npm"
# directory: "/"
# schedule:
# interval: "montly"
# 依存関係のアップデートがあった場合
# pull-requestを作成してお知らせ