Test pushing to FlakeHub

This commit is contained in:
Eelco Dolstra 2024-01-11 18:14:06 +01:00
parent eb14f4bded
commit d51150dd47

View file

@ -1,12 +1,45 @@
#!/bin/sh #! /usr/bin/env bash
set -e set -e
set -ux set -ux
seed=$(date) seed=$(date)
log=$MAGIC_NIX_CACHE_DAEMONDIR/daemon.log
binary_cache=https://attic-test.fly.dev
# Check that the action initialized correctly.
grep 'FlakeHub cache is enabled' $log
grep 'Using cache' $log
grep 'GitHub Action cache is enabled' $log
# Build something.
outpath=$(nix-build .github/workflows/cache-tester.nix --argstr seed "$seed") outpath=$(nix-build .github/workflows/cache-tester.nix --argstr seed "$seed")
# Check that the path was enqueued to be pushed to the cache.
grep "Enqueueing.*$outpath" $log
# Wait until it has been pushed succesfully.
found=
for ((i = 0; i < 60; i++)); do
sleep 1
if grep "$(basename $outpath)" $log; then
found=1
break
fi
done
if [[ -z $found ]]; then
echo "FlakeHub push did not happen." >&2
exit 1
fi
# Check the FlakeHub binary cache to see if the path is really there.
nix path-info --store "$binary_cache" $outpath
# FIXME: remove this once the daemon also uploads to GHA automatically.
nix copy --to 'http://127.0.0.1:37515' "$outpath" nix copy --to 'http://127.0.0.1:37515' "$outpath"
rm ./result rm ./result
nix store delete "$outpath" nix store delete "$outpath"
if [ -f "$outpath" ]; then if [ -f "$outpath" ]; then