guix.yml

 1image: debian/unstable
 2sources:
 3- https://git.sr.ht/~singpolyma/jmp-pay
 4packages:
 5- guix
 6- xz-utils
 7environment:
 8  GUIX_PROFILE: /var/guix/profiles/per-user/root/guix-profile
 9  CID: QmRpV6qo68sC3ZCwdZT4qcARw5jUWM6ixSEyxv5ojkhVca
10  TARNAME: 2kld8phgqyr21daa2j4aq3nv4zmmrm2y-guix-tarball-pack.tar.xz
11secrets:
12- 9ded4157-4cf9-42ae-b7d0-55eb6e52ea37
13- fd52c9ce-04e8-4684-af6c-1ab78d2e124a
14artifacts:
15- jmp-pay.scm
16- jmp-pay.nar.xz
17tasks:
18- pull: |
19    curl -O https://cloudflare-ipfs.com/ipfs/$CID/$TARNAME
20    sudo systemctl stop guix-daemon
21    sudo tar -C / -xJf $TARNAME
22    sudo /sbin/start-stop-daemon -Sbmp /tmp/guix-daemon.pid -a $GUIX_PROFILE/bin/guix-daemon -- --build-users-group=_guixbuild
23- bake: |
24    . $GUIX_PROFILE/etc/profile
25    hash guix
26    sed '/^;;;;$/q' jmp-pay/jmp-pay.scm > jmp-pay.scm
27    printf "(define-public jmp-pay\n\t" >> jmp-pay.scm
28    cd jmp-pay
29    printf "(use-modules (jmp-pay))\n(write jmp-pay-baked)\n" | guix repl -L. /dev/stdin >> ../jmp-pay.scm
30    cd -
31    printf ")" >> jmp-pay.scm
32    rm -rf jmp-pay
33- build: |
34    . "$GUIX_PROFILE/etc/profile"
35    hash guix
36    guix build --no-grafts -L. jmp-pay
37- archive: |
38    . "$GUIX_PROFILE/etc/profile"
39    hash guix
40    sudo mv signing-key.pub /etc/guix/
41    sudo mv signing-key.sec /etc/guix/
42    sudo chown root:root /etc/guix/signing-key.sec
43    sudo chmod 0400 /etc/guix/signing-key.sec
44    guix archive --export -r --no-grafts -L. jmp-pay > jmp-pay.nar
45    xz jmp-pay.nar