chore: Update renovate CI

- Fixes some issues with the action - Enables OSV vuln scanning -
Enables updating the dockerfile tool versions
This commit is contained in:
Jade Ellis 2025-09-10 16:53:59 +01:00
commit 27e0ef7b2e
No known key found for this signature in database
GPG key ID: 8705A2A3EBF77BD2
3 changed files with 54 additions and 16 deletions

View file

@ -1,5 +1,7 @@
name: Maintenance / Renovate name: Maintenance / Renovate
enable-email-notifications: true
on: on:
schedule: schedule:
# Run at 5am UTC daily to avoid late-night dev # Run at 5am UTC daily to avoid late-night dev
@ -10,10 +12,10 @@ on:
dryRun: dryRun:
description: 'Dry run mode' description: 'Dry run mode'
required: false required: false
default: null default: ''
type: choice type: choice
options: options:
- null - ''
- 'extract' - 'extract'
- 'lookup' - 'lookup'
- 'full' - 'full'
@ -23,6 +25,7 @@ on:
default: 'info' default: 'info'
type: choice type: choice
options: options:
- 'debug'
- 'info' - 'info'
- 'warning' - 'warning'
- 'critical' - 'critical'
@ -40,11 +43,11 @@ jobs:
name: Renovate name: Renovate
runs-on: ubuntu-latest runs-on: ubuntu-latest
container: container:
image: ghcr.io/renovatebot/renovate:41 image: ghcr.io/renovatebot/renovate:41.97.9@sha256:cd501f1d3ce46e43f6928cc50193215a5fe44501ca5b49a6c64c3551e4409c2d
options: --tmpfs /tmp:exec options: --tmpfs /tmp:exec
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@v4 uses: actions/checkout@v5
with: with:
show-progress: false show-progress: false
@ -52,7 +55,7 @@ jobs:
run: /usr/local/renovate/node -e 'console.log(`node heap limit = ${require("v8").getHeapStatistics().heap_size_limit / (1024 * 1024)} Mb`)' run: /usr/local/renovate/node -e 'console.log(`node heap limit = ${require("v8").getHeapStatistics().heap_size_limit / (1024 * 1024)} Mb`)'
- name: Restore renovate repo cache - name: Restore renovate repo cache
uses: https://github.com/actions/cache@v4 uses: actions/cache/restore@v4
with: with:
path: | path: |
/tmp/renovate/cache/renovate/repository /tmp/renovate/cache/renovate/repository
@ -61,7 +64,7 @@ jobs:
repo-cache- repo-cache-
- name: Restore renovate package cache - name: Restore renovate package cache
uses: https://github.com/actions/cache@v4 uses: actions/cache/restore@v4
with: with:
path: | path: |
/tmp/renovate/cache/renovate/renovate-cache-sqlite /tmp/renovate/cache/renovate/renovate-cache-sqlite
@ -69,8 +72,17 @@ jobs:
restore-keys: | restore-keys: |
package-cache- package-cache-
- name: Restore renovate OSV cache
uses: actions/cache/restore@v4
with:
path: |
/tmp/osv
key: osv-cache-${{ github.run_id }}
restore-keys: |
osv-cache-
- name: Self-hosted Renovate - name: Self-hosted Renovate
uses: https://github.com/renovatebot/github-action@v43.0.11 run: renovate
env: env:
LOG_LEVEL: ${{ inputs.logLevel || 'info' }} LOG_LEVEL: ${{ inputs.logLevel || 'info' }}
RENOVATE_DRY_RUN: ${{ inputs.dryRun || 'false' }} RENOVATE_DRY_RUN: ${{ inputs.dryRun || 'false' }}
@ -84,28 +96,37 @@ jobs:
RENOVATE_REQUIRE_CONFIG: 'required' RENOVATE_REQUIRE_CONFIG: 'required'
RENOVATE_ONBOARDING: 'false' RENOVATE_ONBOARDING: 'false'
RENOVATE_INHERIT_CONFIG: 'true'
RENOVATE_PR_COMMITS_PER_RUN_LIMIT: 3
RENOVATE_GITHUB_TOKEN_WARN: 'false' RENOVATE_GITHUB_TOKEN_WARN: 'false'
RENOVATE_TOKEN: ${{ secrets.RENOVATE_TOKEN }} RENOVATE_TOKEN: ${{ secrets.RENOVATE_TOKEN }}
GITHUB_COM_TOKEN: ${{ secrets.GH_PUBLIC_RO }} GITHUB_COM_TOKEN: ${{ secrets.GH_PUBLIC_RO || secrets.GH_TOKEN }}
RENOVATE_REPOSITORY_CACHE: 'enabled' RENOVATE_REPOSITORY_CACHE: 'enabled'
RENOVATE_X_SQLITE_PACKAGE_CACHE: true RENOVATE_X_SQLITE_PACKAGE_CACHE: 'true'
OSV_OFFLINE_ROOT_DIR: /tmp/osv
- name: Save renovate repo cache - name: Save renovate repo cache
if: always() && env.RENOVATE_DRY_RUN != 'full' if: always()
uses: https://github.com/actions/cache@v4 uses:
actions/cache/save@v4
with: with:
path: | path: |
/tmp/renovate/cache/renovate/repository /tmp/renovate/cache/renovate/repository
key: repo-cache-${{ github.run_id }} key: repo-cache-${{ github.run_id }}
- name: Save renovate package cache - name: Save renovate package cache
if: always() && env.RENOVATE_DRY_RUN != 'full' if: always()
uses: https://github.com/actions/cache@v4 uses: actions/cache/save@v4
with: with:
path: | path: |
/tmp/renovate/cache/renovate/renovate-cache-sqlite /tmp/renovate/cache/renovate/renovate-cache-sqlite
key: package-cache-${{ github.run_id }} key: package-cache-${{ github.run_id }}
- name: Save renovate OSV cache
if: always()
uses: actions/cache/save@v4
with:
path: |
/tmp/osv
key: osv-cache-${{ github.run_id }}

