@@ -23,16 +23,15 @@ jobs:
2323
2424 - name : Install tools
2525 run : |
26- # mkosi
27- sudo apt-get update && sudo apt-get install -y debian-archive-keyring rclone
28- sudo -H pip3 install git+https://github.com/systemd/mkosi.git@$(cat .mkosi_version)
29-
30- # minisign
31- curl -sSfL https://github.com/jedisct1/minisign/releases/download/0.12/minisign-0.12-linux.tar.gz | \
32- sudo tar xzf - -C /usr/bin --strip-components=2 minisign-linux/x86_64/minisign
26+ sudo apt-get update && sudo apt-get install -y \
27+ debian-archive-keyring \
28+ minisign\
29+ rclone
30+ pip3 install git+https://github.com/systemd/mkosi.git@$(cat .mkosi_version)
3331
3432 - name : Create rclone config
3533 run : |
34+ mkdir -p ~/.config/rclone
3635 cat << EOF > ~/.config/rclone/rclone.conf
3736 [r2-flashbots-public-artifacts]
3837 type = s3
5251 sudo rm -f cache.tar
5352 fi
5453
54+ - name : Enable user namespaces
55+ run : |
56+ sudo sysctl -w kernel.apparmor_restrict_unprivileged_userns=0
57+
5558 - name : Build image
5659 run : |
57- sudo mkosi --force -I buildernet.conf
60+ mkosi --force -I buildernet.conf --image-version=${GITHUB_REF_NAME#v}-${GITHUB_SHA::8}
5861
5962 - name : Upload artifact
6063 uses : actions/upload-artifact@v4
6568 mkosi.output/*.tar.gz
6669 mkosi.output/*.vhd
6770
71+ - name : Sign artifacts
72+ run : |
73+ mkdir -p ~/.minisign
74+ echo "$MINISIGN_SECRET_KEY" > ~/.minisign/minisign.key
75+ chmod 600 ~/.minisign/minisign.key
76+ for file in mkosi.output/*.{efi,tar.gz,vhd}; do
77+ echo "$MINISIGN_SECRET_KEY_PASSWORD" | minisign -Sm "$file" -t "github.com/${GITHUB_REPOSITORY}/commit/${GITHUB_SHA}"
78+ done
79+
80+ - name : Generate SHA256 checksums
81+ run : |
82+ sha256sum mkosi.output/*.{efi,tar.gz,vhd} | tee mkosi.output/checksums.sha256
83+
84+ - name : Upload to R2
85+ run : |
86+ for file in mkosi.output/*.{efi,tar.gz,vhd,minisign,checksums.sha256}; do
87+ rclone copy "$file" r2-flashbots-public-artifacts:flashbots-public-artifacts/buildernet-images/${GITHUB_REF_NAME#v}/$file
88+ done
89+
6890 - name : Prepare cache
6991 run : |
7092 sudo find . \( -name "mkosi.builddir" -o -name "mkosi.cache" -o -name "mkosi.tools" \) -type d -print0 | \
0 commit comments