Skip to content

update

update #240

Workflow file for this run

name: Test Kernel
on:
workflow_dispatch:
push:
jobs:
test-build:
# if: ${{ contains(github.event.head_commit.message, 'git subrepo')}}
runs-on: ubuntu-latest
container:
image: trustworthysystems/sel4
volumes:
- .:/code
strategy:
matrix:
arch: [riscv64, aarch64]
mcs: [OFF, ON]
steps:
- uses: actions/checkout@v4
with:
path: rel4_kernel
- uses: actions/checkout@v4
with:
ref: "mi_dev"
path: kernel
repository: rel4team/seL4_c_impl
- name: Install generaic tools
run: apt update && apt install -y wget gcc-${{ matrix.arch }}-linux-gnu
- uses: actions-rust-lang/setup-rust-toolchain@v1
with:
toolchain: nightly-2024-02-01
components: rust-src
rustflags:
- name: Adapt dependencies
run: |
cd rel4_kernel
cargo update -p home --precise 0.5.5
- name: Make rel4_kernel
run: cd rel4_kernel/kernel && make ARCH=${{ matrix.arch }} run
- name: Build kernel
run: cd kernel && cmake cmake -DCROSS_COMPILER_PREFIX=${{ matrix.arch }}-linux-gnu- -DMCS=${{matrix.mcs}} -C kernel-settings-${{ matrix.arch }}.cmake -G Ninja -S . -B build
- name: Build Kernel
run: cd kernel && ninja -C build
sel4-test:
# if: ${{ contains(github.event.head_commit.message, 'git subrepo')}}
runs-on: ubuntu-latest
strategy:
matrix:
platform: [spike, qemu-arm-virt]
include:
- platform: qemu-arm-virt
arch: aarch64
- platform: spike
arch: riscv64
container:
image: yfblock/rel4-dev:1.2
options: --user=root
defaults:
run:
working-directory: ./sel4-test
steps:
- run: mkdir sel4-test
working-directory: .
- uses: actions-rust-lang/setup-rust-toolchain@v1
with:
toolchain: nightly-2024-02-01
components: rust-src rustfmt
rustflags:
target: riscv64imac-unknown-none-elf aarch64-unknown-none-softfloat
- name: Install qemu
run: apt update && apt -y install qemu-system-misc qemu-system-aarch64
- name: Clone Menifest && Sync repositories
run: |
repo init -u https://github.com/rel4team/sel4test-manifest.git -b ci-test
sed -i "19c\ \t<project name=\"mi-dev-integral-rel4.git\" path=\"rel4_kernel\" revision=\"${{ github.sha }}\" remote=\"seL4_kernel\" upstream=\"mi_dev\" dest-branch=\"mi_dev\"/>" .repo/manifests/default.xml
repo sync
- run: cd kernel && git checkout mi_dev
- name: Adapt dependencies
run: |
cd rel4_kernel
cargo update -p home --precise 0.5.5
# - run: cd rel4_kernel && git checkout mi_dev
- name: Build
env:
ARCH: ${{ matrix.arch }}
PLATFORM: ${{ matrix.platform }}
run: |
echo $ARCH
echo $PLATFORM
cd rel4_kernel && ./build.py -p $PLATFORM -m off
- name: simulate
env:
ARCH: ${{ matrix.arch }}
PLATFORM: ${{ matrix.platform }}
run: cd rel4_kernel/build && ./simulate > 1.log
timeout-minutes: 2
continue-on-error: true
- run: cat rel4_kernel/build/1.log
- name: Check Result
run: rel4_kernel/.github/workflows/parse.py rel4_kernel/build/1.log
sel4-test-mcs:
# if: ${{ contains(github.event.head_commit.message, 'git subrepo')}}
runs-on: ubuntu-latest
strategy:
matrix:
platform: [spike, qemu-arm-virt]
include:
- platform: qemu-arm-virt
arch: aarch64
- platform: spike
arch: riscv64
container:
image: yfblock/rel4-dev:1.2
options: --user=root
defaults:
run:
working-directory: ./sel4-test
steps:
- run: mkdir sel4-test
working-directory: .
- uses: actions-rust-lang/setup-rust-toolchain@v1
with:
toolchain: nightly-2024-02-01
components: rust-src rustfmt
rustflags:
target: riscv64imac-unknown-none-elf aarch64-unknown-none-softfloat
- name: Install qemu
run: apt update && apt -y install qemu-system-misc qemu-system-aarch64
- name: Clone Menifest && Sync repositories
run: |
repo init -u https://github.com/rel4team/sel4test-manifest.git -b ci-test
sed -i "19c\ \t<project name=\"mi-dev-integral-rel4.git\" path=\"rel4_kernel\" revision=\"${{ github.sha }}\" remote=\"seL4_kernel\" upstream=\"mi_dev\" dest-branch=\"mi_dev\"/>" .repo/manifests/default.xml
repo sync
- run: cd kernel && git checkout mi_dev
# - run: cd rel4_kernel && git checkout mi_dev
- name: Adapt dependencies
run: |
cd rel4_kernel
cargo update -p home --precise 0.5.5
- name: Build
env:
ARCH: ${{ matrix.arch }}
PLATFORM: ${{ matrix.platform }}
run: |
echo $ARCH
echo $PLATFORM
cd rel4_kernel && ./build.py -p $PLATFORM -m on
- name: simulate
env:
ARCH: ${{ matrix.arch }}
PLATFORM: ${{ matrix.platform }}
run: cd rel4_kernel/build && ./simulate > 1.log
timeout-minutes: 2
continue-on-error: true
- run: cat rel4_kernel/build/1.log
- name: Check Result
run: rel4_kernel/.github/workflows/parse.py rel4_kernel/build/1.log