ci: add github action #4
This file contains hidden or 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: Kernel Test | |
| on: | |
| push: | |
| branches: [ "*" ] | |
| pull_request: | |
| jobs: | |
| build-kernel: | |
| runs-on: ubuntu-latest | |
| name: Test Kernel on ARM64 (Ubuntu 24.04) | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - name: Set up QEMU for ARM64 emulation | |
| uses: docker/setup-qemu-action@v3 | |
| - name: Set up Docker Buildx | |
| uses: docker/setup-buildx-action@v3 | |
| - name: Install dependencies | |
| uses: addnab/docker-run-action@v3 | |
| with: | |
| image: arm64v8/ubuntu:24.04 | |
| options: --platform linux/arm64 | |
| run: | | |
| echo "==> Update and install build dependencies" | |
| apt-get update -y | |
| apt-get install -y build-essential flex bison libssl-dev bc \ | |
| bison busybox-static cmake coreutils virtme-ng \ | |
| cpio elfutils file gcc git iproute2 jq kbd kmod libcap-dev \ | |
| libelf-dev libunwind-dev libvirt-clients libzstd-dev \ | |
| linux-headers-generic linux-tools-common linux-tools-generic \ | |
| make ninja-build pahole pkg-config python3-dev python3-pip \ | |
| python3-requests qemu-kvm rsync stress-ng udev zstd \ | |
| libseccomp-dev libcap-ng-dev llvm-19 clang-19 python3-full curl \ | |
| meson bpftrace dwarves rustup protobuf-compiler | |
| echo "==> Install latest virtme-ng via pip" | |
| pip install --break-system-packages virtme-ng | |
| echo "==> Build kernel using virtme-ng" | |
| vng -vb | |
| echo "==> Boot kernel and run uname" | |
| vng -v -- uname -a |