diff options
Diffstat (limited to 'pkgs/applications/version-management/git-credential-manager/update.sh')
-rwxr-xr-x | pkgs/applications/version-management/git-credential-manager/update.sh | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/pkgs/applications/version-management/git-credential-manager/update.sh b/pkgs/applications/version-management/git-credential-manager/update.sh new file mode 100755 index 000000000000..e1a03f296f1f --- /dev/null +++ b/pkgs/applications/version-management/git-credential-manager/update.sh @@ -0,0 +1,24 @@ +#!/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 + + +nugetDeps="$(realpath ./deps.nix)" +$(nix-build ../../../.. -A git-credential-manager.fetch-deps --no-out-link) "$nugetDeps" |