nixos/update_cached_hashes.sh

23 lines
684 B
Bash
Executable File

#!/usr/bin/env bash
# this guy updates the hash of the last
# successful build of nixpkgs on hydra
# (so we don't have to rebuild EVERYTHING)
RELEASE=24.11
set -e
new=$(curl -sL "https://monitoring.nixos.org/prometheus/api/v1/query?query=channel_revision" | jq -r ".data.result[] | select(.metric.channel==\"nixos-${RELEASE}\") | .metric.revision")
old=$(jq -r '.nodes as $nodes | .nodes.root.inputs.nixpkgs as $tgt_nixpkgs | $nodes | to_entries[] | select(.key == $tgt_nixpkgs) | .value.locked.rev' flake.lock)
if [ "${old}" != "${new}" ]; then
echo "Old hash: ${old}"
echo "New hash: ${new}"
sed -i s/"${old}"/"${new}"/ flake.nix
exit
fi
echo "No updates available."