funkwhale/scripts/set-api-build-metadata.sh

27 wiersze
658 B
Bash
Executable File

#!/usr/bin/env bash
# Given a commit hash, this script will update the version in api/pyproject.toml
# The version must follow the pep440 specification https://peps.python.org/pep-0440/
set -eu
error() {
echo >&2 "error: $*"
exit 1
}
command -v git > /dev/null || error "git command not found!"
command -v poetry > /dev/null || error "poetry command not found!"
# We assume this script only runs in a git repository
cd "$(git rev-parse --show-toplevel)/api"
COMMIT_SHA="$1"
CURRENT_VERSION="$(poetry version --short)"
CURRENT_VERSION="${CURRENT_VERSION%%.dev*}"
VERSION_SUFFIX="dev+$COMMIT_SHA"
poetry version "$CURRENT_VERSION.$VERSION_SUFFIX"