55 build-linux :
66 strategy :
77 matrix :
8- compiler : [gcc, clang ]
9- arch : [i386, amd64 ]
10- config : [Debug, Release ]
11- dllver : ['0x502', '0x600' ]
8+ compiler : [gcc]
9+ arch : [i386]
10+ config : [Debug]
11+ dllver : ['0x502']
1212 exclude :
1313 - dllver : 0x600
1414 compiler : clang
7171 run : echo 'cmake --build ${{github.workspace}}/build -- -k0' | ${{github.workspace}}/RosBE-CI/RosBE.sh . 0 ${{matrix.arch}}
7272 - name : Generate ISOs
7373 run : echo 'cmake --build ${{github.workspace}}/build --target bootcd --target livecd' | ${{github.workspace}}/RosBE-CI/RosBE.sh . 0 ${{matrix.arch}}
74+ - name : Generate PC-98 boot floppy
75+ run : echo 'cmake --build ${{github.workspace}}/build --target pc98bootfdd' | ${{github.workspace}}/RosBE-CI/RosBE.sh . 0 ${{matrix.arch}}
7476 - name : Print ccache statistics
7577 run : ccache -s
7678 - name : Upload ISOs
@@ -80,15 +82,17 @@ jobs:
8082 path : |
8183 build/bootcd.iso
8284 build/livecd.iso
85+ build/PC98/ReactOS-98.IMG
86+ build/RAM/ramcd.iso
8387
8488 build-msvc :
8589 strategy :
8690 matrix :
8791 os : [windows-latest]
88- toolset : ['14','14 .2'] # VS 2022, and 2019 (see below)
89- arch : [i386, amd64 ]
90- config : [Debug, Release ]
91- dllver : ['0x502', '0x600' ]
92+ toolset : ['14.2'] # VS 2022, and 2019 (see below)
93+ arch : [i386]
94+ config : [Debug]
95+ dllver : ['0x502']
9296 exclude : # Build NT6 ISOs only with the latest toolset when compiled as a debug build
9397 - dllver : 0x600
9498 toolset : 14.2
@@ -128,210 +132,20 @@ jobs:
128132 run : cmake --build build -- -k0
129133 - name : Generate ISOs
130134 run : cmake --build build --target bootcd --target livecd
135+ - name : Generate PC-98 boot floppy
136+ run : cmake --build build --target pc98bootfdd
131137 - name : Upload ISOs
132138 uses : actions/upload-artifact@v5
133139 with :
134140 name : reactos-msvc${{matrix.toolset}}-${{matrix.arch}}-${{matrix.config}}-${{matrix.dllver}}-${{github.sha}}
135141 path : |
136142 build/bootcd.iso
137143 build/livecd.iso
144+ build/PC98/ReactOS-98.IMG
145+ build/RAM/ramcd.iso
138146 - name : Upload debug symbols
139147 if : ${{ matrix.config == 'Debug' }}
140148 uses : actions/upload-artifact@v5
141149 with :
142150 name : reactos-syms-msvc${{matrix.toolset}}-${{matrix.arch}}-${{matrix.config}}-${{matrix.dllver}}-${{github.sha}}
143151 path : build/msvc_pdb
144-
145- build-msvc-arm :
146- strategy :
147- matrix :
148- os : [windows-2022, windows-latest]
149- toolset : ['14', '14.29'] # VS 2022 (ongoing), 2019 (last)
150- arch : [arm, arm64]
151- config : [Debug, Release]
152- exclude :
153- # arm64: windows-latest is enough/fine.
154- - os : windows-2022
155- arch : arm64
156- # arm (sdk): only available on windows-2022.
157- - os : windows-latest
158- arch : arm
159- fail-fast : false
160- runs-on : ${{matrix.os}}
161- steps :
162- - name : Install ninja
163- run : choco install -y ninja
164- - name : Install Flex & Bison
165- run : |
166- curl -O https://svn.reactos.org/storage/vperevertkin/flexbison.7z
167- 7z x flexbison.7z -O${{github.workspace}}\bin
168- echo "${{github.workspace}}\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
169- echo "BISON_PKGDATADIR=${{github.workspace}}\bin\share\bison" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
170- echo "M4=${{github.workspace}}\bin\m4.exe" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
171- - name : Activate VS cmd (arm)
172- if : ${{ matrix.arch == 'arm' }}
173- uses : ilammy/msvc-dev-cmd@v1
174- with :
175- arch : amd64_arm
176- sdk : 10.0.22621.0 # Windows SDK 10.0.26100.0 dropped support for 32-bit ARM
177- toolset : ${{matrix.toolset}}
178- - name : Activate VS cmd (arm64)
179- if : ${{ matrix.arch == 'arm64' }}
180- uses : ilammy/msvc-dev-cmd@v1
181- with :
182- arch : amd64_arm64
183- toolset : ${{matrix.toolset}}
184- - name : Source checkout
185- uses : actions/checkout@v6
186- with :
187- path : src
188- - name : Configure
189- run : cmake -S src -B build -G Ninja -DCMAKE_TOOLCHAIN_FILE:FILEPATH=toolchain-msvc.cmake -DARCH:STRING=${{matrix.arch}} -DCMAKE_BUILD_TYPE=${{matrix.config}} -DENABLE_ROSTESTS=1 -DENABLE_ROSAPPS=1
190- - name : Build base module
191- if : ${{ matrix.arch == 'arm' }}
192- run : cmake --build build --target base/all
193- - name : Build dll:3rdparty
194- if : ${{ matrix.arch == 'arm' }}
195- run : cmake --build build --target dll/3rdparty/all -- -k0
196- - name : Build control panel applets
197- if : ${{ matrix.arch == 'arm' }}
198- run : cmake --build build --target dll/cpl/all
199- - name : Build dll:opengl
200- if : ${{ matrix.arch == 'arm' }}
201- run : cmake --build build --target dll/opengl/all -- -k0
202- - name : Build dll:shellext
203- if : ${{ matrix.arch == 'arm' }}
204- run : cmake --build build --target dll/shellext/all -- -k0
205- - name : Build drivers:base
206- if : ${{ matrix.arch == 'arm' }}
207- run : cmake --build build --target drivers/base/all -- -k0
208- - name : Build rosapps
209- if : ${{ matrix.arch == 'arm' }}
210- run : cmake --build build --target modules/rosapps/all
211- - name : Build subsystems
212- if : ${{ matrix.arch == 'arm' }}
213- run : cmake --build build --target subsystems/all
214- - name : Build some applications (arm64)
215- if : ${{ matrix.arch == 'arm64' }}
216- run : cmake --build build --target calc magnify mstsc notepad osk regedit taskmgr winmine wordpad base/applications/screensavers/all -- -k0
217- - name : Build control panel applets (arm64)
218- if : ${{ matrix.arch == 'arm64' }}
219- run : cmake --build build --target dll/cpl/all -- -k0
220- - name : Upload compiled binaries
221- uses : actions/upload-artifact@v5
222- with :
223- name : reactos-msvc${{matrix.toolset}}-${{matrix.arch}}-${{matrix.config}}-${{github.sha}}
224- path : |
225- build/base
226- build/dll/3rdparty
227- build/dll/cpl
228- build/dll/opengl
229- build/dll/shellext
230- build/drivers/base
231- build/modules/rosapps
232- build/subsystems
233- !**/CMakeFiles
234- !**/cmake_install.cmake
235- !**/*.asm
236- !**/*.bin
237- !**/*.c
238- !**/*.def
239- !**/*.exp
240- !**/*.h
241- !**/*.lib
242- !**/*.mc
243- !**/*.obj
244- !**/*.rc
245- !**/*.tlb
246- - name : Upload debug symbols
247- if : ${{ matrix.config == 'Debug' }}
248- uses : actions/upload-artifact@v5
249- with :
250- name : reactos-syms-msvc${{matrix.toolset}}-${{matrix.arch}}-${{matrix.config}}-${{github.sha}}
251- path : build/msvc_pdb
252-
253- # FIXME: Does not boot on toolset 14.1, 14.3+ is untested
254- build-clang-cl :
255- strategy :
256- matrix :
257- arch : [i386, amd64]
258- config : [Debug, Release]
259- fail-fast : false
260- runs-on : windows-latest
261- steps :
262- - name : Install ninja
263- run : choco install -y ninja
264- - name : Install LLVM
265- run : |
266- choco install -y --allow-downgrade llvm --version 13.0.1
267- echo "LLVM_PATH=${env:PROGRAMFILES}\llvm\bin" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
268- - name : Install Flex & Bison
269- run : |
270- curl -O https://svn.reactos.org/storage/vperevertkin/flexbison.7z
271- 7z x flexbison.7z -O${{github.workspace}}\bin
272- echo "${{github.workspace}}\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
273- echo "BISON_PKGDATADIR=${{github.workspace}}\bin\share\bison" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
274- echo "M4=${{github.workspace}}\bin\m4.exe" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
275- - name : Activate VS cmd (x86)
276- if : ${{ matrix.arch == 'i386' }}
277- uses : ilammy/msvc-dev-cmd@v1
278- with :
279- arch : amd64_x86
280- toolset : ' 14'
281- - name : Activate VS cmd (amd64)
282- if : ${{ matrix.arch == 'amd64' }}
283- uses : ilammy/msvc-dev-cmd@v1
284- with :
285- arch : amd64
286- toolset : ' 14'
287- - name : Add LLVM to PATH
288- run : echo "${env:LLVM_PATH}" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
289- - name : Source checkout
290- uses : actions/checkout@v6
291- with :
292- path : src
293- - name : Configure
294- run : cmake -S src -B build -G Ninja -DCMAKE_TOOLCHAIN_FILE:FILEPATH=toolchain-msvc.cmake -DARCH:STRING=${{matrix.arch}} -DCMAKE_BUILD_TYPE=${{matrix.config}} -DENABLE_ROSTESTS=1 -DENABLE_ROSAPPS=1 -DUSE_CLANG_CL:BOOL=TRUE
295- - name : Build
296- run : cmake --build build -- -k0
297- - name : Generate ISOs
298- run : cmake --build build --target bootcd --target livecd
299- - name : Upload ISOs
300- uses : actions/upload-artifact@v5
301- with :
302- name : reactos-clang-cl-${{matrix.arch}}-${{matrix.config}}-${{github.sha}}
303- path : |
304- build/bootcd.iso
305- build/livecd.iso
306- - name : Upload debug symbols
307- if : ${{ matrix.config == 'Debug' }}
308- uses : actions/upload-artifact@v5
309- with :
310- name : reactos-syms-clang-cl-${{matrix.arch}}-${{matrix.config}}-${{github.sha}}
311- path : build/msvc_pdb
312-
313- build-msbuild-i386 :
314- name : MSBuild (i386)
315- runs-on : windows-latest
316- steps :
317- - name : Install Flex and Bison
318- run : |
319- curl -O https://svn.reactos.org/storage/vperevertkin/flexbison.7z
320- 7z x flexbison.7z -O${{github.workspace}}\bin
321- echo "${{github.workspace}}\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
322- echo "BISON_PKGDATADIR=${{github.workspace}}\bin\share\bison" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
323- echo "M4=${{github.workspace}}\bin\m4.exe" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
324- - name : Add CL to PATH
325- uses : ilammy/msvc-dev-cmd@v1
326- with :
327- arch : amd64_x86
328- - uses : actions/checkout@v6
329- with :
330- path : src
331- - name : Configure
332- run : |
333- mkdir build
334- cd build
335- cmake -G "Visual Studio 17 2022" -A Win32 -DCMAKE_TOOLCHAIN_FILE:FILEPATH=toolchain-msvc.cmake -DARCH:STRING=i386 -DENABLE_ROSTESTS=1 -DENABLE_ROSAPPS=1 ${{github.workspace}}\src
336- - name : Build
337- run : cmake --build ${{github.workspace}}\build --target bootcd --target livecd
0 commit comments