UBUNTU: [Packaging] Initial packaging #1
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: | |
| pull_request: | |
| jobs: | |
| build: | |
| name: ${{ matrix.runs-on == 'ubuntu-latest' && 'x86_64' || 'ARM64' }} - ${{ matrix.config }} | |
| runs-on: ${{ matrix.runs-on }} | |
| strategy: | |
| matrix: | |
| include: | |
| - runs-on: ubuntu-latest | |
| config: defconfig | |
| - runs-on: ubuntu-24.04-arm | |
| config: config_4k | |
| - runs-on: ubuntu-24.04-arm | |
| config: config_64k | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 0 | |
| - name: Install Dependencies | |
| run: | | |
| sudo apt-get update -y | |
| sudo 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 libasound2-dev \ | |
| libdrm-dev linux-headers-generic linux-tools-common linux-tools-generic \ | |
| make ninja-build pahole pkg-config python3-dev python3-pip \ | |
| python3-requests qemu-kvm qemu-system-arm rsync stress-ng udev zstd \ | |
| libseccomp-dev libcap-ng-dev llvm-19 clang-19 python3-full curl \ | |
| bpftrace dwarves gcc-aarch64-linux-gnu binutils-aarch64-linux-gnu | |
| - name: Install virtme-ng | |
| run: | | |
| git clone https://github.com/arighi/virtme-ng.git | |
| cd virtme-ng | |
| VNG_PACKAGE=1 BUILD_VIRTME_NG_INIT=1 pip install --break-system-packages . | |
| cd - | |
| - name: Configure Kernel | |
| run: | | |
| if [ "${{ matrix.config }}" = "defconfig" ]; then | |
| vng -vb --kconfig | |
| else | |
| vng -vb --kconfig --config .github/workflows/${{ matrix.config }} --arch arm64 CROSS_COMPILE=aarch64-linux-gnu- ARCH=arm64 | |
| fi | |
| # Ensure WERROR is disabled | |
| ./scripts/config --disable CONFIG_WERROR | |
| # Disable certificate verification | |
| ./scripts/config --disable SYSTEM_TRUSTED_KEYS | |
| ./scripts/config --disable SYSTEM_REVOCATION_KEYS "" | |
| - name: Build Kernel | |
| run: | | |
| if [ "${{ matrix.config }}" = "defconfig" ]; then | |
| vng -vb | |
| else | |
| vng -vb --arch arm64 CROSS_COMPILE=aarch64-linux-gnu- ARCH=arm64 | |
| fi | |
| - name: Build kselftest | |
| run: | | |
| if [ "${{ matrix.config }}" = "defconfig" ]; then | |
| make -C tools/testing/selftests | |
| else | |
| make -C tools/testing/selftests CROSS_COMPILE=aarch64-linux-gnu- ARCH=arm64 | |
| fi | |
| - name: Boot test | |
| run: | | |
| if [ "${{ matrix.config }}" = "defconfig" ]; then | |
| vng -v -m 4G -- uname -a | |
| else | |
| vng --arch arm64 --root ./arm64 -v -m 4G -- uname -a | |
| fi |