nixpkgs mirror (for testing) github.com/NixOS/nixpkgs
nix
at python-updates 49 lines 1.5 kB view raw
1#!/usr/bin/env nix-shell 2#!nix-shell -i bash -p nix wget jq nix-prefetch-github nurl 3 4# shellcheck shell=bash 5 6if [ -n "$GITHUB_TOKEN" ]; then 7 TOKEN_ARGS=(--header "Authorization: token $GITHUB_TOKEN") 8fi 9 10if [[ $# -gt 1 || $1 == -* ]]; then 11 echo "Regenerates packaging data for the woodpecker packages." 12 echo "Usage: $0 [git release tag]" 13 exit 1 14fi 15 16version="$1" 17 18set -euo pipefail 19 20NIXPKGS_ROOT="$(git rev-parse --show-toplevel)" 21 22if [ -z "$version" ]; then 23 version="$(wget -q -O- "${TOKEN_ARGS[@]}" "https://api.github.com/repos/woodpecker-ci/woodpecker/releases?per_page=10" | jq -r '[.[] | select(.prerelease == false)][0].tag_name')" 24fi 25 26# strip leading "v" 27version="${version#v}" 28rev="v$version" 29 30cd "$(dirname "$0")" 31 32# Woodpecker repository source hash 33src_hash=$(nix-prefetch-github woodpecker-ci woodpecker --rev "$rev" | jq -r .hash) 34sed -i -E -e "s#hash = \".*\"#hash = \"$src_hash\"#" common.nix 35sed -i -E -e "s#version = \".*\"#version = \"$version\"#" common.nix 36 37# Go modules vendor hash 38vendor_hash=$(nurl -e "(import $NIXPKGS_ROOT/. { }).woodpecker-server.goModules") 39sed -i -E -e "s#vendorHash = \".*\"#vendorHash = \"$vendor_hash\"#" common.nix 40 41# pnpm dependencies hash for web UI 42pnpm_hash=$(nurl -e "(import $NIXPKGS_ROOT/. { }).woodpecker-server.pnpmDeps") 43sed -i -E -e "s#nodeModulesHash = \".*\"#nodeModulesHash = \"$pnpm_hash\"#" common.nix 44 45echo "Update complete!" 46echo "Version: $version" 47echo "Source hash: $src_hash" 48echo "go vendor hash: $vendor_hash" 49echo "pnpm dependencies hash: $pnpm_hash"