Some checks failed
Periodic Merges (6h) / master → staging-nixos (push) Failing after 12m50s
Periodic Merges (6h) / master → staging-next (push) Failing after 12m54s
Periodic Merges (24h) / merge-base(master,staging) → haskell-updates (push) Failing after 11m54s
Periodic Merges (6h) / staging-next → staging (push) Failing after 12m13s
Periodic Merges (24h) / staging-next-25.05 → staging-25.05 (push) Failing after 13m24s
Periodic Merges (24h) / release-25.05 → staging-next-25.05 (push) Failing after 14m28s
44 lines
946 B
Nix
44 lines
946 B
Nix
{
|
|
writeShellApplication,
|
|
nix,
|
|
nix-update,
|
|
curl,
|
|
jq,
|
|
common-updater-scripts,
|
|
}:
|
|
|
|
writeShellApplication {
|
|
name = "update-alist";
|
|
runtimeInputs = [
|
|
curl
|
|
jq
|
|
nix
|
|
common-updater-scripts
|
|
nix-update
|
|
];
|
|
|
|
text = ''
|
|
# get old info
|
|
oldVersion=$(nix-instantiate --eval --strict -A "alist.version" | jq -e -r)
|
|
|
|
get_latest_release() {
|
|
local repo=$1
|
|
curl --fail ''${GITHUB_TOKEN:+ -H "Authorization: bearer $GITHUB_TOKEN"} \
|
|
-s "https://api.github.com/repos/AlistGo/$repo/releases/latest" | jq -r ".tag_name"
|
|
}
|
|
|
|
version=$(get_latest_release "alist")
|
|
version="''${version#v}"
|
|
webVersion=$(get_latest_release "alist-web")
|
|
|
|
if [[ "$oldVersion" == "$version" ]]; then
|
|
echo "Already up to date!"
|
|
exit 0
|
|
fi
|
|
|
|
update-source-version alist "$webVersion" --source-key=web --version-key=webVersion
|
|
|
|
nix-update alist --version="$version"
|
|
'';
|
|
}
|