sourcehut: update.sh: bump `gqlgenVersion` on update too
This extends the current script to pull the gqlgen version from the go.mod file in the repository root (which we check out already anyway) and replace it as necessary. Makes updating all packages _a lot_ less painful. And since this is now automated, remove the default value we previously defined for `gqlgenVersion`. Signed-off-by: Christoph Heiss <christoph@c8h4.io>
This commit is contained in:
parent
ae67af30bc
commit
8edd3e2105
|
@ -1,5 +1,5 @@
|
|||
{ unzip
|
||||
, gqlgenVersion ? "0.17.42"
|
||||
, gqlgenVersion
|
||||
}:
|
||||
{
|
||||
overrideModAttrs = (_: {
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#! /usr/bin/env nix-shell
|
||||
#! nix-shell -i bash -p git mercurial common-updater-scripts
|
||||
#! nix-shell -i bash -p gnused git mercurial common-updater-scripts
|
||||
set -eux -o pipefail
|
||||
|
||||
cd "$(dirname "${BASH_SOURCE[0]}")" || exit 1
|
||||
|
@ -34,21 +34,29 @@ get_latest_version() {
|
|||
rm -rf "$tmp"
|
||||
if [ "$1" = "hgsrht" ]; then
|
||||
hg clone "$src" "$tmp" >/dev/null
|
||||
printf "%s" "$(cd "$tmp" && hg log --limit 1 --template '{latesttag}')"
|
||||
printf "%s %s\n" \
|
||||
"$(cd "$tmp" && hg log --limit 1 --template '{latesttag}')" \
|
||||
"$(cd "$tmp" && sed -ne 's/^\s*github\.com\/99designs\/gqlgen v\(.*\)$/\1/p' go.mod)"
|
||||
else
|
||||
git clone "$src" "$tmp" >/dev/null
|
||||
printf "%s" "$(cd "$tmp" && git describe "$(git rev-list --tags --max-count=1)")"
|
||||
printf "%s %s\n" \
|
||||
"$(cd "$tmp" && git describe "$(git rev-list --tags --max-count=1)")" \
|
||||
"$(cd "$tmp" && sed -ne 's/^\s*github\.com\/99designs\/gqlgen v\(.*\)$/\1/p' go.mod)"
|
||||
fi
|
||||
}
|
||||
|
||||
update_version() {
|
||||
default_nix="$(default "$1")"
|
||||
oldVersion="$(version "$1")"
|
||||
version="$(get_latest_version "$1")"
|
||||
read -r version gqlgen_ver < <(get_latest_version "$1")
|
||||
local p="$(attr_path "$1")"
|
||||
|
||||
(cd "$root" && update-source-version "$p" "$version")
|
||||
|
||||
# update `gqlgenVersion` if necessary
|
||||
old_gqlgen_ver="$(sed -ne 's/^.*gqlgenVersion = "\(.*\)".*$/\1/p' "$default_nix")"
|
||||
sed -ri "s|gqlgenVersion = \"$old_gqlgen_ver\";|gqlgenVersion = \"$gqlgen_ver\";|w /dev/stdout" "$default_nix"
|
||||
|
||||
# Update vendorHash of Go modules
|
||||
retry=true
|
||||
while "$retry"; do
|
||||
|
@ -63,7 +71,7 @@ update_version() {
|
|||
done
|
||||
done
|
||||
|
||||
if [ "$oldVersion" != "$version" ]; then
|
||||
if [ "$oldVersion" != "$version" ] || [ "$old_gqlgen_ver" != "$gqlgen_ver" ]; then
|
||||
git add "$default_nix"
|
||||
git commit -m "sourcehut.$1: $oldVersion -> $version"
|
||||
fi
|
||||
|
|
Loading…
Reference in New Issue