Skip to content

Commit 987ae40

Browse files
author
MochiOS Team
committed
add github actions workflow: auto-build mochios iso on push to main
1 parent 7a53d33 commit 987ae40

1 file changed

Lines changed: 69 additions & 0 deletions

File tree

‎.github/workflows/build-iso.yml‎

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
name: build iso
2+
3+
on:
4+
push:
5+
branches: [main]
6+
workflow_dispatch:
7+
8+
jobs:
9+
build:
10+
runs-on: ubuntu-latest
11+
container:
12+
image: archlinux/archlinux:latest
13+
steps:
14+
- name: install deps
15+
run: |
16+
pacman -Syu --noconfirm
17+
pacman -S --noconfirm archiso base-devel go git sudo fakeroot
18+
19+
- name: checkout
20+
uses: actions/checkout@v4
21+
with:
22+
path: /tmp/mochios
23+
24+
- name: setup build user
25+
run: |
26+
useradd -m mochi
27+
echo "mochi ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers
28+
chown -R mochi:mochi /tmp/mochios
29+
mkdir -p /home/mochi/.mochios-gnupg
30+
chown -R mochi:mochi /home/mochi
31+
32+
- name: create signing key
33+
run: |
34+
mkdir -p /tmp/mochios/repo/pubkey
35+
cd /tmp/mochios
36+
cat > ci-genkey << 'GPGEOF'
37+
Key-Type: ed25519
38+
Key-Usage: sign
39+
Name-Real: MochiOS CI
40+
Name-Email: ci@mochios.dev
41+
Expire-Date: 0
42+
%no-protection
43+
GPGEOF
44+
gpg --batch --gen-key ci-genkey
45+
gpg --export --armor ci@mochios.dev > repo/pubkey/mochios-key.pub
46+
47+
- name: create secure boot keys
48+
run: |
49+
mkdir -p /tmp/mochios/secure-boot
50+
cd /tmp/mochios/secure-boot
51+
openssl req -x509 -newkey rsa:2048 -keyout db.key -out db.crt \
52+
-days 365 -nodes -subj "/CN=MochiOS CI/"
53+
chmod 600 db.key
54+
55+
- name: build packages + iso
56+
run: |
57+
mkdir -p /tmp/mochios-work
58+
MOCHIOS_DIR=/tmp/mochios \
59+
WORK_DIR=/tmp/mochios-work \
60+
GNUPGHOME=/root/.gnupg \
61+
SIGN_KEY=ci@mochios.dev \
62+
bash /tmp/mochios/build.sh 2>&1
63+
64+
- name: upload iso
65+
uses: actions/upload-artifact@v4
66+
with:
67+
name: mochios-iso
68+
path: /tmp/mochios/out/*.iso
69+
retention-days: 30

0 commit comments

Comments
 (0)