|
5 | 5 | build-linux: |
6 | 6 | strategy: |
7 | 7 | 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'] |
12 | 12 | exclude: |
13 | 13 | - dllver: 0x600 |
14 | 14 | compiler: clang |
@@ -80,231 +80,3 @@ jobs: |
80 | 80 | path: | |
81 | 81 | build/bootcd.iso |
82 | 82 | build/livecd.iso |
83 | | -
|
84 | | - build-msvc: |
85 | | - strategy: |
86 | | - matrix: |
87 | | - 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 | | - exclude: # Build NT6 ISOs only with the latest toolset when compiled as a debug build |
93 | | - - dllver: 0x600 |
94 | | - toolset: 14.2 |
95 | | - - dllver: 0x600 |
96 | | - config: Release |
97 | | - fail-fast: false |
98 | | - runs-on: ${{matrix.os}} |
99 | | - steps: |
100 | | - - name: Install ninja |
101 | | - run: choco install -y ninja |
102 | | - - name: Install Flex & Bison |
103 | | - run: | |
104 | | - curl -O https://svn.reactos.org/storage/vperevertkin/flexbison.7z |
105 | | - 7z x flexbison.7z -O${{github.workspace}}\bin |
106 | | - echo "${{github.workspace}}\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append |
107 | | - echo "BISON_PKGDATADIR=${{github.workspace}}\bin\share\bison" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append |
108 | | - echo "M4=${{github.workspace}}\bin\m4.exe" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append |
109 | | - - name: Activate VS cmd (x86) |
110 | | - if: ${{ matrix.arch == 'i386' }} |
111 | | - uses: ilammy/msvc-dev-cmd@v1 |
112 | | - with: |
113 | | - arch: amd64_x86 |
114 | | - toolset: ${{matrix.toolset}} |
115 | | - - name: Activate VS cmd (amd64) |
116 | | - if: ${{ matrix.arch == 'amd64' }} |
117 | | - uses: ilammy/msvc-dev-cmd@v1 |
118 | | - with: |
119 | | - arch: amd64 |
120 | | - toolset: ${{matrix.toolset}} |
121 | | - - name: Source checkout |
122 | | - uses: actions/checkout@v4 |
123 | | - with: |
124 | | - path: src |
125 | | - - name: Configure |
126 | | - run: cmake -S src -B build -G Ninja -DCMAKE_TOOLCHAIN_FILE:FILEPATH=toolchain-msvc.cmake -DARCH:STRING=${{matrix.arch}} -DCMAKE_BUILD_TYPE=${{matrix.config}} -DDLL_EXPORT_VERSION=${{matrix.dllver}} -DENABLE_ROSTESTS=1 -DENABLE_ROSAPPS=1 |
127 | | - - name: Build |
128 | | - run: cmake --build build -- -k0 |
129 | | - - name: Generate ISOs |
130 | | - run: cmake --build build --target bootcd --target livecd |
131 | | - - name: Upload ISOs |
132 | | - uses: actions/upload-artifact@v4 |
133 | | - with: |
134 | | - name: reactos-msvc${{matrix.toolset}}-${{matrix.arch}}-${{matrix.config}}-${{matrix.dllver}}-${{github.sha}} |
135 | | - path: | |
136 | | - build/bootcd.iso |
137 | | - build/livecd.iso |
138 | | - - name: Upload debug symbols |
139 | | - if: ${{ matrix.config == 'Debug' }} |
140 | | - uses: actions/upload-artifact@v4 |
141 | | - with: |
142 | | - name: reactos-syms-msvc${{matrix.toolset}}-${{matrix.arch}}-${{matrix.config}}-${{matrix.dllver}}-${{github.sha}} |
143 | | - path: build/msvc_pdb |
144 | | - |
145 | | - build-msvc-arm: |
146 | | - strategy: |
147 | | - matrix: |
148 | | - toolset: ['14','14.2'] # VS 2022, 2019 |
149 | | - arch: [arm, arm64] |
150 | | - config: [Debug, Release] |
151 | | - fail-fast: false |
152 | | - runs-on: windows-latest |
153 | | - steps: |
154 | | - - name: Install ninja |
155 | | - run: choco install -y ninja |
156 | | - - name: Install Flex & Bison |
157 | | - run: | |
158 | | - curl -O https://svn.reactos.org/storage/vperevertkin/flexbison.7z |
159 | | - 7z x flexbison.7z -O${{github.workspace}}\bin |
160 | | - echo "${{github.workspace}}\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append |
161 | | - echo "BISON_PKGDATADIR=${{github.workspace}}\bin\share\bison" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append |
162 | | - echo "M4=${{github.workspace}}\bin\m4.exe" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append |
163 | | - - name: Activate VS cmd (arm) |
164 | | - if: ${{ matrix.arch == 'arm' }} |
165 | | - uses: ilammy/msvc-dev-cmd@v1 |
166 | | - with: |
167 | | - arch: amd64_arm |
168 | | - sdk: 10.0.22621.0 # Windows SDK 10.0.26100.0 dropped support for 32-bit ARM |
169 | | - toolset: ${{matrix.toolset}} |
170 | | - - name: Activate VS cmd (arm64) |
171 | | - if: ${{ matrix.arch == 'arm64' }} |
172 | | - uses: ilammy/msvc-dev-cmd@v1 |
173 | | - with: |
174 | | - arch: amd64_arm64 |
175 | | - toolset: ${{matrix.toolset}} |
176 | | - - name: Source checkout |
177 | | - uses: actions/checkout@v4 |
178 | | - with: |
179 | | - path: src |
180 | | - - name: Configure |
181 | | - 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 |
182 | | - - name: Build base module |
183 | | - if: ${{ matrix.arch == 'arm' }} |
184 | | - run: cmake --build build --target base/all |
185 | | - - name: Build control panel applets |
186 | | - if: ${{ matrix.arch == 'arm' }} |
187 | | - run: cmake --build build --target dll/cpl/all |
188 | | - - name: Build rosapps |
189 | | - if: ${{ matrix.arch == 'arm' }} |
190 | | - run: cmake --build build --target modules/rosapps/all |
191 | | - - name: Build subsystems |
192 | | - if: ${{ matrix.arch == 'arm' }} |
193 | | - run: cmake --build build --target subsystems/all |
194 | | - - name: Build some applications (arm64) |
195 | | - if: ${{ matrix.arch == 'arm64' }} |
196 | | - run: cmake --build build --target calc magnify mstsc notepad osk regedit taskmgr winmine wordpad base/applications/screensavers/all -- -k0 |
197 | | - - name: Upload compiled binaries |
198 | | - uses: actions/upload-artifact@v4 |
199 | | - with: |
200 | | - name: reactos-msvc${{matrix.toolset}}-${{matrix.arch}}-${{matrix.config}}-${{github.sha}} |
201 | | - path: | |
202 | | - build/base |
203 | | - build/dll/cpl |
204 | | - build/modules/rosapps |
205 | | - build/subsystems |
206 | | - !**/CMakeFiles |
207 | | - !**/cmake_install.cmake |
208 | | - !**/*.asm |
209 | | - !**/*.bin |
210 | | - !**/*.c |
211 | | - !**/*.def |
212 | | - !**/*.exp |
213 | | - !**/*.h |
214 | | - !**/*.lib |
215 | | - !**/*.mc |
216 | | - !**/*.obj |
217 | | - !**/*.rc |
218 | | - !**/*.tlb |
219 | | - - name: Upload debug symbols |
220 | | - if: ${{ matrix.config == 'Debug' }} |
221 | | - uses: actions/upload-artifact@v4 |
222 | | - with: |
223 | | - name: reactos-syms-msvc${{matrix.toolset}}-${{matrix.arch}}-${{matrix.config}}-${{github.sha}} |
224 | | - path: build/msvc_pdb |
225 | | - |
226 | | - # FIXME: Does not boot on toolset 14.1, 14.3+ is untested |
227 | | - build-clang-cl: |
228 | | - strategy: |
229 | | - matrix: |
230 | | - arch: [i386, amd64] |
231 | | - config: [Debug, Release] |
232 | | - fail-fast: false |
233 | | - runs-on: windows-latest |
234 | | - steps: |
235 | | - - name: Install ninja |
236 | | - run: choco install -y ninja |
237 | | - - name: Install LLVM |
238 | | - run: | |
239 | | - choco install -y --allow-downgrade llvm --version 13.0.1 |
240 | | - echo "LLVM_PATH=${env:PROGRAMFILES}\llvm\bin" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append |
241 | | - - name: Install Flex & Bison |
242 | | - run: | |
243 | | - curl -O https://svn.reactos.org/storage/vperevertkin/flexbison.7z |
244 | | - 7z x flexbison.7z -O${{github.workspace}}\bin |
245 | | - echo "${{github.workspace}}\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append |
246 | | - echo "BISON_PKGDATADIR=${{github.workspace}}\bin\share\bison" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append |
247 | | - echo "M4=${{github.workspace}}\bin\m4.exe" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append |
248 | | - - name: Activate VS cmd (x86) |
249 | | - if: ${{ matrix.arch == 'i386' }} |
250 | | - uses: ilammy/msvc-dev-cmd@v1 |
251 | | - with: |
252 | | - arch: amd64_x86 |
253 | | - toolset: '14' |
254 | | - - name: Activate VS cmd (amd64) |
255 | | - if: ${{ matrix.arch == 'amd64' }} |
256 | | - uses: ilammy/msvc-dev-cmd@v1 |
257 | | - with: |
258 | | - arch: amd64 |
259 | | - toolset: '14' |
260 | | - - name: Add LLVM to PATH |
261 | | - run: echo "${env:LLVM_PATH}" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append |
262 | | - - name: Source checkout |
263 | | - uses: actions/checkout@v4 |
264 | | - with: |
265 | | - path: src |
266 | | - - name: Configure |
267 | | - 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 |
268 | | - - name: Build |
269 | | - run: cmake --build build -- -k0 |
270 | | - - name: Generate ISOs |
271 | | - run: cmake --build build --target bootcd --target livecd |
272 | | - - name: Upload ISOs |
273 | | - uses: actions/upload-artifact@v4 |
274 | | - with: |
275 | | - name: reactos-clang-cl-${{matrix.arch}}-${{matrix.config}}-${{github.sha}} |
276 | | - path: | |
277 | | - build/bootcd.iso |
278 | | - build/livecd.iso |
279 | | - - name: Upload debug symbols |
280 | | - if: ${{ matrix.config == 'Debug' }} |
281 | | - uses: actions/upload-artifact@v4 |
282 | | - with: |
283 | | - name: reactos-syms-clang-cl-${{matrix.arch}}-${{matrix.config}}-${{github.sha}} |
284 | | - path: build/msvc_pdb |
285 | | - |
286 | | - build-msbuild-i386: |
287 | | - name: MSBuild (i386) |
288 | | - runs-on: windows-latest |
289 | | - steps: |
290 | | - - name: Install Flex and Bison |
291 | | - run: | |
292 | | - curl -O https://svn.reactos.org/storage/vperevertkin/flexbison.7z |
293 | | - 7z x flexbison.7z -O${{github.workspace}}\bin |
294 | | - echo "${{github.workspace}}\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append |
295 | | - echo "BISON_PKGDATADIR=${{github.workspace}}\bin\share\bison" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append |
296 | | - echo "M4=${{github.workspace}}\bin\m4.exe" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append |
297 | | - - name: Add CL to PATH |
298 | | - uses: ilammy/msvc-dev-cmd@v1 |
299 | | - with: |
300 | | - arch: amd64_x86 |
301 | | - - uses: actions/checkout@v4 |
302 | | - with: |
303 | | - path: src |
304 | | - - name: Configure |
305 | | - run: | |
306 | | - mkdir build |
307 | | - cd build |
308 | | - 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 |
309 | | - - name: Build |
310 | | - run: cmake --build ${{github.workspace}}\build --target bootcd --target livecd |
0 commit comments