@@ -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,51 @@ 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
+ steps :
158
+ - uses : actions/checkout@v4
159
+ - uses : dtolnay/rust-toolchain@stable
160
+ with :
161
+ toolchain : [nightly, nightly-2025-05-20]
162
+ components : rust-src, clippy
163
+ targets : x86_64-unknown-none, riscv64gc-unknown-none-elf, aarch64-unknown-none-softfloat, loongarch64-unknown-none-softfloat
164
+ - uses : Swatinem/rust-cache@v2
165
+ with :
166
+ shared-key : cargo-bin-cache
167
+ cache-targets : false
168
+ - name : Clippy for the default target
169
+ continue-on-error : ${ matrix.rust-toolchain == 'nightly' }
170
+ run : make clippy
171
+
172
+ - run : cargo install cargo-binutils
173
+ - name : Build helloworld
174
+ continue-on-error : ${ matrix.rust-toolchain == 'nightly' }
175
+ run : make A=examples/helloworld
176
+
177
+ # Test for other platforms
178
+ - run : make PLATFORM=x86_64-pc-oslab defconfig
179
+ - name : Build helloworld for x86_64-pc-oslab
180
+ continue-on-error : ${ matrix.rust-toolchain == 'nightly' }
181
+ run : make PLATFORM=x86_64-pc-oslab A=examples/helloworld
182
+ - name : Build shell for x86_64-pc-oslab
183
+ continue-on-error : ${ matrix.rust-toolchain == 'nightly' }
184
+ run : make PLATFORM=x86_64-pc-oslab A=examples/shell FEATURES=page-alloc-4g,driver-ramdisk
185
+
186
+ - run : make PLATFORM=aarch64-raspi4 defconfig
187
+ - name : Build helloworld for aarch64-raspi4
188
+ continue-on-error : ${ matrix.rust-toolchain == 'nightly' }
189
+ run : make PLATFORM=aarch64-raspi4 SMP=4 A=examples/helloworld
190
+
191
+ - run : make PLATFORM=aarch64-bsta1000b defconfig
192
+ - name : Build helloworld for aarch64-bsta1000b
193
+ continue-on-error : ${ matrix.rust-toolchain == 'nightly' }
194
+ run : make PLATFORM=aarch64-bsta1000b A=examples/helloworld SMP=8
195
+
196
+ - run : make PLATFORM=aarch64-phytium-pi defconfig
197
+ - name : Build helloworld for aarch64-phytium-pi
198
+ continue-on-error : ${ matrix.rust-toolchain == 'nightly' }
199
+ run : make PLATFORM=aarch64-phytium-pi A=examples/helloworld SMP=4
0 commit comments