bankserver_rust/test.sh
2025-03-03 11:11:58 +01:00

31 lines
1.2 KiB
Bash

set -euxo pipefail
mkdir images
for file in result-*dockerImage*; do
if [ ! -f "$file" ]; then
continue
fi
info=$(echo "$file" | sd '^result-([a-z0-9_-]+)\.([a-zA-Z]+)(?:-cross-([a-z0-9_-]+))?$' '$1\x1F$2\x1F$3')
IFS=$'\x1F' read -r hostArch name crossArch <<< "$info"
arch=${crossArch:-$hostArch}
containerArch=$(arch=$arch nix eval --raw --impure -I nixpkgs=flake:nixpkgs --expr '(import <nixpkgs> { system = builtins.getEnv "arch";}).go.GOARCH')
echo "Processed image for $containerArch"
cp $file images/image-$containerArch.tar.gz
done
manifest_id=$(podman manifest create git.dirksys.ovh/dirk/bankserver:latest)
sleep 1
for file in $(ls images); do
echo "Loading images/$file"
podman image load < images/$file
image_id=$(podman image ls --format '{{.ID}}' | head -n 2 | tail -1)
architecture=$(podman image inspect $image_id | jq -r ".[0].Architecture")
tag=$(podman image ls --format "{{.Tag}}" | head -n 2 | tail -1)
tag="git.dirksys.ovh/dirk/bankserver:$tag-$architecture"
podman image untag $image_id
echo "Adding $architecture image to manifest"
podman manifest add $manifest_id $image_id
done
echo "Pushing manifest"
podman --log-level=debug manifest push git.dirksys.ovh/dirk/bankserver:latest > out.txt