From b847d77f4de3a9c6768e980d7974f2bbe9590e0b Mon Sep 17 00:00:00 2001 From: "Trez.One" Date: Mon, 22 Sep 2025 11:26:24 -0400 Subject: [PATCH] Renovate tweaks. --- .gitea/workflows/renovate.yml | 69 ++++++++++++++++++++++++++++++----- 1 file changed, 59 insertions(+), 10 deletions(-) diff --git a/.gitea/workflows/renovate.yml b/.gitea/workflows/renovate.yml index b520703c..2cb8d0af 100644 --- a/.gitea/workflows/renovate.yml +++ b/.gitea/workflows/renovate.yml @@ -1,24 +1,73 @@ -name: Renovate +# .gitea/workflows/renovate.yml +name: Run Renovate on: schedule: - - cron: "0/30 * * * *" + - cron: "0 2 * * *" # daily at 2 AM workflow_dispatch: jobs: renovate: runs-on: ubuntu-latest - timeout-minutes: 5 + steps: - - name: Checkout + # 1️⃣ Checkout rinoa-docker repository + - name: Checkout rinoa-docker uses: actions/checkout@v4 - - name: Renovate - uses: https://git.trez.wtf/Trez.One/renovate-github-action@gitea-compatible + # 2️⃣ Checkout your forked renovatebot action into a subdir + - name: Checkout renovate-github-action fork + uses: actions/checkout@v4 with: - configurationFile: ./renovate.json - docker-volumes-from: ${{ env.JOB_CONTAINER_NAME }} - renovate-version: 41.97.7-full - token: ${{ secrets.RENOVATE_BOT_TOKEN }} + repository: "Trez.One/renovate-github-action" + ref: gitea-compatible + path: renovate-action + + # 3️⃣ Setup Node.js (mirroring action.yml) + - name: Setup Node.js + uses: actions/setup-node@v4 + with: + node-version-file: .node-version + cache: "pnpm" + + # 4️⃣ Install pnpm dependencies + - name: Install dependencies + run: pnpm install + working-directory: renovate-action + + # 5️⃣ Build TypeScript + - name: Build renovate action + run: pnpm build + working-directory: renovate-action + + # 6️⃣ Run Renovate with retry handling + - name: Run Renovate + working-directory: renovate-action + run: | + set -e + max_attempts=3 + attempt=1 + + until [ $attempt -gt $max_attempts ]; do + echo "Running Renovate (attempt $attempt/$max_attempts)..." + if node dist/index.js; then + echo "Renovate completed successfully." + break + else + echo "Renovate failed on attempt $attempt." + attempt=$((attempt + 1)) + if [ $attempt -le $max_attempts ]; then + echo "Retrying in 10 seconds..." + sleep 10 + else + echo "All $max_attempts attempts failed." + exit 1 + fi + fi + done env: LOG_LEVEL: debug + RENOVATE_TOKEN: ${{ secrets.RENOVATE_BOT_TOKEN }} + with: + configurationFile: ../renovate.json + docker-volumes-from: ${{ env.JOB_CONTAINER_NAME }}