diff --git a/.gitea/workflows/renovate.yaml b/.gitea/workflows/renovate.yaml index f3d69a2..a066a42 100644 --- a/.gitea/workflows/renovate.yaml +++ b/.gitea/workflows/renovate.yaml @@ -9,12 +9,39 @@ on: jobs: renovate: runs-on: ubuntu-latest - container: ghcr.io/renovatebot/renovate:latest + # Pin to a specific Renovate version for stability (check ghcr.io for latest) + # Example: ghcr.io/renovatebot/renovate:37.250.0 + container: ghcr.io/renovatebot/renovate:37.290.1 # Pinned version + steps: - - uses: actions/checkout@v4 - - run: renovate + # Checkout the repository containing config.js + - name: Checkout + uses: actions/checkout@v4 + + # Cache Renovate's dependency cache directory between runs + - name: Cache Renovate dependencies + uses: actions/cache@v4 + with: + path: /tmp/renovate-cache # Renovate's default cache directory + # Key based on OS, config file hash, and run ID (ensures save) + key: ${{ runner.os }}-renovate-${{ hashFiles('config.js') }}-${{ github.run_id }} + # Fallback keys for restoring from previous runs + restore-keys: | + ${{ runner.os }}-renovate-${{ hashFiles('config.js') }}- + ${{ runner.os }}-renovate- + + # Run Renovate using the configuration file + - name: Run Renovate + run: renovate env: - RENOVATE_CONFIG_FILE: "config.js" # replace it with your config.js path - LOG_LEVEL: "debug" - RENOVATE_TOKEN: ${{ secrets.RENOVATE_TOKEN }} # your Revonate bot token - GITHUB_COM_TOKEN: ${{ secrets.GH_TOKEN }} + # --- Core Configuration --- + RENOVATE_CONFIG_FILE: "config.js" # Path to your config file + RENOVATE_TOKEN: ${{ secrets.RENOVATE_TOKEN }} # Token for Gitea + GITHUB_COM_TOKEN: ${{ secrets.GH_TOKEN }} # Only needed if Renovate MUST access github.com (e.g., for release notes). Remove if not needed. + + # --- Performance & Logging --- + # Use 'info' for normal runs, 'debug' only when troubleshooting + LOG_LEVEL: "info" + # Explicitly tell Renovate where the cache is (matches actions/cache path) + RENOVATE_CACHE_DIR: /tmp/renovate-cache + diff --git a/config.js b/config.js index 8d3961c..1859e6f 100644 --- a/config.js +++ b/config.js @@ -1,12 +1,28 @@ +// config.js module.exports = { - endpoint: 'https://git.kjan.de/api/v1/', - platform: 'gitea', - gitAuthor: "Renovate ", - persistRepoData: true, - onboardingConfig: { - 'extends': [ - "local>Renovate/renovate-config" - ], - }, - autodiscover: true, + endpoint: "https://git.kjan.de/api/v1/", + platform: "gitea", + gitAuthor: "Renovate ", + + // --- Caching --- + // Explicitly enable caching (good practice, though often default) + persistCache: true, + // Use the default cache directory which we will map in the Action + // cacheDir: "/tmp/renovate-cache", // Default, usually no need to set + + // --- Discovery --- + autodiscover: true, // Kept as per your requirement + + // --- Onboarding --- + // Ensure new repos get the standard config + onboardingConfig: { + extends: ["local>Renovate/renovate-config"], + }, + + // --- Important Note --- + // For major speedups, optimize rules within your 'local>Renovate/renovate-config' preset: + // - Use `packageRules` to group related dependencies (`groupName`). + // - Consider adding `skipInstalls: true` globally or via `packageRules` if possible. + // - Add rules to ignore specific dependencies (`ignoreDeps` or `enabled: false`). + // - Limit update types (`matchUpdateTypes`) where applicable. };