mirror of
https://forgejo.ellis.link/continuwuation/continuwuity.git
synced 2026-05-26 20:49:55 +00:00
7d91f218b1
Replace local detect-runner-os action with external detect-versions@v1 to reduce custom action maintenance. Add architecture detection for future cross-platform support and namespace all cache keys with "continuwuity-" prefix to prevent collisions with other projects on shared runners. Updates cache mount IDs in Dockerfiles to match the new namespacing convention, ensuring consistent cache isolation across CI and Docker builds.
133 lines
3.6 KiB
YAML
133 lines
3.6 KiB
YAML
name: Maintenance / Renovate
|
|
|
|
enable-email-notifications: true
|
|
|
|
on:
|
|
schedule:
|
|
# Run at 5am UTC daily to avoid late-night dev
|
|
- cron: '0 5 * * *'
|
|
|
|
workflow_dispatch:
|
|
inputs:
|
|
dryRun:
|
|
description: 'Dry run mode'
|
|
required: false
|
|
default: ''
|
|
type: choice
|
|
options:
|
|
- ''
|
|
- 'extract'
|
|
- 'lookup'
|
|
- 'full'
|
|
logLevel:
|
|
description: 'Log level'
|
|
required: false
|
|
default: 'info'
|
|
type: choice
|
|
options:
|
|
- 'debug'
|
|
- 'info'
|
|
- 'warning'
|
|
- 'critical'
|
|
|
|
push:
|
|
branches:
|
|
- main
|
|
paths:
|
|
# Re-run when config changes
|
|
- '.forgejo/workflows/renovate.yml'
|
|
- 'renovate.json'
|
|
|
|
jobs:
|
|
renovate:
|
|
name: Renovate
|
|
runs-on: ubuntu-latest
|
|
container:
|
|
image: ghcr.io/renovatebot/renovate:41.122.3@sha256:1ea1fb8fc3e3cc5cec1340c6b25ac0de53c41662c7d65f46aeb8ca42282c93e9
|
|
options: --tmpfs /tmp:exec
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v5
|
|
with:
|
|
show-progress: false
|
|
|
|
- name: print node heap
|
|
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
|
|
uses: actions/cache/restore@v4
|
|
with:
|
|
path: |
|
|
/tmp/renovate/cache/renovate/repository
|
|
key: renovate-repo-cache-${{ github.run_id }}
|
|
restore-keys: |
|
|
renovate-repo-cache-
|
|
|
|
- name: Restore renovate package cache
|
|
uses: actions/cache/restore@v4
|
|
with:
|
|
path: |
|
|
/tmp/renovate/cache/renovate/renovate-cache-sqlite
|
|
key: renovate-package-cache-${{ github.run_id }}
|
|
restore-keys: |
|
|
renovate-package-cache-
|
|
|
|
- name: Restore renovate OSV cache
|
|
uses: actions/cache/restore@v4
|
|
with:
|
|
path: |
|
|
/tmp/osv
|
|
key: renovate-osv-cache-${{ github.run_id }}
|
|
restore-keys: |
|
|
renovate-osv-cache-
|
|
|
|
- name: Self-hosted Renovate
|
|
run: renovate
|
|
env:
|
|
LOG_LEVEL: ${{ inputs.logLevel || 'info' }}
|
|
RENOVATE_DRY_RUN: ${{ inputs.dryRun || 'false' }}
|
|
|
|
RENOVATE_PLATFORM: forgejo
|
|
RENOVATE_ENDPOINT: ${{ github.server_url }}
|
|
RENOVATE_AUTODISCOVER: 'false'
|
|
RENOVATE_REPOSITORIES: '["${{ github.repository }}"]'
|
|
|
|
RENOVATE_GIT_TIMEOUT: 60000
|
|
|
|
RENOVATE_REQUIRE_CONFIG: 'required'
|
|
RENOVATE_ONBOARDING: 'false'
|
|
RENOVATE_INHERIT_CONFIG: 'true'
|
|
|
|
RENOVATE_GITHUB_TOKEN_WARN: 'false'
|
|
RENOVATE_TOKEN: ${{ secrets.RENOVATE_TOKEN }}
|
|
GITHUB_COM_TOKEN: ${{ secrets.GH_PUBLIC_RO || secrets.GH_TOKEN }}
|
|
|
|
RENOVATE_REPOSITORY_CACHE: 'enabled'
|
|
RENOVATE_X_SQLITE_PACKAGE_CACHE: 'true'
|
|
OSV_OFFLINE_ROOT_DIR: /tmp/osv
|
|
|
|
- name: Save renovate repo cache
|
|
if: always()
|
|
uses:
|
|
actions/cache/save@v4
|
|
with:
|
|
path: |
|
|
/tmp/renovate/cache/renovate/repository
|
|
key: renovate-repo-cache-${{ github.run_id }}
|
|
|
|
- name: Save renovate package cache
|
|
if: always()
|
|
uses: actions/cache/save@v4
|
|
with:
|
|
path: |
|
|
/tmp/renovate/cache/renovate/renovate-cache-sqlite
|
|
key: renovate-package-cache-${{ github.run_id }}
|
|
|
|
- name: Save renovate OSV cache
|
|
if: always()
|
|
uses: actions/cache/save@v4
|
|
with:
|
|
path: |
|
|
/tmp/osv
|
|
key: renovate-osv-cache-${{ github.run_id }}
|