restic/autobuild.sh

40 lines
1.4 KiB
Bash
Raw Permalink Normal View History

2023-04-17 12:13:30 +00:00
#!/usr/bin/env bash
set -aeou pipefail
BASE_IMAGE="registry.opensuse.org/opensuse/tumbleweed"
TARGET_REPO="git.rre.nu/jonas/"
2023-04-17 12:13:30 +00:00
PACKAGE_NAME="restic"
2023-04-29 12:48:37 +00:00
git pull
2023-04-17 12:13:30 +00:00
echo "Pulling latest tumbleweed"
podman pull "${BASE_IMAGE}:latest"
CURRENT_TUMBLEWEED_TAG="$(sed -n 's/.*VERSION=\([0-9]\)/\1/p' Makefile)"
LATEST_TUMBLEWEED_TAG="$(podman image inspect --format "{{.Labels}}" registry.opensuse.org/opensuse/tumbleweed:latest | sed -n 's/.*org\.opencontainers\.image\.version:\([0-9]\{8\}\).*/\1/p')"
if [[ "$CURRENT_TUMBLEWEED_TAG" == "$LATEST_TUMBLEWEED_TAG" ]]; then
echo "Already running latest tumbleweed version"
exit 0
fi
echo "New tumbleweed image exists"
2023-09-29 11:50:24 +00:00
if [[ "x" == "x$(podman run --rm -it ${TARGET_REPO}${PACKAGE_NAME}:latest /usr/bin/bash -c "zypper list-updates | grep $PACKAGE_NAME")" ]]; then
echo "No updates for $PACKAGE_NAME"
2023-04-17 12:13:30 +00:00
exit 0
fi
2023-09-29 11:50:24 +00:00
LATEST_VERSION="$(podman run --rm -it ${BASE_IMAGE}:latest /usr/bin/bash -c "zypper ref > /dev/null && zypper info $PACKAGE_NAME | sed -n 's/.*Version : \(.*\)$/\1/p'")"
echo "updates found : $LATEST_VERSION"
2023-04-17 12:13:30 +00:00
#Updateing Makefile with latest image tag
sed -i 's/VERSION='"$CURRENT_TUMBLEWEED_TAG"'/VERSION='"$LATEST_TUMBLEWEED_TAG"'/' Makefile
git add Makefile
git commit -m "Updated tumpleweed image to $LATEST_TUMBLEWEED_TAG, $PACKAGE_NAME to $LATEST_VERSION"
git push
echo "build and push new image"
make release
2023-09-29 11:50:24 +00:00