add guix installer workflow
Some checks failed
installer / build (push) Failing after 24m37s

This commit is contained in:
Murphy 2024-12-12 22:53:10 -05:00
parent bd9eab64ec
commit 2e6888a864
Signed by: freya
GPG key ID: 9FBC6FFD6D2DBF17
3 changed files with 67 additions and 4 deletions

View file

@ -0,0 +1,63 @@
# title: install
# desc: generate a guix installer image
# adapted from https://github.com/SystemCrafters/guix-installer/
name: installer
on:
push:
branches:
- main
jobs:
build:
runs-on: docker
container:
image: alpine:3.21
options: "--cap-add=all" # needed for guix
steps:
- name: Install dependencies
run: |
apk add --no-cache git nodejs
- name: Git checkout
uses: actions/checkout@v4
- name: Guix cache
uses: actions/cache/restore@v4
with:
path: ~/.cache/guix
key: guix-cache-${{ github.sha }}
restore-keys: |
guix-cache-
- name: Install guix
run: |
apk add --no-cache guix openrc
cat <<EOF > /etc/init.d/guix-daemon
#!/sbin/openrc-run
start(){ guix-daemon --build-users-group=guixbuild & }
EOF
chmod +x /etc/init.d/guix-daemon
rc-update add guix-daemon
openrc boot
- name: Build ISO
run: |
./scripts/build-installer
- name: Guix cache save
uses: actions/cache/save@v4
with:
path: ~/.cache/guix
key: guix-cache-${{ github.sha }}
- name: Save artifact
uses: actions/upload-artifact@v4
with:
name: installer
path: guix-installer-*.iso

View file

@ -3,7 +3,7 @@
(url "https://git.savannah.gnu.org/git/guix.git") (url "https://git.savannah.gnu.org/git/guix.git")
(branch "master") (branch "master")
(commit (commit
"a9003b8e6b40b59c9545ae87bb441d3549630db7") "2b32a3809883a9b0fc38a79886921f1a53e00425")
(introduction (introduction
(make-channel-introduction (make-channel-introduction
"9edb3f66fd807b096b48283debdcddccfea34bad" "9edb3f66fd807b096b48283debdcddccfea34bad"
@ -14,7 +14,7 @@
(url "https://gitlab.com/nonguix/nonguix.git") (url "https://gitlab.com/nonguix/nonguix.git")
(branch "master") (branch "master")
(commit (commit
"5a7e61a0a5bc191d8558a845bd724a0d41e0afbd") "10e3c2bcaedaba121eec0e255d366a080082cf0a")
(introduction (introduction
(make-channel-introduction (make-channel-introduction
"897c1a470da759236cc11798f4e0a5f7d4d59fbc" "897c1a470da759236cc11798f4e0a5f7d4d59fbc"
@ -25,7 +25,7 @@
(url "https://g.freya.cat/freya/sakura") (url "https://g.freya.cat/freya/sakura")
(branch "main") (branch "main")
(commit (commit
"3caf3d17b1e5e76f1bf948e6799085b27d204bed") "db9a1e89bf4d730232c5c8ab705a1bab01262a25")
(introduction (introduction
(make-channel-introduction (make-channel-introduction
"8fb2f9c2fa414754c41c1c73665e3e73e12693ab" "8fb2f9c2fa414754c41c1c73665e3e73e12693ab"

View file

@ -3,7 +3,7 @@ retry="$(dirname $0)/guix-retry"
repo="$(realpath "$(dirname $0)/..")" repo="$(realpath "$(dirname $0)/..")"
extra_args="" extra_args=""
if [ ! -d /gnu/store ]; then if [ -f /usr/local/bin ]; then
# we are likely in a non guix system # we are likely in a non guix system
# just for building the installer # just for building the installer
# make sure to authorize the substitute # make sure to authorize the substitute