[GITHUB] Do ARM build only; Build bootvid #600
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Build | |
| on: [push, pull_request] | |
| jobs: | |
| build-msvc-arm: | |
| strategy: | |
| matrix: | |
| toolset: ['14','14.2'] # VS 2022, 2019 | |
| arch: [arm] | |
| config: [Debug, Release] | |
| fail-fast: false | |
| runs-on: windows-latest | |
| steps: | |
| - name: Install ninja | |
| run: choco install -y ninja | |
| - name: Install Flex & Bison | |
| run: | | |
| curl -O https://svn.reactos.org/storage/vperevertkin/flexbison.7z | |
| 7z x flexbison.7z -O${{github.workspace}}\bin | |
| echo "${{github.workspace}}\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append | |
| echo "BISON_PKGDATADIR=${{github.workspace}}\bin\share\bison" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append | |
| echo "M4=${{github.workspace}}\bin\m4.exe" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append | |
| - name: Activate VS cmd (arm) | |
| if: ${{ matrix.arch == 'arm' }} | |
| uses: ilammy/msvc-dev-cmd@v1 | |
| with: | |
| arch: amd64_arm | |
| sdk: 10.0.22621.0 # Windows SDK 10.0.26100.0 dropped support for 32-bit ARM | |
| toolset: ${{matrix.toolset}} | |
| - name: Activate VS cmd (arm64) | |
| if: ${{ matrix.arch == 'arm64' }} | |
| uses: ilammy/msvc-dev-cmd@v1 | |
| with: | |
| arch: amd64_arm64 | |
| toolset: ${{matrix.toolset}} | |
| - name: Source checkout | |
| uses: actions/checkout@v4 | |
| with: | |
| path: src | |
| - name: Configure | |
| 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 | |
| - name: Build base module | |
| if: ${{ matrix.arch == 'arm' }} | |
| run: cmake --build build --target base/all | |
| - name: Build control panel applets | |
| if: ${{ matrix.arch == 'arm' }} | |
| run: cmake --build build --target dll/cpl/all | |
| - name: Build rosapps | |
| if: ${{ matrix.arch == 'arm' }} | |
| run: cmake --build build --target modules/rosapps/all | |
| - name: Build subsystems | |
| if: ${{ matrix.arch == 'arm' }} | |
| run: cmake --build build --target subsystems/all | |
| - name: Build bootvid | |
| if: ${{ matrix.arch == 'arm' }} | |
| run: cmake --build build --target drivers/base/bootvid | |
| - name: Build some applications (arm64) | |
| if: ${{ matrix.arch == 'arm64' }} | |
| run: cmake --build build --target calc magnify mstsc notepad osk regedit taskmgr winmine wordpad base/applications/screensavers/all -- -k0 | |
| - name: Upload compiled binaries | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: reactos-msvc${{matrix.toolset}}-${{matrix.arch}}-${{matrix.config}}-${{github.sha}} | |
| path: | | |
| build/base | |
| build/dll/cpl | |
| build/modules/rosapps | |
| build/subsystems | |
| !**/CMakeFiles | |
| !**/cmake_install.cmake | |
| !**/*.asm | |
| !**/*.bin | |
| !**/*.c | |
| !**/*.def | |
| !**/*.exp | |
| !**/*.h | |
| !**/*.lib | |
| !**/*.mc | |
| !**/*.obj | |
| !**/*.rc | |
| !**/*.tlb | |
| - name: Upload debug symbols | |
| if: ${{ matrix.config == 'Debug' }} | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: reactos-syms-msvc${{matrix.toolset}}-${{matrix.arch}}-${{matrix.config}}-${{github.sha}} | |
| path: build/msvc_pdb | |