Skip to content

依存の定期更新(Renovate)とメジャー移動タグ対応 #2

Description

@mackato

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)で意図しない即時取り込みを抑止。
  • lockFileMaintenanceflake.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.jsonrenovate-config-validator で valid。
  • release.yml: vX.Y.Z で Release 作成 + vX 移動、vX push で二重発火しない。
  • 既存 check.yml が green のまま。

備考

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions