@@ -13,20 +13,29 @@ jobs:
13
13
matrix :
14
14
rust-toolchain : [nightly, nightly-2025-05-20]
15
15
arch : [x86_64, riscv64, aarch64, loongarch64]
16
+ include :
17
+ - arch : x86_64
18
+ target : x86_64-unknown-none
19
+ - arch : riscv64
20
+ target : riscv64gc-unknown-none-elf
21
+ - arch : aarch64
22
+ target : aarch64-unknown-none-softfloat
23
+ - arch : loongarch64
24
+ target : loongarch64-unknown-none-softfloat
16
25
steps :
17
26
- uses : actions/checkout@v4
18
27
- uses : dtolnay/rust-toolchain@stable
19
28
with :
20
29
toolchain : ${{ matrix.rust-toolchain }}
21
30
components : rust-src, clippy, rustfmt
22
- targets : x86_64-unknown-none, riscv64gc-unknown-none-elf, aarch64-unknown-none, aarch64-unknown-none-softfloat, loongarch64-unknown-none
23
- - name : Setup ArceOS
24
- run : ./scripts/get_deps.sh
31
+ targets : ${{ matrix.target }}
25
32
- name : Check rust version
26
33
run : rustc --version --verbose
27
34
- uses : arceos-org/setup-musl@v1
28
35
with :
29
36
arch : ${{ matrix.arch }}
37
+ - name : Setup ArceOS
38
+ run : ./scripts/get_deps.sh
30
39
- name : Check code format
31
40
continue-on-error : ${{ matrix.rust-toolchain == 'nightly' }}
32
41
run : cargo fmt --all -- --check
@@ -35,86 +44,110 @@ jobs:
35
44
run : make clippy ARCH=${{ matrix.arch }}
36
45
37
46
build :
38
- runs-on : ${{ matrix.os }}
47
+ runs-on : ubuntu-latest
39
48
strategy :
40
49
fail-fast : false
41
50
matrix :
42
- os : [ubuntu-latest]
43
51
arch : [x86_64, riscv64, aarch64, loongarch64]
44
52
rust-toolchain : [nightly, nightly-2025-05-20]
53
+ include :
54
+ - arch : x86_64
55
+ target : x86_64-unknown-none
56
+ - arch : riscv64
57
+ target : riscv64gc-unknown-none-elf
58
+ - arch : aarch64
59
+ target : aarch64-unknown-none-softfloat
60
+ - arch : loongarch64
61
+ target : loongarch64-unknown-none-softfloat
45
62
steps :
46
63
- uses : actions/checkout@v4
47
64
- uses : dtolnay/rust-toolchain@stable
48
65
with :
49
66
toolchain : ${{ matrix.rust-toolchain }}
50
67
components : rust-src, llvm-tools
51
- targets : x86_64-unknown-none, riscv64gc-unknown-none-elf, aarch64-unknown-none, aarch64-unknown-none-softfloat, loongarch64-unknown-none
68
+ targets : ${{ matrix.target }}
52
69
- uses : Swatinem/rust-cache@v2
53
70
with :
54
71
shared-key : cargo-bin-cache
55
72
cache-targets : false
56
- - run : cargo install cargo-binutils
57
- - run : ./scripts/get_deps.sh
58
73
- uses : arceos-org/setup-musl@v1
59
74
with :
60
75
arch : ${{ matrix.arch }}
76
+ - name : Setup ArceOS
77
+ run : ./scripts/get_deps.sh
61
78
- name : Build for ${{ matrix.arch }}
62
79
continue-on-error : ${{ matrix.rust-toolchain == 'nightly' }}
63
80
run : make ARCH=${{ matrix.arch }} build
64
81
65
82
test-musl :
66
- runs-on : ${{ matrix.os }}
83
+ runs-on : ubuntu-latest
67
84
strategy :
68
85
fail-fast : false
69
86
matrix :
70
- os : [ubuntu-latest]
71
87
arch : [x86_64, riscv64, aarch64, loongarch64]
72
88
rust-toolchain : [nightly-2025-05-20]
89
+ include :
90
+ - arch : x86_64
91
+ target : x86_64-unknown-none
92
+ - arch : riscv64
93
+ target : riscv64gc-unknown-none-elf
94
+ - arch : aarch64
95
+ target : aarch64-unknown-none-softfloat
96
+ - arch : loongarch64
97
+ target : loongarch64-unknown-none-softfloat
73
98
steps :
74
99
- uses : actions/checkout@v4
75
100
- uses : dtolnay/rust-toolchain@stable
76
101
with :
77
102
toolchain : ${{ matrix.rust-toolchain }}
78
103
components : rust-src, llvm-tools
104
+ targets : ${{ matrix.target }}
79
105
- uses : Swatinem/rust-cache@v2
80
106
with :
81
107
shared-key : cargo-bin-cache
82
108
cache-targets : false
83
- - run : cargo install cargo-binutils
84
- - run : ./scripts/get_deps.sh
85
109
- uses : arceos-org/setup-musl@v1
86
110
with :
87
111
arch : ${{ matrix.arch }}
88
112
- uses : arceos-org/setup-qemu@v1
89
113
with :
90
114
version : ${{ env.qemu-version }}
91
115
arch_list : x86_64,aarch64,riscv64,loongarch64
116
+ - name : Setup ArceOS
117
+ run : ./scripts/get_deps.sh
92
118
- name : Build rustup target
93
119
if : ${{ matrix.arch != 'riscv64' }}
94
120
run : rustup target add ${{ matrix.arch }}-unknown-linux-musl
95
121
- name : Run tests for musl applications
96
122
run : make test ARCH=${{ matrix.arch }}
97
123
98
124
test-oscomp :
99
- runs-on : ${{ matrix.os }}
125
+ runs-on : ubuntu-latest
100
126
strategy :
101
127
fail-fast : false
102
128
matrix :
103
- os : [ubuntu-latest]
104
129
arch : [x86_64, riscv64, aarch64, loongarch64]
105
130
rust-toolchain : [nightly-2025-05-20]
131
+ include :
132
+ - arch : x86_64
133
+ target : x86_64-unknown-none
134
+ - arch : riscv64
135
+ target : riscv64gc-unknown-none-elf
136
+ - arch : aarch64
137
+ target : aarch64-unknown-none-softfloat
138
+ - arch : loongarch64
139
+ target : loongarch64-unknown-none-softfloat
106
140
steps :
107
141
- uses : actions/checkout@v4
108
142
- uses : dtolnay/rust-toolchain@stable
109
143
with :
110
144
toolchain : ${{ matrix.rust-toolchain }}
111
145
components : rust-src, llvm-tools
146
+ targets : ${{ matrix.target }}
112
147
- uses : Swatinem/rust-cache@v2
113
148
with :
114
149
shared-key : cargo-bin-cache
115
150
cache-targets : false
116
- - run : cargo install cargo-binutils
117
- - run : ./scripts/get_deps.sh
118
151
- uses : arceos-org/setup-musl@v1
119
152
with :
120
153
arch : ${{ matrix.arch }}
@@ -131,6 +164,8 @@ jobs:
131
164
gunzip sdcard-${{ matrix.arch }}.img.gz
132
165
- name : Build python environment
133
166
run : sudo apt-get install -y python3 python3-pip
167
+ - name : Setup ArceOS
168
+ run : ./scripts/get_deps.sh
134
169
- name : Run tests for oscomp musl testcases
135
170
run : make oscomp_test ARCH=${{ matrix.arch }} LIBC=musl
136
171
- name : Run tests for oscomp glibc testcases
0 commit comments