-
Notifications
You must be signed in to change notification settings - Fork 72
65 lines (58 loc) · 2.93 KB
/
docker-boot.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
name: docker arch boot
on: [push, pull_request]
jobs:
build:
runs-on: ubuntu-22.04
strategy:
fail-fast: false
matrix:
include:
# - args: image=i386/ubuntu:bionic
# qemu=qemu-system-i386
# install: qemu-system-x86
- args: image=arm64v8/ubuntu:jammy
platform=linux/arm64
opts="-M virt,gic-version=3 -cpu cortex-a57"
console=ttyAMA0
root=/dev/vda
qemu=qemu-system-aarch64
install: qemu-system-arm
# It's possible to use: opts="-M raspi2b" dtb=bcm2709-rpi-2-b.dtb root=/dev/mmcblk0
# but since power-off is unreliable anyway (until QEMU 6.2) use simpler virt machine.
- args: image=arm32v7/ubuntu:jammy
platform=linux/arm/v7
opts="-M virt"
console=ttyAMA0
root=/dev/vda
kernel="linux-raspi linux-modules-extra-raspi"
qemu=qemu-system-arm
install: qemu-system-arm
steps:
- uses: docker/setup-qemu-action@v2
- run: sudo apt-get update
# It's possible to update QEMU to (6.0) on focal (ubuntu-20.04) with
# add-apt-repository ppa:canonical-server/server-backports
# but this is still not enough to boot & power-off raspi2b properly.
- run: sudo apt-get install -y qemu-utils e2fsprogs expect ${{ matrix.install }}
- uses: actions/checkout@v3
- name: Enable LKRG debugging options
run: |
sed -i '/P_LKRG_JUMP_LABEL_STEXT_DEBUG/s/\/\///' src/modules/print_log/p_lkrg_print_log.h
git diff
- name: Build and boot test image
run: .github/workflows/docker-boot.sh ${{ matrix.args }} 2>&1 | tr -d '\r' | tee boot.log
- name: Check boot.log for 'LKRG initialized successfully'
run: |
grep 'Linux version' boot.log
grep 'LKRG initialized successfully' boot.log
- name: Check that boot.log does not contain problems
run:
"! grep -v 'The requested image.s platform .* does not match the detected host platform' boot.log |
grep -E 'Kernel panic|BUG:|WARNING:|ALERT:|FAULT:|FATAL:|Oops|Call Trace'"
- name: Check that boot-tests script finished successfully
run: grep 'run-boot-tests.sh - SUCCESS' boot.log
- name: Check that boot.log contains shutdown sequence
run: |
grep 'sysrq: Power Off' boot.log
grep 'reboot: Power down' boot.log
# vim: sw=4