1#!/usr/bin/env nix-shell
2#!nix-shell -i bash -p curl gnused jq nix bash coreutils nix-update yarn-berry.yarn-berry-fetcher
3
4set -eou pipefail
5
6PACKAGE_DIR=$(realpath $(dirname $0))
7
8latestTag=$(curl ${GITHUB_TOKEN:+-u ":$GITHUB_TOKEN"} -sL https://api.github.com/repos/CherryHQ/cherry-studio/releases/latest | jq --raw-output .tag_name)
9latestVersion=$(echo "$latestTag" | sed 's/^v//')
10
11currentVersion=$(nix-instantiate --eval -E "with import ./. {}; cherry-studio.version or (lib.getVersion cherry-studio)" | tr -d '"')
12
13if [[ "$currentVersion" == "$latestVersion" ]]; then
14 echo "package is up-to-date: $currentVersion"
15 exit 0
16fi
17
18nix-update cherry-studio --version "$latestVersion" || true
19
20export HOME=$(mktemp -d)
21src=$(nix-build --no-link $PWD -A cherry-studio.src)
22WORKDIR=$(mktemp -d)
23cp --recursive --no-preserve=mode $src/* $WORKDIR
24pushd $WORKDIR
25yarn-berry-fetcher missing-hashes yarn.lock >$PACKAGE_DIR/missing-hashes.json
26popd
27
28nix-update cherry-studio --version skip || true