duckdb: fix update script to use nix-prefetch-github
This commit is contained in:
parent
63f8b4269b
commit
6c3565c909
@ -1,18 +1,10 @@
|
|||||||
#!/usr/bin/env nix-shell
|
#!/usr/bin/env nix-shell
|
||||||
#!nix-shell --pure -i bash -p cacert curl jq moreutils nix-prefetch
|
#!nix-shell -i bash -p cacert jq git moreutils nix nix-prefetch-github
|
||||||
# shellcheck shell=bash
|
# shellcheck shell=bash
|
||||||
|
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
cd "$(dirname "${BASH_SOURCE[0]}")"
|
cd "$(dirname "${BASH_SOURCE[0]}")"
|
||||||
|
|
||||||
nixpkgs=$(
|
|
||||||
while [[ ! -e .git ]]; do
|
|
||||||
[[ ${PWD} != / ]] || exit 1
|
|
||||||
cd ..
|
|
||||||
done
|
|
||||||
echo "${PWD}"
|
|
||||||
)
|
|
||||||
|
|
||||||
repo=duckdb
|
repo=duckdb
|
||||||
owner=duckdb
|
owner=duckdb
|
||||||
|
|
||||||
@ -21,34 +13,25 @@ msg() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
json_get() {
|
json_get() {
|
||||||
jq -r "$1" < 'versions.json'
|
jq -r "$1" < ./versions.json
|
||||||
}
|
}
|
||||||
|
|
||||||
json_set() {
|
json_set() {
|
||||||
jq --arg x "$2" "$1 = \$x" < 'versions.json' | sponge 'versions.json'
|
jq --arg x "$2" "$1 = \$x" < ./versions.json | sponge 'versions.json'
|
||||||
}
|
}
|
||||||
|
|
||||||
get_latest() {
|
get_latest() {
|
||||||
curl ${GITHUB_TOKEN:+" -u \":$GITHUB_TOKEN\""} -s \
|
gh release --repo "${owner}/${repo}" list \
|
||||||
"https://api.github.com/repos/${owner}/${repo}/releases/latest" | jq -r .tag_name
|
--exclude-pre-releases \
|
||||||
|
--limit 1 \
|
||||||
|
--json tagName \
|
||||||
|
--jq '.[].tagName'
|
||||||
}
|
}
|
||||||
|
|
||||||
get_sha() {
|
tag="$(get_latest | sed 's/^v//g')"
|
||||||
curl ${GITHUB_TOKEN:+" -u \":$GITHUB_TOKEN\""} -s \
|
|
||||||
"https://api.github.com/repos/${owner}/${repo}/git/ref/tags/$1" | jq -r .object.sha
|
|
||||||
}
|
|
||||||
|
|
||||||
tag=$(get_latest)
|
json=$(nix-prefetch-github "${owner}" "${repo}" --rev "v${tag}")
|
||||||
version=${tag/v/}
|
|
||||||
|
|
||||||
[[ ${version} == $(json_get .version) ]] && {
|
json_set ".version" "${tag}"
|
||||||
msg "${version} is up to date"
|
json_set ".rev" "$(jq -r '.rev' <<< "${json}")"
|
||||||
exit 0
|
json_set ".hash" "$(jq -r '.hash' <<< "${json}")"
|
||||||
}
|
|
||||||
|
|
||||||
sha=$(get_sha "${tag}")
|
|
||||||
sri=$(nix-prefetch -I nixpkgs="${nixpkgs}" -E "duckdb.overrideAttrs { version = \"${version}\"; }")
|
|
||||||
|
|
||||||
json_set ".version" "${version}"
|
|
||||||
json_set ".rev" "${sha}"
|
|
||||||
json_set ".hash" "${sri}"
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user