View file

@ -13,6 +13,9 @@ extend-ignore-re = [
"[0-9+][A-Za-z0-9+]{30,}[a-z0-9+]", "[0-9+][A-Za-z0-9+]{30,}[a-z0-9+]",
"\\$[A-Z0-9+][A-Za-z0-9+]{6,}[a-z0-9+]", "\\$[A-Z0-9+][A-Za-z0-9+]{6,}[a-z0-9+]",
"\\b[a-z0-9+/=][A-Za-z0-9+/=]{7,}[a-z0-9+/=][A-Z]\\b", "\\b[a-z0-9+/=][A-Za-z0-9+/=]{7,}[a-z0-9+/=][A-Z]\\b",
# In the renovate config
".ontainer"
] ]
[default.extend-words] [default.extend-words]

View file

@ -1,6 +1,7 @@
{ {
"$schema": "https://docs.renovatebot.com/renovate-schema.json", "$schema": "https://docs.renovatebot.com/renovate-schema.json",
"extends": ["config:recommended"], "extends": ["config:recommended", "replacements:all"],
"osvVulnerabilityAlerts": true,
"lockFileMaintenance": { "lockFileMaintenance": {
"enabled": true, "enabled": true,
"schedule": ["at any time"] "schedule": ["at any time"]
@ -55,5 +56,18 @@
"matchManagers": ["cargo"], "matchManagers": ["cargo"],
"prConcurrentLimit": 5 "prConcurrentLimit": 5
} }
],
"customManagers": [
{
"customType": "regex",
"description": "Update _VERSION variables in Dockerfiles",
"managerFilePatterns": [
"/(^|/)([Dd]ocker|[Cc]ontainer)file[^/]*$/",
"/(^|/|\\.)([Dd]ocker|[Cc]ontainer)file$/"
],
"matchStrings": [
"# renovate: datasource=(?<datasource>[a-z-.]+?) depName=(?<depName>[^\\s]+?)(?: (lookupName|packageName)=(?<packageName>[^\\s]+?))?(?: versioning=(?<versioning>[^\\s]+?))?(?: extractVersion=(?<extractVersion>[^\\s]+?))?(?: registryUrl=(?<registryUrl>[^\\s]+?))?\\s+(?:ENV|ARG)\\s+[A-Za-z0-9_]+?_VERSION[ =][\"']?(?<currentValue>.+?)[\"']?\\s"
]
}
] ]
} }