renovate-config-validatorでrenovate.json以外のファイルをバリデーションする
いつの間にか引数にファイル名を指定すればバリデーションできるようになってた
複数ファイル指定もいける
$ npx renovate-config-validator default.json schedule.json
自分のrenovate-configリポジトリのCIではfindとxargsでまとめて指定している
$ find . -maxdepth 1 -type f -name "*.json" -not -name package.json -not -name package-lock.json -exec basename {} \; | sort | xargs npx renovate-config-validator --strict
以下古い情報
結論
環境変数RENOVATE_CONFIG_FILEでファイル名を指定してrenovate-config-validatorを実行
$ RENOVATE_CONFIG_FILE=schedule.json npx renovate-config-validator
ただしrenovate.jsonのバリデーションも行われる
code:cli
$ RENOVATE_CONFIG_FILE=schedule.json npx renovate-config-validator
INFO: Validating renovate.json
INFO: Validating schedule.json
INFO: Config validated successfully
extendsでGitHubから読み込む場合,default.jsonが読み込まれる
Renovateの設定ファイルのバリデーションにはrenovate-config-validatorコマンドが使える
npmのrenovateパッケージをインストールすると入ってくる
renovate-config-validatorがrenovate.json以外のファイルをバリデーションしない
そういう仕様
プリセットでは複数のファイルを持ってるので困る
解決策
環境変数 RENOVATE_CONFIG_FILE でファイル名を指定してrenovate-config-validatorを実行
$ RENOVATE_CONFIG_FILE=schedule.json npx renovate-config-validator
ただしrenovate.jsonファイルもバリデーションされる
code:cli
$ RENOVATE_CONFIG_FILE=schedule.json npx renovate-config-validator
INFO: Validating renovate.json
INFO: Validating schedule.json
INFO: Config validated successfully
code:bash
for file in find . -maxdepth 1 -type f -name "*.json" -not -name package.json -not -name package-lock.json -exec basename {} \; | sort; do
echo "Validate ${file}"
RENOVATE_CONFIG_FILE=${file} npx renovate-config-validator
done
ファイル名を手動で指定するならGitHub ActionsのYAMLで指定してもいい
code:yaml
jobs:
test:
runs-on: ubuntu-latest
steps:
# 省略
- run: npx renovate-config-validator
env:
RENOVATE_CONFIG_FILE: schedule.json