1
+ name : PR CI
2
+
3
+ on : [push, pull_request]
4
+
5
+ permissions : # added using https://github.com/step-security/secure-repo
6
+ contents : read
7
+
8
+ jobs :
9
+ build :
10
+ env :
11
+ TAMAGO_VERSION : 1.20.4
12
+ TAMAGO : /usr/local/tamago-go/bin/go
13
+ APPLET_PRIVATE_KEY : /tmp/applet.sec
14
+ APPLET_PUBLIC_KEY : /tmp/applet.pub
15
+ OS_PRIVATE_KEY1 : /tmp/os1.sec
16
+ OS_PUBLIC_KEY1 : /tmp/os1.pub
17
+ OS_PRIVATE_KEY2 : /tmp/os2.sec
18
+ OS_PUBLIC_KEY2 : /tmp/os2.pub
19
+ runs-on : ubuntu-latest
20
+ steps :
21
+ - uses : actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2
22
+ - name : Install tools
23
+ run : |
24
+ wget -q https://github.com/usbarmory/tamago-go/releases/download/tamago-go${TAMAGO_VERSION}/tamago-go${TAMAGO_VERSION}.linux-amd64.tar.gz
25
+ sudo tar -xf tamago-go${TAMAGO_VERSION}.linux-amd64.tar.gz -C /
26
+ sudo apt install protobuf-compiler signify-openbsd
27
+ go install google.golang.org/protobuf/cmd/[email protected]
28
+ echo "${HOME}/go/bin" >> $GITHUB_PATH
29
+ - name : Create throwaway keys & fake embed
30
+ run : |
31
+ signify-openbsd -G -n -p ${APPLET_PUBLIC_KEY} -s ${APPLET_PRIVATE_KEY}
32
+ signify-openbsd -G -n -p ${OS_PUBLIC_KEY1} -s ${OS_PRIVATE_KEY1}
33
+ signify-openbsd -G -n -p ${OS_PUBLIC_KEY2} -s ${OS_PRIVATE_KEY2}
34
+ # Now create a fake applet to embed, and sign it
35
+ mkdir -p trusted_os/assets
36
+ echo "When I grow up, I want to be an applet" > trusted_os/assets/trusted_applet.elf
37
+ signify-openbsd -S -s ${APPLET_PRIVATE_KEY} -m trusted_os/assets/trusted_applet.elf -x trusted_os/assets/trusted_applet.sig
38
+ - name : Make
39
+ run : |
40
+ DEBUG=1 make trusted_os
0 commit comments