summary refs log tree commit diff
path: root/pkgs/applications/version-management/git-credential-manager/update.sh
blob: a24eed3f27106b2b2feaf20133313725db0cd62a (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p curl jq nix-prefetch nix coreutils gnused

cd "$(dirname "$0")"

set -euo pipefail

latestVersion="$(curl -s "https://api.github.com/repos/git-ecosystem/git-credential-manager/releases?per_page=1" | jq -r ".[0].tag_name" | sed 's/^v//')"
currentVersion="$(nix-instantiate --eval -E "with import ../../../.. {}; git-credential-manager.version" | tr -d '"')"

if [[ "$latestVersion" == "$currentVersion" ]]; then
    echo "up to date"
    exit 0
fi

echo "updating $currentVersion -> $latestVersion"

sed -i -e "s/version = \"${currentVersion}\"/version = \"${latestVersion}\"/" default.nix
hash="$(nix-prefetch ./.)"
sed -i -Ee "s/hash = \"sha256-[A-Za-z0-9=]{44}\"/hash = \"${hash}\"/" default.nix


$(nix-build ../../../.. -A git-credential-manager.fetch-deps --no-out-link)