Skip to content

Renovate

Renovate #47072

Workflow file for this run

# https://github.com/renovatebot/github-action?tab=readme-ov-file#example-with-github-app
name: Renovate
on:
schedule:
- cron: '0/15 * * * *'
workflow_dispatch:
permissions:
contents: read
jobs:
get-repos:
runs-on: ubuntu-latest
outputs:
repo-list: ${{ steps.set-matrix.outputs.repo-list }}
steps:
- name: Install jq (if not preinstalled)
run: sudo apt-get update && sudo apt-get install -y jq
- name: Get token
id: get_token
uses: actions/create-github-app-token@bcd2ba49218906704ab6c1aa796996da409d3eb1 # v3
with:
private-key: ${{ secrets.private_key }}
app-id: ${{ secrets.app_id }}
owner: ${{ github.repository_owner }}
- name: Get Organizaiton repos via GitHub CLI
id: get_repos
env:
GH_TOKEN: ${{ steps.get_token.outputs.token }}
run: |
gh api installation/repositories --paginate \
--jq '.repositories[] | select(.archived==false) | .name' > repos.txt
jq -Rs 'split("\n") | map(select(length > 0))' repos.txt > repos.json
- name: Set matrix output
id: set-matrix
run: |
echo "repo-list=$(jq -c . repos.json)" >> "$GITHUB_OUTPUT"
renovatebot:
needs: get-repos
runs-on: ubuntu-latest
continue-on-error: true
strategy:
fail-fast: false
matrix:
repo: ${{ fromJson(needs.get-repos.outputs.repo-list) }}
concurrency:
group: renovatebot-${{ matrix.repo }}
cancel-in-progress: false
steps:
- name: Get token
id: get_token
uses: actions/create-github-app-token@bcd2ba49218906704ab6c1aa796996da409d3eb1 # v3
with:
# App being used is either PUBLIC or PRIVATE renovatebot: https://github.com/enterprises/glueops/settings/apps
# App Permissions: https://docs.renovatebot.com/modules/platform/github/#running-as-a-github-app
private-key: ${{ secrets.private_key }}
client-id: ${{ secrets.app_id }}
owner: ${{ github.repository_owner }}
- name: Self-hosted Renovate (no automerge)
uses: renovatebot/github-action@b50d2ba2bd928235abdcc14d06dfafc217f1c565 # v46.1.18
with:
token: '${{ steps.get_token.outputs.token }}'
env-regex: "^(?:RENOVATE_\\w+|LOG_LEVEL|AWS_SECRET_ACCESS_KEY|AWS_ACCESS_KEY_ID|AWS_REGION)$"
env:
RENOVATE_PLATFORM: "github"
RENOVATE_AUTODISCOVER: "true"
RENOVATE_ALLOW_PLUGINS: "true"
LOG_LEVEL: "DEBUG"
RENOVATE_DRY_RUN: "null" #set to "full" for dryrun and "null" to apply
RENOVATE_AUTODISCOVER_FILTER: "['${{ github.repository_owner }}/${{ matrix.repo }}']"
RENOVATE_REQUIRE_CONFIG: "optional"
RENOVATE_ONBOARDING: "false"
RENOVATE_FORCE: '{"force": {"schedule": ["at any time"]},"prConcurrentLimit": 0,"prHourlyLimit": 0,"forkProcessing":"enabled","extends": ["github>GlueOps/renovatebot-configs//base#v0.0.34", "github>GlueOps/renovatebot-configs//defaults#v0.0.34"]}'
RENOVATE_IGNORE_PR_AUTHOR: "true"
AWS_REGION: ${{ secrets.AWS_REGION }}
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
- name: Self-hosted Renovate (auto-merge)
uses: renovatebot/github-action@b50d2ba2bd928235abdcc14d06dfafc217f1c565 # v46.1.18
with:
token: '${{ steps.get_token.outputs.token }}'
env-regex: "^(?:RENOVATE_\\w+|LOG_LEVEL|AWS_SECRET_ACCESS_KEY|AWS_ACCESS_KEY_ID|AWS_REGION)$"
env:
RENOVATE_PLATFORM: "github"
RENOVATE_AUTODISCOVER: "true"
RENOVATE_ALLOW_PLUGINS: "true"
LOG_LEVEL: "DEBUG"
RENOVATE_DRY_RUN: "null" #set to "full" for dryrun and "null" to apply
RENOVATE_AUTODISCOVER_FILTER: "['${{ github.repository_owner }}/${{ matrix.repo }}']"
RENOVATE_AUTODISCOVER_TOPICS: "['allow-auto-merge']"
RENOVATE_REQUIRE_CONFIG: "optional"
RENOVATE_ONBOARDING: "false"
RENOVATE_FORCE: '{"force": {"schedule": ["at any time"]},"prConcurrentLimit": 0,"prHourlyLimit": 0,"forkProcessing":"enabled","extends": ["github>GlueOps/renovatebot-configs//base#v0.0.34","github>GlueOps/renovatebot-configs//auto-merge#v0.0.34"]}'
RENOVATE_IGNORE_PR_AUTHOR: "true"