@@ -38,11 +38,10 @@ jobs:
38
38
run : make clippy ARCH=${{ matrix.arch }}
39
39
40
40
build :
41
- runs-on : ${{ matrix.os }}
41
+ runs-on : ubuntu-latest
42
42
strategy :
43
43
fail-fast : false
44
44
matrix :
45
- os : [ubuntu-latest]
46
45
arch : [x86_64, riscv64, aarch64, loongarch64]
47
46
rust-toolchain : [nightly, nightly-2025-05-20]
48
47
env :
@@ -86,11 +85,10 @@ jobs:
86
85
run : make ARCH=${{ matrix.arch }} A=examples/httpserver-c
87
86
88
87
build-for-other-platforms :
89
- runs-on : ${{ matrix.os }}
88
+ runs-on : ubuntu-latest
90
89
strategy :
91
90
fail-fast : false
92
91
matrix :
93
- os : [ubuntu-latest]
94
92
rust-toolchain : [nightly, nightly-2025-05-20]
95
93
env :
96
94
RUSTUP_TOOLCHAIN : ${{ matrix.rust-toolchain }}
@@ -151,3 +149,53 @@ jobs:
151
149
continue-on-error : ${{ matrix.rust-toolchain == 'nightly' }}
152
150
run : make PLATFORM=x86_64-pc-oslab A=examples/httpserver-c FEATURES=page-alloc-4g,driver-ixgbe
153
151
152
+ # Necessary checks for macOS builds
153
+ build-for-macos :
154
+ runs-on : macos-latest
155
+ strategy :
156
+ fail-fast : false
157
+ matrix :
158
+ rust-toolchain : [nightly, nightly-2025-05-20]
159
+ steps :
160
+ - uses : actions/checkout@v4
161
+ - uses : dtolnay/rust-toolchain@stable
162
+ with :
163
+ toolchain : ${{ matrix.rust-toolchain }}
164
+ components : rust-src, clippy
165
+ targets : x86_64-unknown-none, riscv64gc-unknown-none-elf, aarch64-unknown-none-softfloat, loongarch64-unknown-none-softfloat
166
+ - uses : Swatinem/rust-cache@v2
167
+ with :
168
+ shared-key : cargo-bin-cache
169
+ cache-targets : false
170
+ - name : Clippy for the default target
171
+ continue-on-error : ${{ matrix.rust-toolchain == 'nightly' }}
172
+ run : make clippy
173
+
174
+ - run : cargo install cargo-binutils
175
+ - name : Build helloworld
176
+ continue-on-error : ${{ matrix.rust-toolchain == 'nightly' }}
177
+ run : make A=examples/helloworld
178
+
179
+ # Test for other platforms
180
+ - run : make PLATFORM=x86_64-pc-oslab defconfig
181
+ - name : Build helloworld for x86_64-pc-oslab
182
+ continue-on-error : ${{ matrix.rust-toolchain == 'nightly' }}
183
+ run : make PLATFORM=x86_64-pc-oslab A=examples/helloworld
184
+ - name : Build shell for x86_64-pc-oslab
185
+ continue-on-error : ${{ matrix.rust-toolchain == 'nightly' }}
186
+ run : make PLATFORM=x86_64-pc-oslab A=examples/shell FEATURES=page-alloc-4g,driver-ramdisk
187
+
188
+ - run : make PLATFORM=aarch64-raspi4 defconfig
189
+ - name : Build helloworld for aarch64-raspi4
190
+ continue-on-error : ${{ matrix.rust-toolchain == 'nightly' }}
191
+ run : make PLATFORM=aarch64-raspi4 SMP=4 A=examples/helloworld
192
+
193
+ - run : make PLATFORM=aarch64-bsta1000b defconfig
194
+ - name : Build helloworld for aarch64-bsta1000b
195
+ continue-on-error : ${{ matrix.rust-toolchain == 'nightly' }}
196
+ run : make PLATFORM=aarch64-bsta1000b A=examples/helloworld SMP=8
197
+
198
+ - run : make PLATFORM=aarch64-phytium-pi defconfig
199
+ - name : Build helloworld for aarch64-phytium-pi
200
+ continue-on-error : ${{ matrix.rust-toolchain == 'nightly' }}
201
+ run : make PLATFORM=aarch64-phytium-pi A=examples/helloworld SMP=4
0 commit comments