env-init の追加(#1)に続く運用面の follow-up。以下2点を別 PR でまとめて対応する。
1. 依存の定期更新(Renovate)
devbox / flake.lock / github-actions を Renovate で一元管理する。
renovate.json を追加(config:recommended + helpers:pinGitHubActionDigests)。
minimumReleaseAge: "3 days"(cooldown)で意図しない即時取り込みを抑止。
lockFileMaintenance で flake.lock / devbox.lock を定期更新。
- github-actions は Dependabot が cooldown 非対応のため Dependabot は使わず Renovate に寄せる。
- 運用前提: Renovate GitHub App を本リポジトリ/org に有効化。
- 注意:
devbox.lock の lockFileMaintenance は Renovate 実行環境に devbox バイナリが必要(devbox.json のバージョン更新は datasource で可、flake.lock は hosted で動作)。
2. メジャー移動タグ対応(GitHub Actions 方式)
不変タグ vX.Y.Z と移動タグ vX を併存させ、consumer に選ばせる。
release.yml に「vX.Y.Z push 時に同メジャーの移動タグ vX を force 更新」を追加。
release.yml のトリガを vX.Y.Z(セムバー)パターンに絞り、vX 移動による二重発火を防止。
- 利用パターン:
- 低摩擦:
github:airs/devtools/v1#env-init(移動タグ、devbox update で最新 1.x を取得)
- 厳密 pin:
github:airs/devtools/v1.2.0#env-init(不変タグ)+ Renovate でメジャー更新を抑止
- README の利用例に両パターンを追記。
受け入れ条件 / 検証
renovate.json が renovate-config-validator で valid。
release.yml: vX.Y.Z で Release 作成 + vX 移動、vX push で二重発火しない。
- 既存
check.yml が green のまま。
備考
env-init の追加(#1)に続く運用面の follow-up。以下2点を別 PR でまとめて対応する。
1. 依存の定期更新(Renovate)
devbox / flake.lock / github-actions を Renovate で一元管理する。
renovate.jsonを追加(config:recommended+helpers:pinGitHubActionDigests)。minimumReleaseAge: "3 days"(cooldown)で意図しない即時取り込みを抑止。lockFileMaintenanceでflake.lock/devbox.lockを定期更新。devbox.lockの lockFileMaintenance は Renovate 実行環境に devbox バイナリが必要(devbox.jsonのバージョン更新は datasource で可、flake.lockは hosted で動作)。2. メジャー移動タグ対応(GitHub Actions 方式)
不変タグ
vX.Y.Zと移動タグvXを併存させ、consumer に選ばせる。release.ymlに「vX.Y.Zpush 時に同メジャーの移動タグvXを force 更新」を追加。release.ymlのトリガをvX.Y.Z(セムバー)パターンに絞り、vX移動による二重発火を防止。github:airs/devtools/v1#env-init(移動タグ、devbox updateで最新 1.x を取得)github:airs/devtools/v1.2.0#env-init(不変タグ)+ Renovate でメジャー更新を抑止受け入れ条件 / 検証
renovate.jsonがrenovate-config-validatorで valid。release.yml:vX.Y.Zで Release 作成 +vX移動、vXpush で二重発火しない。check.ymlが green のまま。備考
<ref>は Nix flake の git ref でありワイルドカード/セムバー範囲は不可。「メジャー追従」は移動タグ or consumer 側 Renovate で実現する。