nixpkgs mirror (for testing) github.com/NixOS/nixpkgs
nix
at python-updates 51 lines 1.8 kB view raw
1#!/usr/bin/env nix-shell 2#!nix-shell -i bash -p curl jq prefetch-yarn-deps nix-prefetch-github coreutils nix-update 3# shellcheck shell=bash 4 5# This script exists to update geocities version and pin prisma-engines version 6 7set -euo pipefail 8SCRIPT_DIR="$(dirname "${BASH_SOURCE[0]}")" 9 10old_version=$(nix-instantiate --eval -A 'umami.version' default.nix | tr -d '"' || echo "0.0.1") 11version=$(curl -s "https://api.github.com/repos/umami-software/umami/releases/latest" | jq -r ".tag_name") 12version="${version#v}" 13 14echo "Updating to $version" 15 16if [[ "$old_version" == "$version" ]]; then 17 echo "Already up to date!" 18 exit 0 19fi 20 21nix-update --version "$version" umami 22 23echo "Fetching geolite" 24geocities_rev_date=$(curl https://api.github.com/repos/GitSquared/node-geolite2-redist/branches/master | jq -r ".commit.sha, .commit.commit.author.date") 25geocities_rev=$(echo "$geocities_rev_date" | head -1) 26geocities_date=$(echo "$geocities_rev_date" | tail -1 | sed 's/T.*//') 27 28# upstream is kind enough to provide a file with the hash of the tar.gz archive 29geocities_hash=$(curl -s "https://raw.githubusercontent.com/GitSquared/node-geolite2-redist/$geocities_rev/redist/GeoLite2-City.tar.gz.sha256") 30geocities_hash_sri=$(nix-hash --to-sri --type sha256 "$geocities_hash") 31 32cat <<EOF > "$SCRIPT_DIR/sources.json" 33{ 34 "geocities": { 35 "rev": "$geocities_rev", 36 "date": "$geocities_date", 37 "hash": "$geocities_hash_sri" 38 } 39} 40EOF 41 42echo "Pinning Prisma version" 43upstream_src="https://raw.githubusercontent.com/umami-software/umami/v$version" 44 45lock=$(mktemp) 46curl -s -o "$lock" "$upstream_src/pnpm-lock.yaml" 47prisma_version=$(grep "@prisma/engines@" "$lock" | head -n1 | awk -F"[@']" '{print $4}') 48rm "$lock" 49 50nix-update --version "$prisma_version" umami.prisma-engines 51nix-update --version "$prisma_version" umami.prisma