#!/usr/bin/env bash if [[ $# -eq 0 ]] ; then echo "Missing argument of new version" exit 1 fi VERSION=$1 if ! [[ ${VERSION} =~ ^[0-9]{1,2}\.[0-9]{1,2}\.[0-9]{1,2}(-.+)?$ ]] ; then echo "Version ${VERSION} isn't in format X.Y.Z" exit 1 fi VERSION_DATE=$(git log -1 --format=%aI "v${VERSION}" | cut -c -10) VERSION_COMMIT=$(git rev-list -n 1 "v${VERSION}") # expecting the directory at a specific path cd ~/trilium-flathub || exit if ! git diff-index --quiet HEAD --; then echo "There are uncommitted changes" exit 1 fi BASE_BRANCH=master if [[ "$VERSION" == *"beta"* ]]; then BASE_BRANCH=beta fi git switch "${BASE_BRANCH}" git pull BRANCH=b${VERSION} git branch "${BRANCH}" git switch "${BRANCH}" echo "Updating files with version ${VERSION}, date ${VERSION_DATE} and commit ${VERSION_COMMIT}" flatpak-node-generator npm ../trilium/package-lock.json xmlstarlet ed --inplace --update "/component/releases/release/@version" --value "${VERSION}" --update "/component/releases/release/@date" --value "${VERSION_DATE}" ./com.github.zadam.trilium.metainfo.xml yq --inplace "(.modules[0].sources[0].tag = \"v${VERSION}\") | (.modules[0].sources[0].commit = \"${VERSION_COMMIT}\")" ./com.github.zadam.trilium.yml git add ./generated-sources.json git add ./com.github.zadam.trilium.metainfo.xml git add ./com.github.zadam.trilium.yml git commit -m "release $VERSION" git push --set-upstream origin "${BRANCH}" gh pr create --fill -B "${BASE_BRANCH}" gh pr merge --auto --merge --delete-branch