Add support for UEFI and aarch64 #98
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI | |
on: | |
- pull_request | |
- push | |
jobs: | |
test-x86_64: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Install qemu-utils | |
run: | | |
sudo apt-get update | |
sudo apt-get install qemu-utils | |
- uses: actions/checkout@v3 | |
- name: Build image without partition | |
run: | | |
sudo ./alpine-make-vm-image \ | |
--image-format qcow2 \ | |
--image-size 2G \ | |
--repositories-file example/repositories \ | |
--packages "$(cat example/packages)" \ | |
--fs-skel-dir example/rootfs \ | |
--fs-skel-chown root:root \ | |
--script-chroot \ | |
alpine-bios-$(date +%Y-%m-%d).qcow2 -- ./example/configure.sh | |
- name: Build image with partition | |
run: | | |
sudo ./alpine-make-vm-image \ | |
--image-format qcow2 \ | |
--image-size 2G \ | |
--partition \ | |
--repositories-file example/repositories \ | |
--packages "$(cat example/packages)" \ | |
--fs-skel-dir example/rootfs \ | |
--fs-skel-chown root:root \ | |
--script-chroot \ | |
alpine-bios-part-$(date +%Y-%m-%d).qcow2 -- ./example/configure.sh | |
- name: Build image with UEFI boot mode | |
run: | | |
sudo ./alpine-make-vm-image \ | |
--image-format qcow2 \ | |
--image-size 2G \ | |
--boot-mode UEFI \ | |
--repositories-file example/repositories \ | |
--packages "$(cat example/packages)" \ | |
--fs-skel-dir example/rootfs \ | |
--fs-skel-chown root:root \ | |
--script-chroot \ | |
alpine-uefi-$(date +%Y-%m-%d).qcow2 -- ./example/configure.sh | |
test-aarch64: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Install qemu-utils | |
run: | | |
sudo apt-get update | |
sudo apt-get install qemu-utils | |
- uses: actions/checkout@v3 | |
- run: | | |
sudo find /dev -maxdepth 2 -name 'nbd[0-9]*' -exec ls -la {} \; | |
# This installs qemu userspace emulator and registers in binfmt. | |
- uses: jirutka/setup-alpine@v1 | |
with: | |
#arch: aarch64 | |
shell-name: alpine-aarch64.sh | |
- run: | | |
sudo find /dev -maxdepth 2 -name 'nbd[0-9]*' -exec ls -la {} \; | |
- name: Build image for aarch64 on aarch64 host | |
run: | | |
find /dev -maxdepth 2 -name 'nbd[0-9]*' -exec ls -la {} \; | |
./alpine-make-vm-image \ | |
--image-format qcow2 \ | |
--image-size 2G \ | |
--repositories-file example/repositories \ | |
--packages "$(cat example/packages)" \ | |
--fs-skel-dir example/rootfs \ | |
--fs-skel-chown root:root \ | |
alpine-$(date +%Y-%m-%d).qcow2 | |
shell: alpine-aarch64.sh --root {0} | |
- name: Build image for aarch64 on x86_64 host | |
run: | | |
sudo ./alpine-make-vm-image \ | |
--image-format qcow2 \ | |
--image-size 2G \ | |
--arch aarch64 \ | |
--repositories-file example/repositories \ | |
--packages "$(cat example/packages)" \ | |
--fs-skel-dir example/rootfs \ | |
--fs-skel-chown root:root \ | |
--script-chroot \ | |
alpine2-$(date +%Y-%m-%d).qcow2 -- ./example/configure.sh |