-
Notifications
You must be signed in to change notification settings - Fork 90
130 lines (125 loc) · 3.91 KB
/
ci.yml
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
name: CI
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
jobs:
basic-tests-xs:
runs-on: nemu
continue-on-error: false
timeout-minutes: 10
name: nemu - Basics for XiangShan
steps:
- uses: actions/checkout@v2
- name: Setup env
run: |
echo "NEMU_HOME=$GITHUB_WORKSPACE" >> $GITHUB_ENV
- name: Build NEMU interpreter for XS
run: |
make riscv64-xs_defconfig
make -j
- name: test boot linux
run: |
git submodule update --init ready-to-run
# test boot linux
./build/riscv64-nemu-interpreter -b ./ready-to-run/linux.bin
make clean-all
- name: test cpt taking and restoring
run: |
make riscv64-xs-novga_defconfig
make -j
cd resource/gcpt_restore && make && cd $NEMU_HOME
# take cpt, and put cpt in output_top/test/linux
bash ./scripts/take.sh
# restore cpt
bash ./scripts/restore.sh
make clean-all
- name: Build NEMU as difftest ref
run: |
make riscv64-xs-ref_defconfig
make -j
make clean-all
- name: Build NEMU as difftest dual ref
run: |
make riscv64-dual-xs-ref_defconfig
make -j
make clean-all
- name: Build NEMU with RVV
run: |
make riscv64-rvv_defconfig
make -j
./build/riscv64-nemu-interpreter -b ./ready-to-run/linux.bin
make clean-all
- name: Build NEMU as difftest rvv ref
run: |
make riscv64-rvv-ref_defconfig
make -j
make clean-all
basic-tests-nutshell:
runs-on: nemu
continue-on-error: false
timeout-minutes: 10
name: nemu - Basics for NutShell
steps:
- uses: actions/checkout@v2
- name: Setup env
run: |
echo "NEMU_HOME=$GITHUB_WORKSPACE" >> $GITHUB_ENV
- name: Build NEMU interpreter
run: |
make riscv64-nutshell_defconfig
make -j
- name: test boot linux
run: |
git submodule update --init ready-to-run
./build/riscv64-nemu-interpreter -b ./ready-to-run/linux.bin
make clean-all
- name: Build NEMU as difftest ref
run: |
make riscv64-nutshell-ref_defconfig
make -j
make clean-all
H-ext-tests:
runs-on: nemu
continue-on-error: false
name: nemu - H-extension
timeout-minutes: 60
steps:
- uses: actions/checkout@v2
- name: Setup env
run: |
echo "NEMU_HOME=$GITHUB_WORKSPACE" >> $GITHUB_ENV
echo "TEST_HOME=/nfs/home/share/ci-workloads/H-extension-tests" >> $GITHUB_ENV
- name: Build NEMU with H extension as difftest ref
run: |
make riscv64-rvh-ref_defconfig
make -j
make clean-all
- name: Run Xvisor
run: |
make riscv64-rvh_defconfig
echo "#define CONFIG_DETERMINISTIC 1" >> ./include/generated/autoconf.h
make -j
./build/riscv64-nemu-interpreter -b $TEST_HOME/xvisor
make clean-all
- name: Run KVM
run: |
make riscv64-rvh_defconfig
make -j
./build/riscv64-nemu-interpreter -b $TEST_HOME/kvm
make clean-all
- name: Run Xvisor with DiffTest
run: |
git submodule update --init ready-to-run
make riscv64-rvh-diff-spike_defconfig
echo "#define CONFIG_DETERMINISTIC 1" >> ./include/generated/autoconf.h
make -j
./build/riscv64-nemu-interpreter -b -d ./ready-to-run/riscv64-spike-H-ext-so $TEST_HOME/xvisor
make clean-all
# - name: Run KVM with DiffTest
# run: |
# make riscv64-rvh-diff-spike_defconfig
# make -j
# ./build/riscv64-nemu-interpreter -b -d $TEST_HOME/riscv64-spike-H-ext-so $TEST_HOME/kvm
# make clean-all