about summary refs log tree commit diff
path: root/contrib/scripts/nm-code-format-container.sh
diff options
context:
space:
mode:
authorMichael Biebl <biebl@debian.org>2024-05-05 00:07:30 +0200
committerMichael Biebl <biebl@debian.org>2024-05-05 00:07:30 +0200
commit34bb501be08aa2b313d88e67d6e0a7e0a3f9cfa6 (patch)
tree4e6220877828be4c6f261de09ec0cb2d80e32389 /contrib/scripts/nm-code-format-container.sh
parentbba2e4b4de668db525cbfdfc35292e5a0b51671a (diff)
New upstream version 1.47.90 upstream/1.47.90
Diffstat (limited to 'contrib/scripts/nm-code-format-container.sh')
-rwxr-xr-xcontrib/scripts/nm-code-format-container.sh46
1 files changed, 46 insertions, 0 deletions
diff --git a/contrib/scripts/nm-code-format-container.sh b/contrib/scripts/nm-code-format-container.sh
new file mode 100755
index 00000000..7a5ce0d4
--- /dev/null
+++ b/contrib/scripts/nm-code-format-container.sh
@@ -0,0 +1,46 @@
+#!/bin/bash
+
+set -e
+
+die() {
+    echo "$@" >&2
+    exit 1
+}
+
+DIR="$(realpath "$(dirname "$0")/../../")"
+cd "$DIR"
+
+# The correct clang-format version is the one from the Fedora version used in our
+# gitlab-ci pipeline. Parse it from ".gitlab-ci/config.yml".
+FEDORA_VERSION="$(sed '/^    tier: 1/,/^  - name/!d' .gitlab-ci/config.yml | sed -n "s/^      - '\([0-9]\+\)'$/\1/p" | sed -n 1p)"
+
+test -n "$FEDORA_VERSION" || die "Could not detect the Fedora version in .gitlab-ci/config.yml"
+
+IMAGENAME="nm-code-format:f$FEDORA_VERSION"
+
+ARGS=( "$@" )
+
+if ! podman image exists "$IMAGENAME" ; then
+    echo "Building image \"$IMAGENAME\"..."
+    podman build \
+        --squash-all \
+        --tag "$IMAGENAME" \
+        -f <(cat <<EOF
+FROM fedora:$FEDORA_VERSION
+RUN dnf upgrade -y
+RUN dnf install -y git /usr/bin/clang-format
+EOF
+)
+fi
+
+CMD=( ./contrib/scripts/nm-code-format.sh "${ARGS[@]}" )
+
+podman run \
+    --rm \
+    --name "nm-code-format-f$FEDORA_VERSION" \
+    -v "$DIR:/tmp/NetworkManager:Z" \
+    -w /tmp/NetworkManager \
+    -e "_NM_CODE_FORMAT_CONTAINER=$IMAGENAME" \
+    -ti \
+    "$IMAGENAME" \
+    "${CMD[@]}"