Skip to content

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

@mackato

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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions