generated from bcgov/quickstart-openshift
-
Notifications
You must be signed in to change notification settings - Fork 0
67 lines (59 loc) · 1.95 KB
/
renovate.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
name: Renovate
# Run on pull requests, cronjob or manually (dispatch)
on:
pull_request:
schedule: [cron: "0 10 * * *"] # 2 AM PST = 10 AM UDT
workflow_dispatch:
inputs:
repos: # Optional input
description: "List of repos (org/repo)"
type: string
required: false
log_level: # Default input
description: "Log level"
default: "INFO"
type: choice
required: true
options: ["INFO", "WARNING", "DEBUG"]
# Cancel any other workflows (PR, cron or manual)
concurrency:
group: ${{ github.workflow }}
cancel-in-progress: true
# Variables
env:
pr_set: '["bcgov/renovate-config", "bcgov/quickstart-openshift"]'
jobs:
Renovate:
permissions:
pull-requests: write
runs-on: ubuntu-22.04
steps:
# workflow_dispatch - optional inputs
- uses: actions/checkout@v4
- name: Config for manual workflows (optional)
run: |
# Process and reformat inputs.repos
IFS=', ' read -a INPUT <<< "${{ inputs.repos }}"
for r in "${INPUT[@]}"; do
REPOS+="\"$r\","
done
REPOS=${REPOS%,*}
# Set target repos
cat <<< $(jq '. | .repositories = ['${REPOS}']' renovate.json) > renovate.json
cat renovate.json | jq .repositories
# PRs - dry run and a small number of repos
- name: Config for pull requests
if: github.event_name == 'pull_request'
run: |
# Dry run and short repo list
cat <<< $(jq '.+= {"dryRun": "full"}' renovate.json) > renovate.json
cat <<< $(jq '. | .repositories = ${{ env.pr_set }}' renovate.json) > renovate.json
cat renovate.json | jq .repositories
# Run Renovate
- name: Run Renovate
uses: renovatebot/[email protected]
env:
LOG_LEVEL: ${{ inputs.log_level || 'INFO' }}
with:
configurationFile: renovate.json
token: ${{ secrets.RENOVATE_TOKEN }}