System Installation Testing #19
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: Athena Arch Installation | |
on: | |
workflow_dispatch: | |
jobs: | |
install: | |
runs-on: ubuntu-latest | |
container: | |
image: athenaos/base-devel:latest | |
options: --privileged | |
steps: | |
- name: Install dependencies | |
run: pacman -Syyu --noconfirm aegis | |
- name: Retrieve install configuration | |
run: curl -O https://raw.githubusercontent.com/Athena-OS/athena/refs/heads/main/tests/arch.json | |
- name: Create a raw disk image | |
run: | | |
dd if=/dev/zero of=disk.img bs=1M count=15360 # Create a 15GB disk image | |
loop_device=$(sudo losetup --find --partscan --show disk.img) | |
losetup -d "$loop_device" | |
echo "Loop Device: $loop_device" | |
losetup "$loop_device" disk.img # Attach the file as a loopback device | |
parted -s "$loop_device" -- mklabel gpt | |
parted -s "$loop_device" -- mkpart ESP fat32 1MiB 512MiB | |
parted -s "$loop_device" -- set 1 esp on | |
parted -s "$loop_device" -- mkpart primary btrfs 512MiB 100% | |
sed -i "s#/dev/loop0#$loop_device#g" arch.json | |
fdisk -l # It triggers the kernel to be aware of new devices in /dev dir | |
ls -la /dev/ | |
- name: Run the installer | |
run: aegis-arch config arch.json |