name: Build on: [push, pull_request] jobs: build-msvc-arm: strategy: matrix: toolset: ['14.2', '14.1'] # VS 2019, 2017 arch: [arm, arm64] 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 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@v3 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 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@v3 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@v3 with: name: reactos-syms-msvc${{matrix.toolset}}-${{matrix.arch}}-${{matrix.config}}-${{github.sha}} path: build/msvc_pdb # Disable MSBuild for the moment being until a proper fix is provided -- see CORE-18911 # build-msbuild-i386: # name: MSBuild (i386) # runs-on: windows-2019 # steps: # - name: Install Flex and 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: Add CL to PATH # uses: ilammy/msvc-dev-cmd@v1 # with: # arch: amd64_x86 # - uses: actions/checkout@v3 # with: # path: src # - name: Configure # run: | # mkdir build # cd build # cmake -G "Visual Studio 16 2019" -A Win32 -DCMAKE_TOOLCHAIN_FILE:FILEPATH=toolchain-msvc.cmake -DARCH:STRING=i386 -DENABLE_ROSTESTS=1 -DENABLE_ROSAPPS=1 ${{github.workspace}}\src # - name: Build # run: cmake --build ${{github.workspace}}\build --target bootcd --target livecd