name: Build on: push: branches: - "master" pull_request: branches: - "master" jobs: windows: name: Windows MSYS2 strategy: fail-fast: false matrix: msystem: [MINGW32, MINGW64, UCRT64, CLANG64] include: - isUcrt: false - msystem: MINGW32 packagePrefix: mingw-w64-i686 _7zPackagePrefix: mingw-w64-x86_64 - msystem: MINGW64 packagePrefix: mingw-w64-x86_64 _7zPackagePrefix: mingw-w64-x86_64 - msystem: UCRT64 isUcrt: true packagePrefix: mingw-w64-ucrt-x86_64 _7zPackagePrefix: mingw-w64-ucrt-x86_64 - msystem: CLANG64 isUcrt: true packagePrefix: mingw-w64-clang-x86_64 _7zPackagePrefix: mingw-w64-clang-x86_64 runs-on: windows-latest defaults: run: shell: msys2 {0} steps: - uses: actions/checkout@v4 with: fetch-depth: 0 - name: Setup uses: msys2/setup-msys2@v2 with: msystem: ${{ matrix.msystem }} update: true install: | ${{ matrix.packagePrefix }}-cc ${{ matrix.packagePrefix }}-make ${{ matrix.packagePrefix }}-qt5-static ${{ matrix.packagePrefix }}-cmake mingw-w64-i686-nsis ${{ matrix._7zPackagePrefix }}-7zip git - name: Download MinGW toolchain run: | mkdir -p assets curl -L https://github.com/redpanda-cpp/toolchain-win32-mingw-xp/releases/download/11.4.0-r0/mingw32-11.4.0-r0.7z -o assets/mingw32.7z curl -L https://github.com/redpanda-cpp/toolchain-win32-mingw-xp/releases/download/11.4.0-r0/mingw64-11.4.0-r0.7z -o assets/mingw64.7z - name: Build run: | ./packages/msys/build-mingw.sh \ $( [[ ${{ matrix.isUcrt }} -eq 1 ]] && echo --ucrt 22621 ) ./packages/msys/build-mingw.sh --mingw \ $( [[ ${{ matrix.isUcrt }} -eq 1 ]] && echo --ucrt 22621 ) - name: Upload uses: actions/upload-artifact@v4 with: name: Windows MSYS2 - msystem=${{ matrix.msystem }} path: dist/ windows_msvc_x64: name: Windows MSVC x64 runs-on: windows-2019 steps: - uses: actions/checkout@v4 with: fetch-depth: 0 - name: Setup uses: jurplel/install-qt-action@v3 with: version: '5.15.2' host: windows target: desktop arch: win64_msvc2019_64 archives: qtbase qtsvg qttools tools: tools_qtcreator,qt.tools.qtcreator - name: Build run: | $JOM = "${Env:RUNNER_WORKSPACE}/Qt/Tools/QtCreator/bin/jom/jom.exe" $VS_INSTALL_PATH = "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise" Import-Module "$VS_INSTALL_PATH\Common7\Tools\Microsoft.VisualStudio.DevShell.dll" Enter-VsDevShell -VsInstallPath "$VS_INSTALL_PATH" -SkipAutomaticLocation -DevCmdArguments -arch=amd64 mkdir build && pushd build qmake PREFIX=${Env:GITHUB_WORKSPACE}/pkg ${Env:GITHUB_WORKSPACE}/Red_Panda_CPP.pro & $JOM "-j${Env:NUMBER_OF_PROCESSORS}" & $JOM install windeployqt ${Env:GITHUB_WORKSPACE}/pkg/RedPandaIDE.exe rm ${Env:GITHUB_WORKSPACE}/pkg/vc_redist.x64.exe popd - name: Upload uses: actions/upload-artifact@v4 with: name: Windows MSVC x64 path: pkg/