steamguard-cli/scripts/publish-aur.sh
2023-06-23 15:41:04 -04:00

57 lines
No EOL
1.1 KiB
Bash

#!/bin/bash
set -e
DRY_RUN=true
POSITIONAL=()
while [[ $# -gt 0 ]]; do
key="$1"
case $key in
--execute)
DRY_RUN=false
shift # past argument
;;
*) # unknown option
POSITIONAL+=("$1") # save it in an array for later
shift # past argument
;;
esac
done
# prerequisites
if ! command -v makepkg &> /dev/null; then
echo "Error: makepkg is not installed"
exit 1
fi
if ! command -v git &> /dev/null; then
echo "Error: git is not installed"
exit 2
fi
# get version info
BIN_PATH="target/release/steamguard"
RAW_VERSION="$("$BIN_PATH" --version | cut -d " " -f 2)"
TAGGED_VERSION="$(git tag | grep "^v" | tail -n 1 | tr -d v)"
if [[ "v$RAW_VERSION" != "v$TAGGED_VERSION" ]]; then
echo "Version mismatch: $RAW_VERSION != $TAGGED_VERSION"
exit 10
fi
VERSION="v$RAW_VERSION"
# update PKGBUILD for AUR
if [[ -d "aur" ]]; then
rm -rf aur
fi
git clone ssh://aur@aur.archlinux.org/steamguard-cli-git.git aur
cp PKGBUILD aur/PKGBUILD
cd aur
makepkg -si --noconfirm
makepkg --printsrcinfo > .SRCINFO
git commit -m "release $VERSION" PKGBUILD
if [[ $DRY_RUN == false ]]; then
git push
rm -rf aur
fi
cd ..