summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorJohannes Wienke2021-09-26 17:19:49 +0200
committerJohannes Wienke2021-09-26 17:19:49 +0200
commit24c0307d5fd59732052f5f0c2295ad70cb03b64f (patch)
tree8fd00903c1e36402002d12e0e70156c2f6ba8f13
parent9e33149ff0f741480aedc24363d54f5343c62bc2 (diff)
downloadaur-24c0307d5fd59732052f5f0c2295ad70cb03b64f.tar.gz
ci: enable renovate
-rwxr-xr-xpost-update.sh24
-rw-r--r--renovate.json27
2 files changed, 51 insertions, 0 deletions
diff --git a/post-update.sh b/post-update.sh
new file mode 100755
index 000000000000..c2516ee42c40
--- /dev/null
+++ b/post-update.sh
@@ -0,0 +1,24 @@
+#!/bin/bash
+
+set -exuo pipefail
+
+uid="$(id -u)"
+
+# Move pkgrel back to 1 after a version bump
+sed -i 's/pkgrel=.*/pkgrel=1/' ./PKGBUILD
+
+# Update checksums and the .SRCINFO file to match the new version.
+# The easiest and most consistent way to do this is by using the
+# archlinux-provided tools for this. Because renovate doesn't run in an arch
+# container, use docker to spin up a temporary container for this purpose.
+# makepkg in this container cannot be run as root. Therefore, create a
+# temporary user for this. This used need to use the UID of the host's user to
+# avoid file access problems when using bind mounts in docker.
+docker run --rm -v "$(pwd):/pkg" archlinux:latest bash -c "
+set -exuo pipefail
+pacman -Syu --noconfirm pacman-contrib binutils
+useradd -u ${uid} builder
+cd /pkg
+su builder -c updpkgsums
+su builder -c 'makepkg --printsrcinfo > .SRCINFO'
+"
diff --git a/renovate.json b/renovate.json
new file mode 100644
index 000000000000..193b610e703c
--- /dev/null
+++ b/renovate.json
@@ -0,0 +1,27 @@
+{
+ "$schema": "https://docs.renovatebot.com/renovate-schema.json",
+
+ "extends": ["config:base"],
+
+ "assignees": ["languitar"],
+ "reviewers": ["languitar"],
+
+ "postUpgradeTasks": {
+ "commands": ["./post-update.sh"],
+ "fileFilters": ["PKGBUILD", ".SRCINFO"],
+ "executionMode": "branch"
+ },
+
+ "regexManagers": [
+ {
+ "fileMatch": ["^PKGBUILD$"],
+ "matchStrings": [
+ "pkgver=(?<currentValue>.*?)\n"
+ ],
+ "depNameTemplate": "languitar/autosuspend",
+ "datasourceTemplate": "github-releases",
+ "extractVersionTemplate": "^v(?<version>.*)$"
+ }
+ ]
+}
+