2024-04-26 19:02:29 +00:00
|
|
|
#!/usr/bin/env bash
|
|
|
|
|
|
|
|
set -euo pipefail
|
|
|
|
IFS=$'\n\t'
|
|
|
|
|
2024-04-26 22:16:47 +00:00
|
|
|
flakeref="${1-}"
|
|
|
|
name="${2-}"
|
2024-04-28 15:21:12 +00:00
|
|
|
gitdir="${3:-.}"
|
2024-04-26 19:02:29 +00:00
|
|
|
|
2024-04-26 22:16:47 +00:00
|
|
|
if [ -z "$flakeref" ] || [ -z "$name" ];
|
2024-04-26 22:06:41 +00:00
|
|
|
then
|
2024-04-28 15:21:12 +00:00
|
|
|
echo "Usage: $0 FLAKEREF NAME [GITDIR]"
|
2024-04-26 22:06:41 +00:00
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
|
2024-04-26 22:16:47 +00:00
|
|
|
imagename=$(nix eval --no-allow-dirty --raw $flakeref.imageName)
|
|
|
|
imagetag=$(nix eval --no-allow-dirty --raw $flakeref.imageTag)
|
|
|
|
image=$(nix build --no-allow-dirty $flakeref --print-out-paths --no-link)
|
2024-04-28 15:21:12 +00:00
|
|
|
gitrev=$(git --git-dir $gitdir/.git --work-tree $gitdir rev-parse HEAD)
|
2024-04-26 22:06:41 +00:00
|
|
|
|
|
|
|
docker load < $image
|
|
|
|
docker tag $imagename:$imagetag git.kun.is/home/$name:$gitrev
|
2024-04-26 22:28:21 +00:00
|
|
|
docker tag $imagename:$imagetag git.kun.is/home/$name:latest
|
2024-04-26 22:06:41 +00:00
|
|
|
docker push git.kun.is/home/$name:$gitrev
|
2024-04-26 22:29:09 +00:00
|
|
|
docker push git.kun.is/home/$name:latest
|