#!/bin/bash set -eo pipefail # Clean caches etc filedust -y . # Publish to Pypi poetry build poetry publish # Make AppImage poetry run pyproject-appimage mv JinjaTurtle.AppImage dist/ # Sign packages for file in `ls -1 dist/`; do qubes-gpg-client --batch --armor --detach-sign dist/$file > dist/$file.asc; done # Deb stuff DISTS=( debian:bookworm debian:trixie ubuntu:jammy ubuntu:noble ) for dist in ${DISTS[@]}; do release=$(echo ${dist} | cut -d: -f2) mkdir -p dist/${release} docker build -f Dockerfile.debbuild -t jinjaturtle-deb:${release} \ --no-cache \ --progress=plain \ --build-arg BASE_IMAGE=${dist} . docker run --rm \ -e SUITE="${release}" \ -v "$PWD":/src \ -v "$PWD/dist/${release}":/out \ jinjaturtle-deb:${release} debfile=$(ls -1 dist/${release}/*.deb) reprepro -b /home/user/git/repo includedeb "${release}" "${debfile}" done # RPM sudo apt-get -y install createrepo-c rpm docker build -f Dockerfile.rpmbuild -t jinjaturtle:f42 --progress=plain . docker run --rm -v "$PWD":/src -v "$PWD/dist/rpm":/out jinjaturtle:f42 sudo chown -R "${USER}" "$PWD/dist" REPO_ROOT="${HOME}/git/repo_rpm" RPM_REPO="${REPO_ROOT}/rpm/x86_64" BUILD_OUTPUT="${HOME}/git/jinjaturtle/dist" REMOTE="letessier.mig5.net:/opt/repo_rpm" KEYID="00AE817C24A10C2540461A9C1D7CDE0234DB458D" echo "==> Updating RPM repo..." mkdir -p "$RPM_REPO" for file in `ls -1 "${BUILD_OUTPUT}/rpm"`; do rpmsign --addsign "${BUILD_OUTPUT}/rpm/$file" done cp "${BUILD_OUTPUT}/rpm/"*.rpm "$RPM_REPO/" createrepo_c "$RPM_REPO" echo "==> Signing repomd.xml..." qubes-gpg-client --local-user "$KEYID" --detach-sign --armor "$RPM_REPO/repodata/repomd.xml" > "$RPM_REPO/repodata/repomd.xml.asc" echo "==> Syncing repo to server..." rsync -aHPvz --exclude=.git --delete "$REPO_ROOT/" "$REMOTE/" echo "Done!"