ERL-270: github: workflows: nemos-images: build qemu-arm64 targets #45
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: nemos-images | |
on: | |
pull_request: {} | |
jobs: | |
qemu-amd64: | |
runs-on: "ubuntu-latest" | |
strategy: | |
matrix: | |
series: | |
- lunar | |
config: | |
- minimal | |
- reference | |
steps: | |
- name: "Checkout" | |
uses: "actions/checkout@v3" | |
- name: "Update system packages" | |
run: | | |
sudo apt update | |
sudo DEBIAN_FRONTEND="noninteractive" \ | |
apt full-upgrade -y | |
- name: "Setup Kiwi PPA" | |
run: | | |
sudo apt install -y software-properties-common | |
sudo add-apt-repository -y ppa:nemos-team/kiwi | |
- name: "Install Kiwi" | |
run: | | |
sudo DEBIAN_FRONTEND="noninteractive" \ | |
apt install -y kiwi kiwi-systemdeps | |
- name: "Run Kiwi" | |
run: | | |
sudo kiwi-ng --debug --profile bootstrapped \ | |
--config nemos-images-${{ matrix.config }}-${{ matrix.series }}/kiwi.yaml \ | |
system build --target-dir build \ | |
--description nemos-images-${{ matrix.config }}-${{ matrix.series }}/qemu-amd64/ | |
sudo mv build/nemos-image-${{ matrix.config }}-${{ matrix.series }}.*.qcow2 \ | |
nemos-image-${{ matrix.config }}-${{ matrix.series }}-amd64.qcow2 | |
- name: "Archive" | |
uses: "actions/upload-artifact@v3" | |
with: | |
name: "nemos-image-${{ matrix.config }}-${{ matrix.series }}-amd64" | |
path: "nemos-image-${{ matrix.config }}-${{ matrix.series }}-amd64.qcow2" | |
qemu-arm64: | |
runs-on: "ubuntu-latest" | |
strategy: | |
matrix: | |
series: | |
- lunar | |
config: | |
- minimal | |
- reference | |
steps: | |
- name: "Checkout" | |
uses: "actions/checkout@v3" | |
- uses: pguyot/arm-runner-action@v2 | |
with: | |
base_image: https://cdimage.ubuntu.com/ubuntu-server/jammy/daily-preinstalled/current/jammy-preinstalled-server-arm64+raspi.img.xz | |
cpu: cortex-a53 | |
copy_artifact_path: "build/*.qcow2" | |
image_additional_mb: 16384 | |
commands: | | |
sudo apt update | |
sudo apt full-upgrade -y | |
sudo apt install -y software-properties-common | |
sudo add-apt-repository -y ppa:nemos-team/kiwi | |
sudo DEBIAN_FRONTEND="noninteractive" \ | |
apt install -y kiwi kiwi-systemdeps | |
sudo kiwi-ng --debug --profile bootstrapped \ | |
--config nemos-images-${{ matrix.config }}-${{ matrix.series }}/kiwi.yaml \ | |
system build --target-dir build \ | |
--description nemos-images-${{ matrix.config }}-${{ matrix.series }}/qemu-arm64/ | |
- name: "Archive" | |
uses: "actions/upload-artifact@v3" | |
with: | |
name: "nemos-image-${{ matrix.config }}-${{ matrix.series }}-arm64" | |
path: "nemos-image-${{ matrix.config }}-${{ matrix.series }}-arm64.qcow2" | |
spread: | |
runs-on: "ubuntu-latest" | |
needs: | |
- "qemu-amd64" | |
- "qemu-arm64" | |
steps: | |
- uses: "actions/checkout@v3" | |
- name: "Update system packages" | |
run: | | |
sudo apt update | |
sudo DEBIAN_FRONTEND="noninteractive" \ | |
apt full-upgrade -y | |
- name: "Install dependencies" | |
run: | | |
sudo DEBIAN_FRONTEND="noninteractive" \ | |
apt install -y golang ovmf qemu-system-x86 sshpass | |
- name: "Install spread" | |
run: | | |
go clean -modcache | |
go install github.com/snapcore/spread/cmd/spread@latest | |
- name: "Download QEMU images" | |
uses: actions/download-artifact@v3 | |
- name: "Copy QEMU images to spread directory" | |
run: | | |
mkdir -p ~/.spread/adhoc | |
mv -v nemos-image-*/*.qcow2 ~/.spread/adhoc/ | |
- name: "Run the spread tests inside QEMU" | |
run: "~/go/bin/spread -v adhoc:" |