From d3eef0c43eaa086fe82062f7061a450c114dfe44 Mon Sep 17 00:00:00 2001 From: Ruk Doe Date: Thu, 29 Oct 2026 09:39:09 +0900 Subject: [PATCH 1/2] =?UTF-8?q?chore(renovate):=20renovate-config-validato?= =?UTF-8?q?r=20=E3=81=AE=20Node=20=E3=81=AF=2024=20=E3=81=AB=E7=95=99?= =?UTF-8?q?=E3=82=81=E3=82=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Node 26 だと npx が Renovate の engines (node ^24) を満たす古い版を入れ、managerFilePatterns を知らずに validate が落ちる (#595)。 Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01T9PbUfqG4pPxus99UeLiJs --- renovate.json | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/renovate.json b/renovate.json index d2fa241a..078f75b8 100644 --- a/renovate.json +++ b/renovate.json @@ -57,6 +57,16 @@ } ], "packageRules": [ + { + "description": "renovate-config-validator を動かす Node は Renovate の engines (node ^24) に合わせる。26 にすると npx が engines を満たす古い Renovate を入れ、managerFilePatterns を知らずに落ちる (#595)。", + "matchFileNames": [ + ".github/workflows/renovate-validate.yml" + ], + "matchDepNames": [ + "node" + ], + "allowedVersions": "<25" + }, { "description": "bun.lock は pulumi install で作る(SDK が file:sdks/netbird で、Renovate 自身の bun install は落ちる)。bun.lock も package file なので matchFileNames に入れる。skipArtifactsUpdate は枝の全部の更新が指定しているときだけ効くので専用の枝にする。許可は apps/renovate/renovate.yaml の RENOVATE_ALLOWED_COMMANDS。", "matchFileNames": [ From fda01b4457d97da0764571d2873c161c31557200 Mon Sep 17 00:00:00 2001 From: Ruk Doe Date: Thu, 29 Oct 2026 09:48:55 +0900 Subject: [PATCH 2/2] =?UTF-8?q?chore(renovate):=20validator=20=E3=81=AE=20?= =?UTF-8?q?Node=20=E3=81=AF=20Renovate=20=E3=81=AE=20engines=20=E3=82=92?= =?UTF-8?q?=E8=AA=AD=E3=82=80=E3=83=BBTalos=20=E3=81=AE=20alpha/beta=20?= =?UTF-8?q?=E3=82=92=E6=8B=BE=E3=81=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - renovate-validate の Node は版を書かず、npm view renovate engines.node を毎回読んで合わせる (固定すると Renovate が上げたあとも残り、Renovate より新しいと npx が古い Renovate を入れて落ちる #595) - Talos のまとめの規則に versioning: semver。既定の semver-coerced は v1.15.0-alpha.1 と alpha.2 を同じとみなし、 alpha.2 の PR が出ていなかった。talosctl のイメージの開発版タグ (…-9-g567501669) は allowedVersions で外す (手元の renovate --dry-run=lookup で siderolabs/talos・talosctl とも v1.15.0-alpha.2 が出るのを確かめた) Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01T9PbUfqG4pPxus99UeLiJs --- .github/workflows/renovate-validate.yml | 6 +++++- renovate.json | 14 +++----------- 2 files changed, 8 insertions(+), 12 deletions(-) diff --git a/.github/workflows/renovate-validate.yml b/.github/workflows/renovate-validate.yml index dcfd987e..14d6f5c7 100644 --- a/.github/workflows/renovate-validate.yml +++ b/.github/workflows/renovate-validate.yml @@ -20,8 +20,12 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v7 + # Node は Renovate の engines(package.json の engines.node)を毎回読んで合わせる。版を書いて固定すると Renovate が + # 上げたあとも古いまま残り、Renovate より新しくすると npx が engines を満たす古い Renovate を入れて落ちる(#595) + - id: engines + run: echo "node=$(npm view renovate engines.node)" >> "$GITHUB_OUTPUT" - uses: actions/setup-node@v7 with: - node-version: 24.22.1 + node-version: ${{ steps.engines.outputs.node }} # 版は固定しない(最新の Renovate が受け付けるかを見る) - run: npx --yes --package renovate renovate-config-validator --strict diff --git a/renovate.json b/renovate.json index 078f75b8..7deba25d 100644 --- a/renovate.json +++ b/renovate.json @@ -57,16 +57,6 @@ } ], "packageRules": [ - { - "description": "renovate-config-validator を動かす Node は Renovate の engines (node ^24) に合わせる。26 にすると npx が engines を満たす古い Renovate を入れ、managerFilePatterns を知らずに落ちる (#595)。", - "matchFileNames": [ - ".github/workflows/renovate-validate.yml" - ], - "matchDepNames": [ - "node" - ], - "allowedVersions": "<25" - }, { "description": "bun.lock は pulumi install で作る(SDK が file:sdks/netbird で、Renovate 自身の bun install は落ちる)。bun.lock も package file なので matchFileNames に入れる。skipArtifactsUpdate は枝の全部の更新が指定しているときだけ効くので専用の枝にする。許可は apps/renovate/renovate.yaml の RENOVATE_ALLOWED_COMMANDS。", "matchFileNames": [ @@ -119,7 +109,9 @@ "allowedVersions": "<18" }, { - "description": "Talos・Kubernetes・Gateway API は自動マージしない(ノード 1 台で全停止、CRD は全経路が乗り換わる)。適用は人。talosctl のイメージと手元の CLI もノードの版と一緒に上げる。", + "description": "Talos・Kubernetes・Gateway API は自動マージしない(ノード 1 台で全停止、CRD は全経路が乗り換わる)。適用は人。talosctl のイメージと手元の CLI もノードの版と一緒に上げる。版の比べ方は semver にする。既定の semver-coerced は v1.15.0-alpha.1 と alpha.2 を同じ 1.15.0 とみなし、alpha・beta の更新を出さない。talosctl のイメージには開発版のタグ(v1.15.0-alpha.2-9-g567501669)もあるので、正式な版・alpha・beta・rc だけを許す。", + "versioning": "semver", + "allowedVersions": "/^v\\d+\\.\\d+\\.\\d+(-(alpha|beta|rc)\\.\\d+)?$/", "groupName": "talos", "groupSlug": "talos", "automerge": false,