#!/usr/bin/sh function get_latest_version() { repo=$1 prefix="v" [ -n "$2" ] && prefix="$2-v" releases_json=$(curl -s "https://git.serguzim.me/api/v1/repos/emgauwa/$repo/releases") [ $? -ne 0 ] && echo "v0.0.0" && exit tags=$(echo $releases_json | jq -r ".[] | select(.tag_name | test(\"$prefix*\")).tag_name") latest_version="0.0.0" for tag in $tags; do version=$(echo $tag | sed "s/^$prefix//") [ $(vercmp $version $latest_version) -gt 0 ] && latest_version=$version done echo $latest_version } commit_message="" function upgrade_package() { cd $1 current_version=$(grep -Po "pkgver=\K.*$" PKGBUILD) latest_version=$(get_latest_version $2) sed -i "s/pkgver=.*$/pkgver=$latest_version/" PKGBUILD updpkgsums if [ "$current_version" != "$latest_version" ] then commit_message="$commit_message\nupgpkg: $1 v$latest_version" git add PKGBUILD fi cd .. } upgrade_package "controller" "controller" upgrade_package "controller-testing" "controller testing" upgrade_package "core" "core" upgrade_package "core-testing" "core testing" upgrade_package "webapp" "client" printf "$commit_message" | git commit -F - git show -s