diff options
Diffstat (limited to 'pkgs/tools/video/recyclarr/update.sh')
-rwxr-xr-x | pkgs/tools/video/recyclarr/update.sh | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/pkgs/tools/video/recyclarr/update.sh b/pkgs/tools/video/recyclarr/update.sh new file mode 100755 index 0000000000000..83942439cc284 --- /dev/null +++ b/pkgs/tools/video/recyclarr/update.sh @@ -0,0 +1,46 @@ +#!/usr/bin/env nix-shell +#!nix-shell -I nixpkgs=./. -i bash -p curl jq common-updater-scripts gnused nix coreutils +#shellcheck shell=bash + +set -euo pipefail + +latestVersion=$(curl -s ${GITHUB_TOKEN:+ -H "Authorization: Bearer $GITHUB_TOKEN"} https://api.github.com/repos/recyclarr/recyclarr/releases?per_page=1 \ + | jq -r ".[0].tag_name" \ + | sed 's/^v//') +currentVersion=$(nix-instantiate --eval -E "with import ./. {}; recyclarr.version or (lib.getVersion recyclarr)" | tr -d '"') + +if [[ "$currentVersion" == "$latestVersion" ]]; then + echo "recyclarr is up-to-date: $currentVersion" + exit 0 +fi + +function get_hash() { + local os=$1 + local arch=$2 + local version=$3 + + local pkg_hash=$(nix-prefetch-url --type sha256 \ + https://github.com/recyclarr/recyclarr/releases/download/v"${version}"/recyclarr-"${os}"-"${arch}".tar.xz) + nix hash to-sri "sha256:$pkg_hash" +} + +# aarch64-darwin +# reset version first so that all platforms are always updated and in sync +update-source-version recyclarr 0 "sha256-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" --system="aarch64-darwin" +update-source-version recyclarr "$latestVersion" $(get_hash osx arm64 "$latestVersion") --system="aarch64-darwin" + +# x86_64-darwin +# reset version first so that all platforms are always updated and in sync +update-source-version recyclarr 0 "sha256-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" --system="x86_64-darwin" +update-source-version recyclarr "$latestVersion" $(get_hash osx x64 "$latestVersion") --system="x86_64-darwin" + +# aarch64-linux +# reset version first so that all platforms are always updated and in sync +update-source-version recyclarr 0 "sha256-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" --system="aarch64-linux" +update-source-version recyclarr "$latestVersion" $(get_hash linux arm64 "$latestVersion") --system="aarch64-linux" + +# x86_64-linux +# reset version first so that all platforms are always updated and in sync +update-source-version recyclarr 0 "sha256-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" --system="x86_64-linux" +update-source-version recyclarr "$latestVersion" $(get_hash linux x64 "$latestVersion") --system="x86_64-linux" + |