RedPanda-CPP/.github/workflows/build.yml

115 lines
3.5 KiB
YAML
Raw Normal View History

2023-10-23 16:47:32 +08:00
name: Build
on:
push:
branches:
- "master"
pull_request:
branches:
- "master"
2023-10-23 16:47:32 +08:00
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
2023-10-23 16:47:32 +08:00
runs-on: windows-latest
defaults:
run:
shell: msys2 {0}
steps:
2024-09-12 13:42:28 +08:00
- uses: actions/checkout@v4
2024-03-04 18:38:09 +08:00
with:
fetch-depth: 0
2023-10-23 16:47:32 +08:00
- name: Setup
uses: msys2/setup-msys2@v2
with:
msystem: ${{ matrix.msystem }}
2023-10-23 16:47:32 +08:00
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
2023-10-23 16:47:32 +08:00
- 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 )
2023-10-23 16:47:32 +08:00
- name: Upload
2024-09-12 13:42:28 +08:00
uses: actions/upload-artifact@v4
2023-10-23 16:47:32 +08:00
with:
name: Windows MSYS2 - msystem=${{ matrix.msystem }}
path: dist/
2023-10-23 16:47:32 +08:00
windows_msvc_x64:
name: Windows MSVC x64
runs-on: windows-2019
steps:
2024-09-12 13:42:28 +08:00
- uses: actions/checkout@v4
2024-03-04 18:38:09 +08:00
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
2024-09-12 13:42:28 +08:00
uses: actions/upload-artifact@v4
with:
name: Windows MSVC x64
path: pkg/