Files
matrix-docker-ansible-deploy/.github/workflows/renovate-smoke-test.yml
T

66 lines
1.9 KiB
YAML

# 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