--- # yaml-language-server: $schema=https://json.schemastore.org/github-workflow.json name: "Renovate" on: workflow_dispatch: inputs: dryRun: description: Dry Run default: "false" required: false logLevel: description: Log Level default: debug required: false schedule: - cron: "0 * * * *" push: branches: ["main"] paths: - .github/renovate.json5 - .github/renovate/**.json5 concurrency: group: ${{ github.workflow }}-${{ github.event.number || github.ref }} cancel-in-progress: true # Retrieve BOT_USER_ID via `curl -s "https://api.github.com/users/${BOT_USERNAME}%5Bbot%5D" | jq .id` env: RENOVATE_ONBOARDING_CONFIG_FILE_NAME: .github/renovate.json5 RENOVATE_AUTODISCOVER: true RENOVATE_AUTODISCOVER_FILTER: "${{ github.repository }}" RENOVATE_USERNAME: "${{ secrets.BOT_USERNAME }}[bot]" RENOVATE_GIT_AUTHOR: "${{ secrets.BOT_USERNAME }} <${{ secrets.BOT_USER_ID }}+${{ secrets.BOT_USERNAME }}[bot]@users.noreply.github.com>" WORKFLOW_RENOVATE_DRY_RUN: false WORKFLOW_RENOVATE_LOG_LEVEL: debug jobs: renovate: name: Renovate runs-on: ubuntu-latest steps: - name: Generate Token uses: actions/create-github-app-token@v1 id: app-token with: app-id: "${{ secrets.BOT_APP_ID }}" private-key: "${{ secrets.BOT_APP_PRIVATE_KEY }}" - name: Checkout Default Branch uses: actions/checkout@v4 with: token: "${{ steps.app-token.outputs.token }}" - name: Override Default Config shell: bash run: | echo "RENOVATE_DRY_RUN=${{ github.event.inputs.dryRun || env.WORKFLOW_RENOVATE_DRY_RUN }}" >> "${GITHUB_ENV}" echo "LOG_LEVEL=${{ github.event.inputs.logLevel || env.WORKFLOW_RENOVATE_LOG_LEVEL }}" >> "${GITHUB_ENV}" - name: Renovate uses: renovatebot/github-action@936628dfbff213ab2eb95033c5e123cfcaf09ebb # v41.0.5 with: configurationFile: "${{ env.RENOVATE_ONBOARDING_CONFIG_FILE_NAME }}" token: "${{ steps.app-token.outputs.token }}"