Abhaengigkeits-Updates laufen an einer Stelle statt in jedem Repo einzeln. Der woechentliche Lauf liest die Repository-Liste im Workflow und legt die PRs jeweils dort an. - renovate-basis.json: Minor und Patch gebuendelt in einen PR pro Woche, Major nur nach Freigabe ueber das Dashboard, Sicherheits-Updates am Zeitplan vorbei. - renovate.yml: montags 04:00 UTC, dazu workflow_dispatch mit dry-run. Node 24, weil Renovate 44 das verlangt. Braucht das Repo-Secret RENOVATE_TOKEN (Gitea-Token mit Schreibrecht auf die gelisteten Repositories).
48 lines
1.8 KiB
YAML
48 lines
1.8 KiB
YAML
# Renovate fuer die Node-Projekte. Laeuft an einer Stelle statt in jedem Repo einzeln:
|
|
# der Lauf liest die Repository-Liste unten und legt die PRs jeweils dort an.
|
|
#
|
|
# Voraussetzung: Repo-Secret RENOVATE_TOKEN — ein Gitea-Zugriffstoken mit Schreibrecht
|
|
# auf die gelisteten Repositories (Bereiche: repository, issue, pull request). Ohne das
|
|
# Token kann Renovate keine Branches schieben und bricht mit 401 ab.
|
|
#
|
|
# Ein Projekt nimmt teil, sobald es eine renovate.json mit
|
|
# { "extends": ["local>roland/ci-templates:renovate-basis"] }
|
|
# hat UND hier in RENOVATE_REPOSITORIES steht.
|
|
name: renovate
|
|
|
|
on:
|
|
schedule:
|
|
- cron: "0 4 * * 1" # montags 04:00 UTC
|
|
workflow_dispatch:
|
|
inputs:
|
|
dry-run:
|
|
description: "Nur anzeigen, was Renovate taete (keine PRs)"
|
|
type: boolean
|
|
default: false
|
|
|
|
jobs:
|
|
renovate:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4.4.0
|
|
|
|
- uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
|
|
with:
|
|
node-version: 24 # Renovate 44 verlangt Node 24
|
|
|
|
- name: Renovate laufen lassen
|
|
env:
|
|
RENOVATE_PLATFORM: gitea
|
|
RENOVATE_ENDPOINT: https://git.rolandhentschel.de/api/v1
|
|
RENOVATE_TOKEN: ${{ secrets.RENOVATE_TOKEN }}
|
|
RENOVATE_REPOSITORIES: roland/rako-hausverwaltung,roland/clickfortravel-tms
|
|
RENOVATE_GIT_AUTHOR: "Renovate <renovate@rolandhentschel.de>"
|
|
# Ohne "onboarding" legt Renovate keine Konfigurations-PRs an: teilnehmen soll nur,
|
|
# wer selbst eine renovate.json hat.
|
|
RENOVATE_ONBOARDING: "false"
|
|
RENOVATE_REQUIRE_CONFIG: "required"
|
|
RENOVATE_DRY_RUN: ${{ inputs.dry-run && 'full' || '' }}
|
|
LOG_LEVEL: info
|
|
run: npx --yes renovate@44
|
|
|