#!/bin/bash set -e VERSION=$1 if [ -z $VERSION ]; then echo "Provide a version tag, -1|--major, -2|--minor or -3|--revision" exit 1 fi [[ "$VERSION" == "--major" || "$VERSION" == "-1" ]] && VERSION=$(skopeo list-tags docker://git.demus.dk/demus/rawhide-minimal-rpmbuild | jq -r '.Tags - [ "latest" ] | max | split(".") | map(tonumber) | [ .[0]+1, 0, 0 ] | join(".")') [[ "$VERSION" == "--minor" || "$VERSION" == "-2" ]] && VERSION=$(skopeo list-tags docker://git.demus.dk/demus/rawhide-minimal-rpmbuild | jq -r '.Tags - [ "latest" ] | max | split(".") | map(tonumber) | [ .[0], .[1]+1, 0 ] | join(".")') [[ "$VERSION" == "--revision" || "$VERSION" == "-3" ]] && VERSION=$(skopeo list-tags docker://git.demus.dk/demus/rawhide-minimal-rpmbuild | jq -r '.Tags - [ "latest" ] | max | split(".") | map(tonumber) | [ .[0], .[1], .[2]+1 ] | join(".")') read RAWHIDE < rawhide.release readarray -t TARGETS < targets.lst for RELEASE_TUPLE in "${TARGETS[@]}"; do set -- $RELEASE_TUPLE FEDORA_NUMERAL=$1 ARCH=$2 REGEX='^[0-9]+$' [[ "$FEDORA_NUMERAL" =~ $REGEX ]] && REPO="fc$FEDORA_NUMERAL" || REPO=${RAWHIDE} [[ "$FEDORA_NUMERAL" =~ $REGEX ]] && RELEASE="f$FEDORA_NUMERAL" || RELEASE="$FEDORA_NUMERAL" for SUBDIR in $(ls -d fedora-minimal-*); do echo "Building from upstream tag :${FEDORA_NUMERAL}${ARCH} for release $RELEASE using repo demus-$REPO" IMAGE_POSTFIX=${SUBDIR#fedora-} docker buildx build \ --progress plain \ --tag git.demus.dk/demus/${RELEASE}-${IMAGE_POSTFIX}:${VERSION} \ --tag git.demus.dk/demus/${RELEASE}-${IMAGE_POSTFIX}:latest \ --build-arg DOCKER_TAG=${FEDORA_NUMERAL}${ARCH} \ --build-arg REPO=${REPO} \ --build-arg VERSION=${VERSION} \ --build-arg GITHASH=$(git rev-parse HEAD) \ --build-arg TIMESTAMP=$(date -u +%Y-%m-%dT%H:%M:%SZ) \ --network=host \ ${SUBDIR} docker push git.demus.dk/demus/${RELEASE}-${IMAGE_POSTFIX}:latest docker push git.demus.dk/demus/${RELEASE}-${IMAGE_POSTFIX}:${VERSION} echo echo ---------------------- echo done done