diff --git a/autobuild.sh b/autobuild.sh new file mode 100755 index 0000000..b9c36e2 --- /dev/null +++ b/autobuild.sh @@ -0,0 +1,38 @@ +#!/usr/bin/env bash +set -aeou pipefail + +BASE_IMAGE="registry.opensuse.org/opensuse/tumbleweed" +PACKAGE_NAME="restic" + +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" +CURRENT_VERSION="$(podman run --rm -it ${BASE_IMAGE}:${CURRENT_TUMBLEWEED_TAG} /usr/bin/bash -c "zypper ref > /dev/null && zypper info $PACKAGE_NAME | sed -n 's/.*Version : \(.*\)$/\1/p'")" +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 "current : $CURRENT_VERSION" +echo "latest : $LATEST_VERSION" + +if [[ "$CURRENT_VERSION" == "$LATEST_VERSION" ]]; then + echo "No new $PACKAGE_NAME version detected" + exit 0 +fi + +#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