Skip to content

Various fixes & improvements #530

Various fixes & improvements

Various fixes & improvements #530

Workflow file for this run

name: CI
on: [push, pull_request]
concurrency:
group: ${{ github.head_ref || format('{0}-{1}', github.ref, github.run_number) }}
cancel-in-progress: true
jobs:
build:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: true
matrix:
os: [ubuntu-latest, macos-latest]
platform: [bios, uefi]
toolchain: [gcc, clang]
arch: [i686, amd64, aarch64]
exclude:
# FIXME: the GCC build somehow ends up being corrupted with
# libexec/cc1 containing garbage data.
- os: macos-latest
toolchain: gcc
- arch: i686
platform: uefi
- arch: amd64
platform: bios
- arch: aarch64
platform: bios
# GCC (or at least ld) doesn't support aarch64 mingw
- arch: aarch64
toolchain: gcc
steps:
- uses: actions/checkout@v3
with:
submodules: true
- if: ${{ matrix.toolchain == 'gcc' }}
name: Restore cache
uses: actions/[email protected]
env:
gcc-version: 13.2.0
with:
path: "${{ github.workspace }}/toolchain/tools_${{ matrix.arch }}_${{ matrix.platform }}_gcc"
key: "${{ runner.os }}-${{ runner.arch }}-${{ matrix.arch }}-${{ matrix.platform }}-gcc-${{ env.gcc-version }}"
- name: Build platform toolchain & Hyper
run: "${{ github.workspace }}/build.py --arch ${{ matrix.arch }} --platform ${{ matrix.platform }} --toolchain ${{ matrix.toolchain }} --fetch-test-dependencies --no-tune-native --e9-debug-log=on"
- name: Build test kernel
run: ${{ github.workspace }}/tests/kernel/build.sh
- name: Run tests
run: python3 -m pytest ${{ github.workspace }}/tests/test_loader.py -rs -s -v --junitxml result.xml
- name: Publish test results
uses: mikepenz/action-junit-report@v3
if: always()
with:
report_paths: result.xml