Skip to content

Commit 92170db

Browse files
authored
Add renovate scripts (#49)
1 parent c52a1b9 commit 92170db

File tree

5 files changed

+160
-0
lines changed

5 files changed

+160
-0
lines changed

renovate/README.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
# Renovate
2+
3+
This directory contains tools necessary to run Renovate manually against our repositories.
4+
5+
For reasons unknown to us this currently (2023-07) does not work from within Jenkins, which is why we run it manually.
6+
I am not sure if we have tried to move it into a GitHub Action, which would be one reasonable thing to try.
7+
8+
You need an access token for GitHub for the Stacky McStackface user.
9+
The script assumes an environment variable named `GITHUB_TOKEN` exists.
10+
11+
Then just run `run_renovate.sh`.
12+
The script `list_repos.sh` will return a list of all non-archived, non-fork repositories for Stackable.

renovate/config.js

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
module.exports = {
2+
repositories: [
3+
"stackabletech/airflow-operator",
4+
"stackabletech/beku.py",
5+
"stackabletech/commons-operator",
6+
"stackabletech/docker-images",
7+
"stackabletech/documentation",
8+
"stackabletech/documentation-ui",
9+
"stackabletech/druid-operator",
10+
"stackabletech/hbase-normalizer",
11+
"stackabletech/hbase-operator",
12+
"stackabletech/hdfs-operator",
13+
"stackabletech/hello-world-operator",
14+
"stackabletech/hive-operator",
15+
"stackabletech/kafka-operator",
16+
"stackabletech/listener-operator",
17+
"stackabletech/nifi-operator",
18+
"stackabletech/opa-operator",
19+
"stackabletech/operator-rs",
20+
"stackabletech/operator-templating",
21+
"stackabletech/product-config",
22+
"stackabletech/secret-operator",
23+
"stackabletech/spark-k8s-operator",
24+
"stackabletech/stackable-utils",
25+
"stackabletech/superset-operator",
26+
"stackabletech/trino-operator",
27+
"stackabletech/zookeeper-operator",
28+
],
29+
gitAuthor: "\"Stacky McStackface\" <serviceaccounts@stackable.tech>",
30+
includeForks: true,
31+
logFileLevel: 'debug',
32+
logLevel: 'debug',
33+
recreateClosed: 'true',
34+
force: {
35+
schedule: [],
36+
prCreation: "immediate",
37+
}
38+
};

renovate/config_all.js

Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
module.exports = {
2+
repositories: [
3+
".github",
4+
"airflow-operator",
5+
"beku.py",
6+
"ci",
7+
"commons-operator",
8+
"community",
9+
"configurator",
10+
"datenplatform",
11+
"docker-images",
12+
"docker_action_test",
13+
"documentation",
14+
"documentation-ui",
15+
"druid-opa-authorizer",
16+
"druid-operator",
17+
"edc-operator",
18+
"fc-service",
19+
"feature-tracker",
20+
"hadoop-opa-groupmapper",
21+
"hbase-normalizer",
22+
"hbase-operator",
23+
"hdfs-operator",
24+
"hello-world-operator",
25+
"hive-operator",
26+
"hive_migration_blog",
27+
"issues",
28+
"kafka-operator",
29+
"listener-operator",
30+
"merge-queue-test",
31+
"nifi-opa-authorizer",
32+
"nifi-operator",
33+
"nifi-rs",
34+
"nifi-webhook-authorizer",
35+
"ny-tlc-report",
36+
"opa-bundle-builder",
37+
"opa-operator",
38+
"operator-rs",
39+
"operator-skeleton",
40+
"operator-templating",
41+
"product-config",
42+
"product-config-demo",
43+
"release",
44+
"release-summarizer",
45+
"roadmap",
46+
"secret-operator",
47+
"spark-k8s-operator",
48+
"stackable-cockpit",
49+
"stackable-lib",
50+
"stackable-training",
51+
"stackable-utils",
52+
"stackablectl",
53+
"superset-operator",
54+
"t2",
55+
"test",
56+
"tokio-zookeeper",
57+
"trino-opa-authorizer",
58+
"trino-operator",
59+
"value-size",
60+
"zookeeper-operator",
61+
],
62+
gitAuthor: "\"Stacky McStackface\" <serviceaccounts@stackable.tech>",
63+
includeForks: true,
64+
logFileLevel: 'debug',
65+
logLevel: 'debug',
66+
recreateClosed: 'true',
67+
force: {
68+
schedule: [],
69+
prCreation: "immediate",
70+
}
71+
};

renovate/list_repos.sh

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
function get_all_repos {
2+
page=1
3+
repos=()
4+
while true; do
5+
response=$(curl -s -u "$USERNAME:$TOKEN" "https://api.github.com/orgs/stackabletech/repos?per_page=100&page=$page")
6+
if [[ -z "$response" ]]; then
7+
break
8+
fi
9+
page=$((page + 1))
10+
repo_names=$(echo "$response" | jq -r '.[] | select(.archived == false and .fork == false) | .name' | tr -d '"')
11+
if [[ -z "$repo_names" ]]; then
12+
break
13+
fi
14+
repos+=($repo_names)
15+
done
16+
echo "${repos[@]}"
17+
}
18+
19+
function main {
20+
projects="$(get_all_repos)"
21+
22+
if [[ -z "$projects" ]]; then
23+
echo "No repositories found."
24+
exit 1
25+
fi
26+
27+
echo "repositories: ["
28+
for repo in ${projects[@]}; do
29+
echo " \"$repo\","
30+
done
31+
echo "]"
32+
}
33+
34+
main

renovate/run_renovate.sh

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
docker run --rm \
2+
--volume "./config.js:/usr/src/app/config.js" \
3+
--env RENOVATE_TOKEN="$GITHUB_TOKEN" \
4+
--env LOG_LEVEL=debug \
5+
renovate/renovate@sha256:1df1b79cad9262c50d4537706716494301ee6437ab0176cc34ab960d8557c56d

0 commit comments

Comments
 (0)