From 394298649d22d8656a4d0dd37f37c652b688b468 Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Sun, 30 Aug 2026 15:57:43 +0300 Subject: [PATCH] Smoke-test Renovate runner updates --- .github/renovate.json | 1 + .github/workflows/renovate-smoke-test.yml | 65 +++++++++++++++++++++++ .github/workflows/renovate.yml | 2 +- 3 files changed, 67 insertions(+), 1 deletion(-) create mode 100644 .github/workflows/renovate-smoke-test.yml diff --git a/.github/renovate.json b/.github/renovate.json index eaaed8bc8..18f93f0da 100644 --- a/.github/renovate.json +++ b/.github/renovate.json @@ -86,6 +86,7 @@ ".github/workflows/i18n.yml", ".github/workflows/lock-threads.yml", ".github/workflows/matrix.yml", + ".github/workflows/renovate-smoke-test.yml", ".github/workflows/renovate.yml", ".github/workflows/update-translations.yml", "flake.nix", diff --git a/.github/workflows/renovate-smoke-test.yml b/.github/workflows/renovate-smoke-test.yml new file mode 100644 index 000000000..b2b0945d0 --- /dev/null +++ b/.github/workflows/renovate-smoke-test.yml @@ -0,0 +1,65 @@ +# SPDX-FileCopyrightText: 2026 Slavi Pantaleev +# +# SPDX-License-Identifier: AGPL-3.0-or-later + +--- +name: Renovate smoke test + +on: # yamllint disable-line rule:truthy + push: + paths: + - '.github/renovate.json' + - '.github/workflows/renovate-smoke-test.yml' + - '.github/workflows/renovate.yml' + pull_request: + paths: + - '.github/renovate.json' + - '.github/workflows/renovate-smoke-test.yml' + - '.github/workflows/renovate.yml' + workflow_dispatch: + +permissions: + contents: read + +jobs: + validate: + name: Validate config with the pinned Renovate image + runs-on: ubuntu-latest + + # Same-repository pull requests already run via the push event; + # run pull_request jobs only for pull requests from forks. + if: >- + github.event_name != 'pull_request' + || github.event.pull_request.head.repo.full_name != github.repository + + steps: + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7 + + - name: Resolve the pinned Renovate version + id: renovate_version + shell: bash + run: | + set -euo pipefail + + mapfile -t versions < <( + sed -n "s/^ MATRIX_RENOVATE_VERSION: '\([^']*\)'$/\1/p" \ + .github/workflows/renovate.yml + ) + + if (( ${#versions[@]} != 1 )) || [[ -z "${versions[0]}" ]]; then + echo 'Could not resolve exactly one pinned Renovate version' >&2 + exit 1 + fi + + echo "version=${versions[0]}" >> "$GITHUB_OUTPUT" + + - name: Validate the Renovate configuration + env: + RENOVATE_VERSION: ${{ steps.renovate_version.outputs.version }} + run: | + docker run --rm \ + --volume "$GITHUB_WORKSPACE:/workspace:ro" \ + --workdir /workspace \ + --entrypoint renovate-config-validator \ + "ghcr.io/renovatebot/renovate:$RENOVATE_VERSION" \ + --strict diff --git a/.github/workflows/renovate.yml b/.github/workflows/renovate.yml index 59c9ea873..799e2858f 100644 --- a/.github/workflows/renovate.yml +++ b/.github/workflows/renovate.yml @@ -28,7 +28,7 @@ on: # yamllint disable-line rule:truthy push: branches: ['master'] workflow_run: - workflows: ['Matrix CI', 'Matrix i18n', 'Molecule'] + workflows: ['Matrix CI', 'Matrix i18n', 'Molecule', 'Renovate smoke test'] types: [completed] branches: ['renovate/**'] issues: