Skip to content

split replayparser replay analysis #341

split replayparser replay analysis

split replayparser replay analysis #341

Workflow file for this run

name: Build
on: [push]
jobs:
build-windows:
name: 🪟 Build Windows Qt6
env:
qt-major-version: 6
qt-version: 6.8.1
clang-version: 19
runs-on: windows-2022
steps:
- name: 🧰 Checkout
uses: actions/checkout@v4
- name: ⬇️ Setup Visual Studio Shell
uses: egor-tensin/vs-shell@v2
with:
arch: x64
- name: ⬇️ Setup Conan
run: |
pip install conan
conan profile detect
- name: ⬇️ Setup Ninja
uses: seanmiddleditch/gha-setup-ninja@v5
with:
version: 1.12.1
- name: ⬇️ Install Qt${{ env.qt-major-version }}
uses: jurplel/install-qt-action@v4
with:
version: ${{ env.qt-version }}
cache: true
- name: ⬇️ Install LLVM and Clang
uses: KyleMayes/install-llvm-action@v2.0.6
with:
version: ${{ env.clang-version }}
- name: 🔢 Tool Versions
run: |
conan --version
cmake --version
clang-cl --version
ninja --version
rustc --version
- name: 📁 Cache Conan Dependencies
uses: actions/cache@v4
with:
path: ~/.conan2
key: hashFiles('**/conanfile.py')
- name: 📁 Run Conan
run: conan install . --build=missing --profile:all=./.github/conan/profiles/windows-clang-cl
- name: 🛠️ Configure
env:
CC: "${{ env.LLVM_PATH }}\\bin\\clang-cl"
CXX: "${{ env.LLVM_PATH }}\\bin\\clang-cl"
run: >
cmake
--preset conan-clang-release
-DPA_SUBMIT_URL=${{ secrets.PA_SUBMIT_URL }}
-DPA_LOOKUP_URL=${{ secrets.PA_LOOKUP_URL }}
-DCMAKE_INSTALL_PREFIX=install
-DCPACK_PACKAGE_DIRECTORY=pack
- name: 🛠️ Build
run: |
cmake --build --preset conan-clang-release
cmake --install build/clang/Release
- name: 📦 CPack
working-directory: ./build/clang/Release
run: |
cpack
cpack --config CPackConfig-PotatoAlert.cmake
- name: 🧪 CTest
working-directory: ./build/clang/Release
env:
CTEST_OUTPUT_ON_FAILURE: 1
run: ctest
- name: ⬆️ Upload Portable ZIP
uses: actions/upload-artifact@v4
with:
name: PotatoAlert Windows Portable x86_64
path: ./build/clang/Release/pack/PotatoAlert.zip
if-no-files-found: error
- name: ⬆️ Upload Installer
uses: actions/upload-artifact@v4
with:
name: PotatoAlert Windows Installer x86_64
path: ./build/clang/Release/pack/PotatoAlert-*.msi
if-no-files-found: error
- name: 🎫 Create Release
uses: softprops/action-gh-release@v2
if: startsWith(github.ref, 'refs/tags/')
with:
prerelease: true
files: |
./build/clang/Release/pack/PotatoAlert.zip
./build/clang/Release/pack/PotatoAlert-*.msi
build-linux:
name: 🐧 Build Linux Qt6
env:
qt-version: 6.8.1
gcc-version: 14
runs-on: ubuntu-24.04
steps:
- name: 🧰 Checkout
uses: actions/checkout@v4
- name: ⬇️ Setup Conan
run: |
pip install conan
conan profile detect
- name: ⬇️ Setup Ninja
run: sudo apt install -y ninja-build
- name: ⬇️ Install Dependencies
run: >
sudo apt install -y
libfontconfig1-dev
libfreetype6-dev
libx11-dev
libx11-xcb-dev
libxext-dev
libxfixes-dev
libxi-dev
libxrender-dev
libxcb1-dev
libxcb-cursor-dev
libxcb-glx0-dev
libxcb-keysyms1-dev
libxcb-image0-dev
libxcb-shm0-dev
libxcb-icccm4-dev
libxcb-sync-dev
libxcb-xfixes0-dev
libxcb-shape0-dev
libxcb-randr0-dev
libxcb-render-util0-dev
libxcb-util-dev
libxcb-xinerama0-dev
libxcb-xkb-dev
libxkbcommon-dev
libxkbcommon-x11-dev
- name: ⬇️ Install Qt
uses: jurplel/install-qt-action@v4
with:
version: ${{ env.qt-version }}
cache: true
- name: 🔢 Tool Versions
run: |
conan --version
cmake --version
g++-${{ env.gcc-version }} --version
ninja --version
rustc --version
- name: 📁 Cache Conan Dependencies
uses: actions/cache@v4
with:
path: ~/.conan2
key: hashFiles('**/conanfile.py')
- name: 📁 Run Conan
run: conan install . --build=missing --profile:all=./.github/conan/profiles/linux-gcc
- name: 🛠️ Configure
env:
CC: gcc-${{ env.gcc-version }}
CXX: g++-${{ env.gcc-version }}
run: >
cmake
--preset conan-gcc-release
-DPA_SUBMIT_URL=${{ secrets.PA_SUBMIT_URL }}
-DPA_LOOKUP_URL=${{ secrets.PA_LOOKUP_URL }}
-DCMAKE_INSTALL_PREFIX=install
-DCPACK_PACKAGE_DIRECTORY=pack
- name: 🛠️ Build
run: |
cmake --build --preset conan-gcc-release
cmake --install build/gcc/Release
- name: 📦 CPack
working-directory: ./build/gcc/Release
run: |
cpack --config CPackConfig-PotatoAlert.cmake
mv -v ./pack/PotatoAlert.zip ./pack/PotatoAlert_linux.zip
- name: 🧪 CTest
working-directory: ./build/gcc/Release
env:
CTEST_OUTPUT_ON_FAILURE: 1
run: ctest
- name: ⬆️ Upload Portable ZIP
uses: actions/upload-artifact@v4
with:
name: PotatoAlert Linux Portable x86_64
path: ./build/gcc/Release/pack/PotatoAlert_linux.zip
if-no-files-found: error
- name: 🎫 Create Release
uses: softprops/action-gh-release@v2
if: startsWith(github.ref, 'refs/tags/')
with:
prerelease: true
files: ./build/gcc/Release/pack/PotatoAlert_linux.zip