Skip to content

refactor(paging): introduce 4-level paging (wip) #1190

refactor(paging): introduce 4-level paging (wip)

refactor(paging): introduce 4-level paging (wip) #1190

Workflow file for this run

name: Check
on: [push]
jobs:
clippy:
runs-on: [self-hosted, linux]
steps:
- uses: actions/checkout@v4
- name: Macros
working-directory: macros
run: cargo clippy --all-features --all-targets
- name: Utils
working-directory: utils
run: cargo clippy --all-features --all-targets
- name: Kernel
working-directory: kernel
run: |
cp default.build-config.toml build-config.toml
cargo clippy --all-features --all-targets
- name: Integration tests
working-directory: inttest
run: cargo clippy --all-features --all-targets
format:
runs-on: [self-hosted, linux]
needs: clippy
steps:
- name: Macros
working-directory: macros
run: cargo fmt --check
- name: Utils
working-directory: utils
run: cargo fmt --check
- name: Kernel
working-directory: kernel
run: cargo fmt --check
- name: Integration tests
working-directory: inttest
run: cargo fmt --check
book:
runs-on: [self-hosted, linux]
needs: clippy
steps:
- name: Build book
run: mdbook build doc/
documentation:
runs-on: [self-hosted, linux]
needs: clippy
strategy:
fail-fast: false
matrix:
arch: ["x86", "x86_64"]
steps:
- name: Build references
working-directory: kernel
run: cargo doc --target arch/${{ matrix.arch }}/${{ matrix.arch }}.json
build:
runs-on: [self-hosted, linux]
needs: clippy
strategy:
fail-fast: false
matrix:
arch: ["x86", "x86_64"]
steps:
- name: Debug
working-directory: kernel
run: cargo build --target arch/${{ matrix.arch }}/${{ matrix.arch }}.json
- name: Check Multiboot2 (debug)
working-directory: kernel
run: grub-file --is-x86-multiboot2 target/${{ matrix.arch }}/debug/maestro
- name: Release
working-directory: kernel
run: cargo build --target arch/${{ matrix.arch }}/${{ matrix.arch }}.json --release
- name: Check Multiboot2 (release)
working-directory: kernel
run: grub-file --is-x86-multiboot2 target/${{ matrix.arch }}/release/maestro
strace:
runs-on: [self-hosted, linux]
needs: build
strategy:
fail-fast: false
matrix:
arch: ["x86", "x86_64"]
steps:
- name: Build
working-directory: kernel
run: cargo build --target arch/${{ matrix.arch }}/${{ matrix.arch }}.json --features strace
- name: Check Multiboot2 for x86
working-directory: kernel
run: grub-file --is-x86-multiboot2 target/x86/debug/maestro
miri:
runs-on: [self-hosted, linux]
needs: build
steps:
- name: Utils
working-directory: utils
env:
MIRIFLAGS: -Zmiri-disable-stacked-borrows
run: cargo miri test
timeout-minutes: 10
selftest:
runs-on: [self-hosted, linux]
needs: build
strategy:
fail-fast: false
matrix:
arch: ["x86", "x86_64"]
steps:
- name: Run utils tests
working-directory: utils
run: cargo test
timeout-minutes: 10
- name: Run kernel tests
working-directory: kernel
env:
CARGOFLAGS: --target arch/${{ matrix.arch }}/${{ matrix.arch }}.json
run: ci/test.sh self
timeout-minutes: 10
inttest:
runs-on: [self-hosted, linux]
needs: build
strategy:
fail-fast: false
matrix:
arch:
- kernel: "x86"
user: "i686-unknown-linux-musl"
- kernel: "x86_64"
user: "x86_64-unknown-linux-musl"
steps:
- name: Build tests
working-directory: inttest
env:
TARGET: ${{ matrix.arch.user }}
run: |
./build.sh
mv disk ../kernel/qemu_disk
- name: Run
working-directory: kernel
env:
CARGOFLAGS: --target arch/${{ matrix.arch.kernel }}/${{ matrix.arch.kernel }}.json
run: ci/test.sh int
timeout-minutes: 10