115 lines
3.5 KiB
YAML
115 lines
3.5 KiB
YAML
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/
|