ISO-repository/.gitea/workflows/builder.yaml

64 lines
2.4 KiB
YAML

name: Build ISO images
on:
workflow_dispatch:
release:
types: [released]
issue_comment:
jobs:
build-x86:
container:
image: node:22.3-bookworm
runs-on: [arm64]
# For manual trigger via Gitea while they implement the workflow_dispatch
if: ${{ github.event.pull_request != '' || github.event.pusher != '' || github.event.comment.body == '!actions run x86' || github.event.comment.body == '!actions run all' }}
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Create ISO
run: |
apt update
apt install -y xorriso curl genisoimage cpio
curl -LO https://laotzu.ftp.acc.umu.se/debian-cd/current/amd64/iso-cd/debian-11.6.0-amd64-netinst.iso
xorriso -osirrox on -indev debian-11.6.0-amd64-netinst.iso -extract / ./isofiles
chmod +w -R isofiles/
gunzip ./isofiles/install.amd/initrd.gz
echo preseed.cfg | cpio -H newc -o -A -F isofiles/install.amd/initrd
cp bootloader-configs/*.cfg isofiles/isolinux
gzip isofiles/install.amd/initrd
cd isofiles
# Execute the md5sum generation in a separated shell instance, because it returns a
# warning (file system loop) that makes the CI job error out
sh -c "find -follow -type f ! -name md5sum.txt -print0 | xargs -0 md5sum > md5sum.txt"
cd ..
chmod -w -R isofiles/
genisoimage -r -J -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -o halis-debian-11.6.0-amd64.iso isofiles
- name: Upload ISO image
uses: actions/upload-artifact@v4
with:
name: halis-debian-11.6.0-amd64.iso
path: halis-debian-11.6.0-amd64.iso
build-arm64:
container:
image: node:22.3-bookworm
runs-on: [arm64]
# For manual trigger via Gitea while they implement the workflow_dispatch
if: ${{ github.event.pull_request != '' || github.event.pusher != '' || github.event.comment.body == '!actions run arm' || github.event.comment.body == '!actions run all' }}
steps:
- name: Checkout repository
uses: https://github.com/actions/checkout@v4
- name: Create ISO
run: |
sleep 10000
apt update
apt install -y curl xz-utils file sudo
./arm64-build.sh
- name: Upload ISO image
uses: actions/upload-artifact@v4
with:
path: ./*.img.xz