From c597e1465bc19421b33d44f49726ff998fa76922 Mon Sep 17 00:00:00 2001 From: Phil Hope <44029471+phlope@users.noreply.github.com> Date: Mon, 6 Oct 2025 12:01:24 +0100 Subject: [PATCH 1/5] Add renovate config validator shared action --- .release-please-manifest.json | 3 +- actions/validate-renovate-config/README.md | 50 +++++++++++++++++++++ actions/validate-renovate-config/action.yml | 20 +++++++++ release-please-config.json | 5 +++ 4 files changed, 77 insertions(+), 1 deletion(-) create mode 100644 actions/validate-renovate-config/README.md create mode 100644 actions/validate-renovate-config/action.yml diff --git a/.release-please-manifest.json b/.release-please-manifest.json index f3511ae99..e75e326ff 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -23,5 +23,6 @@ "actions/get-latest-workflow-artifact": "0.2.0", "actions/create-github-app-token": "0.2.0", "actions/run-capslock": "0.2.0", - "actions/azure-trusted-signing": "1.0.0" + "actions/azure-trusted-signing": "1.0.0", + "actions/validate-renovate-config": "0.1.0" } diff --git a/actions/validate-renovate-config/README.md b/actions/validate-renovate-config/README.md new file mode 100644 index 000000000..fd6957648 --- /dev/null +++ b/actions/validate-renovate-config/README.md @@ -0,0 +1,50 @@ +# validate-renovate-config + +Validates Renovate configuration files using [renovate-config-validator](https://docs.renovatebot.com/config-validation/). + +## Inputs + +- `path`: Path to the Renovate config file to validate. Defaults to `renovate.json`. + +## Example workflow + +```yaml +name: Validate Renovate Config + +on: + pull_request: + paths: + - 'renovate.json' + push: + branches: + - main + paths: + - 'renovate.json' + +jobs: + validate: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + with: + persist-credentials: false + - name: Validate Renovate Config + uses: grafana/shared-workflows/actions/validate-renovate-config@validate-renovate-config/v1.0.0 +``` + +## Validating multiple files + +To validate multiple config files, call the action multiple times: + +```yaml +- name: Validate main config + uses: grafana/shared-workflows/actions/validate-renovate-config@validate-renovate-config/v1.0.0 + with: + path: renovate.json + +- name: Validate preset + uses: grafana/shared-workflows/actions/validate-renovate-config@validate-renovate-config/v1.0.0 + with: + path: presets/default.json +``` diff --git a/actions/validate-renovate-config/action.yml b/actions/validate-renovate-config/action.yml new file mode 100644 index 000000000..339dcc330 --- /dev/null +++ b/actions/validate-renovate-config/action.yml @@ -0,0 +1,20 @@ +name: Validate Renovate Config +description: Validates Renovate configuration files using renovate-config-validator + +inputs: + path: + description: Path to the Renovate config file to validate (e.g., 'renovate.json') + required: false + default: renovate.json + +runs: + using: composite + steps: + - name: Setup Node.js + uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0 + with: + node-version: '20' + + - name: Validate Renovate config + shell: bash + run: npx --yes --package renovate -- renovate-config-validator "${{ inputs.path }}" \ No newline at end of file diff --git a/release-please-config.json b/release-please-config.json index b9218f0ad..e39b1f249 100644 --- a/release-please-config.json +++ b/release-please-config.json @@ -154,6 +154,11 @@ "actions/create-github-app-token": { "package-name": "create-github-app-token", "extra-files": ["README.md"] + }, + "actions/validate-renovate-config": { + "package-name": "validate-renovate-config", + "extra-files": ["README.md"], + "initial-version": "0.1.0" } }, "release-type": "simple", From bc0183a00bff27fc3c788f889f37242dc9214231 Mon Sep 17 00:00:00 2001 From: Phil Hope <44029471+phlope@users.noreply.github.com> Date: Mon, 6 Oct 2025 12:06:59 +0100 Subject: [PATCH 2/5] Modify run to avoid template injection --- actions/validate-renovate-config/action.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/actions/validate-renovate-config/action.yml b/actions/validate-renovate-config/action.yml index 339dcc330..3f185cbf9 100644 --- a/actions/validate-renovate-config/action.yml +++ b/actions/validate-renovate-config/action.yml @@ -17,4 +17,6 @@ runs: - name: Validate Renovate config shell: bash - run: npx --yes --package renovate -- renovate-config-validator "${{ inputs.path }}" \ No newline at end of file + run: npx --yes --package renovate -- renovate-config-validator "${CONFIG_PATH}" + env: + CONFIG_PATH: ${{ inputs.path }} \ No newline at end of file From a107edf127a8551221a16a9f057b2871775b1b96 Mon Sep 17 00:00:00 2001 From: Phil Hope <44029471+phlope@users.noreply.github.com> Date: Mon, 6 Oct 2025 12:13:17 +0100 Subject: [PATCH 3/5] add newline to renovate action --- actions/validate-renovate-config/action.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/actions/validate-renovate-config/action.yml b/actions/validate-renovate-config/action.yml index 3f185cbf9..422805433 100644 --- a/actions/validate-renovate-config/action.yml +++ b/actions/validate-renovate-config/action.yml @@ -19,4 +19,4 @@ runs: shell: bash run: npx --yes --package renovate -- renovate-config-validator "${CONFIG_PATH}" env: - CONFIG_PATH: ${{ inputs.path }} \ No newline at end of file + CONFIG_PATH: ${{ inputs.path }} From 856fc7cbd0f7e9c0cdae0ae65cdc9c5f4dff10a4 Mon Sep 17 00:00:00 2001 From: Phil Hope <44029471+phlope@users.noreply.github.com> Date: Mon, 6 Oct 2025 12:18:46 +0100 Subject: [PATCH 4/5] Update prettier fixes from local --- actions/validate-renovate-config/README.md | 4 ++-- actions/validate-renovate-config/action.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/actions/validate-renovate-config/README.md b/actions/validate-renovate-config/README.md index fd6957648..c5e6a18ea 100644 --- a/actions/validate-renovate-config/README.md +++ b/actions/validate-renovate-config/README.md @@ -14,12 +14,12 @@ name: Validate Renovate Config on: pull_request: paths: - - 'renovate.json' + - "renovate.json" push: branches: - main paths: - - 'renovate.json' + - "renovate.json" jobs: validate: diff --git a/actions/validate-renovate-config/action.yml b/actions/validate-renovate-config/action.yml index 422805433..0dbeb8233 100644 --- a/actions/validate-renovate-config/action.yml +++ b/actions/validate-renovate-config/action.yml @@ -13,7 +13,7 @@ runs: - name: Setup Node.js uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0 with: - node-version: '20' + node-version: "20" - name: Validate Renovate config shell: bash From fc59d3f952ace4d2e6d0247096938a495ed86247 Mon Sep 17 00:00:00 2001 From: Phil Hope <44029471+phlope@users.noreply.github.com> Date: Mon, 6 Oct 2025 14:11:43 +0100 Subject: [PATCH 5/5] Update renovate README example versions --- actions/validate-renovate-config/README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/actions/validate-renovate-config/README.md b/actions/validate-renovate-config/README.md index c5e6a18ea..a374afc5d 100644 --- a/actions/validate-renovate-config/README.md +++ b/actions/validate-renovate-config/README.md @@ -30,7 +30,7 @@ jobs: with: persist-credentials: false - name: Validate Renovate Config - uses: grafana/shared-workflows/actions/validate-renovate-config@validate-renovate-config/v1.0.0 + uses: grafana/shared-workflows/actions/validate-renovate-config@validate-renovate-config/v0.1.0 ``` ## Validating multiple files @@ -39,12 +39,12 @@ To validate multiple config files, call the action multiple times: ```yaml - name: Validate main config - uses: grafana/shared-workflows/actions/validate-renovate-config@validate-renovate-config/v1.0.0 + uses: grafana/shared-workflows/actions/validate-renovate-config@validate-renovate-config/v0.1.0 with: path: renovate.json - name: Validate preset - uses: grafana/shared-workflows/actions/validate-renovate-config@validate-renovate-config/v1.0.0 + uses: grafana/shared-workflows/actions/validate-renovate-config@validate-renovate-config/v0.1.0 with: path: presets/default.json ```