#!/bin/bash set -eo pipefail # Parse the args while getopts "v:" OPTION do case $OPTION in v) VERSION=$OPTARG ;; ?) usage exit ;; esac done if [[ -z "${VERSION}" ]]; then echo "You forgot to pass -v [version]!" exit 1 fi set +e sed -i s/version.*$/version\ =\ \"${VERSION}\"/g pyproject.toml git add pyproject.toml git commit -m "Bump to ${VERSION}" git push origin main set -e # Clean caches etc filedust -y . # Publish to Pypi poetry build poetry publish # Make AppImage sudo apt-get -y install libfuse-dev poetry run pyproject-appimage mv Bouquin.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:trixie ) for dist in ${DISTS[@]}; do release=$(echo ${dist} | cut -d: -f2) mkdir -p dist/${release} docker build -f Dockerfile.debbuild -t bouquin-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 \ bouquin-deb:${release} debfile=$(ls -1 dist/${release}/*.deb) reprepro -b /home/user/git/repo includedeb "${release}" "${debfile}" done # RPM REPO_ROOT="${HOME}/git/repo_rpm" RPM_REPO="${REPO_ROOT}/rpm/x86_64" BUILD_OUTPUT="${HOME}/git/bouquin/dist" REMOTE="letessier.mig5.net:/opt/repo_rpm" KEYID="00AE817C24A10C2540461A9C1D7CDE0234DB458D" mkdir -p "$RPM_REPO" sudo apt-get -y install createrepo-c rpm DISTS=( fedora:42 ) for dist in ${DISTS[@]}; do release=$(echo ${dist} | cut -d: -f2) docker build -f Dockerfile.rpmbuild \ -t bouquin-rpm:${release} \ --progress=plain \ --build-arg BASE_IMAGE=${dist} \ . docker run --rm -v "$PWD":/src -v "$PWD/dist/rpm":/out -v "$HOME/git/bouquin-sqlcipher4/dist/rpm":/deps:ro bouquin-rpm:${release} sudo chown -R "${USER}" "$PWD/dist" 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" done echo "==> Syncing repo to server..." rsync -aHPvz --exclude=.git --delete "$REPO_ROOT/" "$REMOTE/" echo "Done!" ssh lupin.mig5.net "echo ${VERSION} | tee /opt/www/mig5.net/bouquin/version.txt"