-
Notifications
You must be signed in to change notification settings - Fork 2
159 lines (156 loc) · 5.41 KB
/
test.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
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: 3
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: 3
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