forked from oscomp/arceos
-
Notifications
You must be signed in to change notification settings - Fork 0
53 lines (49 loc) · 1.68 KB
/
Copy pathtest.yml
File metadata and controls
53 lines (49 loc) · 1.68 KB
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
name: Test CI
on: [push, pull_request]
env:
qemu-version: 9.2.1
rust-toolchain: nightly-2025-01-18
arceos-apps: 'c8d8fe4'
jobs:
unit-test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
with:
toolchain: ${{ env.rust-toolchain }}
components: rust-src
- uses: Swatinem/rust-cache@v2
- name: Run unit tests
run: make unittest_no_fail_fast
app-test:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest]
arch: [x86_64, riscv64, aarch64, loongarch64]
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
with:
toolchain: ${{ env.rust-toolchain }}
components: rust-src
- uses: Swatinem/rust-cache@v2
- run: cargo install cargo-binutils
- uses: ./.github/workflows/actions/setup-qemu
with:
qemu-version: ${{ env.qemu-version }}
- uses: ./.github/workflows/actions/setup-musl
with:
arch: ${{ matrix.arch }}
- name: Run app tests
run: |
make disk_img
git clone https://github.com/arceos-org/arceos-apps.git
cd arceos-apps && git reset --hard ${{ env.arceos-apps }} && cd ..
echo '[patch.crates-io]' >> arceos-apps/Cargo.toml
echo 'page_table_multiarch = { git = "https://github.com/Mivik/page_table_multiarch.git", rev = "19ededd" }' >> arceos-apps/Cargo.toml
echo 'page_table_entry = { git = "https://github.com/Mivik/page_table_multiarch.git", rev = "19ededd" }' >> arceos-apps/Cargo.toml
make -C arceos-apps chaxroot AX_ROOT=$(pwd)
make -C arceos-apps test ARCH=${{ matrix.arch }}