Skip to content

Renovate

Renovate #967

Workflow file for this run

name: Renovate
# Run on pull requests, cronjob or manually (dispatch)
on:
pull_request:
schedule: [cron: "0 10 * * *"] # 2 AM PST = 10 AM UDT
workflow_dispatch:
inputs:
repos: # Optional input
description: "List of repos (org/repo)"
type: string
required: false
log_level: # Default input
description: "Log level"
default: "INFO"
type: choice
required: true
options: ["INFO", "WARNING", "DEBUG"]
# Cancel any other workflows (PR, cron or manual)
concurrency:
group: ${{ github.workflow }}
cancel-in-progress: true
jobs:
run:
name: Dry-Run
env:
pr_set: bcgov/renovate-config bcgov/quickstart-openshift
permissions:
pull-requests: write
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
# Run Renovate, dry run
- name: Renovate Dry-Run
run: |
# Process repo list and add to config
IFS=', ' read -a INPUT <<< "${{ inputs.repos || env.pr_set }}"
for r in "${INPUT[@]}"; do
REPOS+="\"$r\","
done
REPOS=${REPOS%,*}
cat <<< $(jq '. | .repositories = ['${REPOS}']' renovate.json) > renovate.json
# Dry run
cat <<< $(jq '.+= {"dryRun": "full"}' renovate.json) > renovate.json
# Run Renovate
- name: Run Renovate
uses: renovatebot/[email protected]
env:
LOG_LEVEL: ${{ inputs.log_level || 'INFO' }}
with:
configurationFile: renovate.json
token: ${{ secrets.RENOVATE_TOKEN }}
validate:
name: Validate
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: '22'
- name: Validate Config
run: npx --yes --package renovate --- "renovate-config-validator --strict default.json renovate.json"