sd-card-images/.github/workflows/qemu.yml

133 lines
3.7 KiB
YAML

name: sd-card-images CI
on:
push:
branches: "*"
schedule:
- cron: "00 03 * * 0"
env:
MAKEFLAGS: -j2
jobs:
build-boot-x86:
runs-on: ubuntu-latest
name: build x86
steps:
- name: Install dependencies
timeout-minutes: 5
env:
DEBIAN_FRONTEND: noninteractive
run: |
sudo apt-get update
sudo apt-get --assume-yes \
--no-install-recommends \
install bc \
bison \
bzip2 \
ca-certificates \
device-tree-compiler \
dosfstools \
flex \
gcc \
gcc-arm-none-eabi \
gcc-i686-linux-gnu \
git \
libssl-dev \
make \
mtools \
parted \
pigz \
python2-dev \
python3-dev \
python3-pkg-resources \
swig
- name: Checkout
uses: actions/checkout@v2
- name: Build qemu_x86_virt
timeout-minutes: 5
run: |
env PATH=$GITHUB_WORKSPACE/scripts:$PATH \
ARTIFACTS_DIR=$RUNNER_TEMP \
build-boot qemu_x86_virt \
qemu-x86 \
qemu-x86_defconfig \
i686-linux-gnu
- uses: actions/upload-artifact@v2
with:
name: boot-qemu_x86_virt-master
path: ${{ runner.temp }}/boot-qemu_x86_virt.bin.gz
if-no-files-found: error
retention-days: 1
test-debian-x86:
runs-on: ubuntu-latest
needs: build-boot-x86
name: test ${{ matrix.os }} ${{ matrix.arch }} ${{ matrix.suite }}
strategy:
matrix:
include:
- os: debian
suite: buster
arch: i386
- os: debian
suite: bullseye
arch: i386
- os: debian
suite: sid
arch: i386
fail-fast: false
env:
DEBIAN_OS: ${{ matrix.os }}
DEBIAN_ARCH: ${{ matrix.arch }}
DEBIAN_SUITE: ${{ matrix.suite }}
steps:
- name: Install dependencies
timeout-minutes: 5
env:
DEBIAN_FRONTEND: noninteractive
run: |
sudo apt-get update
sudo apt-get --assume-yes \
--no-install-recommends \
install bzip2 \
ca-certificates \
debian-archive-keyring \
debootstrap \
e2fsprogs \
pigz \
pwgen \
qemu-system-x86 \
ssh \
sshpass
- name: Checkout
uses: actions/checkout@v2
- name: Build ${{ matrix.suite }} ${{ matrix.arch }}
timeout-minutes: 5
run: |
sudo env PATH=$GITHUB_WORKSPACE/scripts:$PATH \
ARTIFACTS_DIR=$RUNNER_TEMP \
build-debian $DEBIAN_OS \
$DEBIAN_ARCH \
$DEBIAN_SUITE
- uses: actions/download-artifact@v2
with:
name: boot-qemu_x86_virt-master
path: ${{ runner.temp }}
- name: Test qemu_x86_virt + ${{ matrix.suite }} ${{ matrix.arch }}
timeout-minutes: 5
run: |
./test/qemu.sh $RUNNER_TEMP/boot-qemu_x86_virt.bin.gz \
$RUNNER_TEMP/${{ matrix.os }}-${{ matrix.suite }}-${{ matrix.arch }}-*.bin.gz