Skip to content

WIP: Add a hacky viewer for inspecting plIcicle flags #13

WIP: Add a hacky viewer for inspecting plIcicle flags

WIP: Add a hacky viewer for inspecting plIcicle flags #13

Workflow file for this run

name: CI
on: [push, pull_request]
jobs:
build-linux:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
submodules: true
- name: Install Dependencies
run: |
sudo apt-get install -y libkf5syntaxhighlighting-dev ninja-build qtbase5-dev
- name: Checkout string_theory
uses: actions/checkout@v4
with:
repository: zrax/string_theory
path: string_theory
- name: Build string_theory
run: |
mkdir -p string_theory/build && cd string_theory/build
cmake -GNinja -DCMAKE_INSTALL_PREFIX="${GITHUB_WORKSPACE}/build_deps/prefix" \
-DCMAKE_BUILD_TYPE=Release -DST_BUILD_TESTS=OFF ..
cmake --build .
cmake --build . --target install
- name: Checkout HSPlasma
uses: actions/checkout@v4
with:
repository: H-uru/libhsplasma
path: libhsplasma
- name: Build HSPlasma
run: |
mkdir -p libhsplasma/build && cd libhsplasma/build
cmake -GNinja -DCMAKE_INSTALL_PREFIX="${GITHUB_WORKSPACE}/build_deps/prefix" \
-DENABLE_PYTHON=OFF -DENABLE_TOOLS=OFF -DENABLE_NET=OFF -DENABLE_PHYSX=OFF ..
cmake --build .
cmake --build . --target install
- name: Build PlasmaShop
run: |
mkdir build && cd build
cmake -GNinja -DCMAKE_PREFIX_PATH="${GITHUB_WORKSPACE}/build_deps/prefix" ..
cmake --build .
build-windows:
runs-on: ${{ matrix.cfg.os }}
strategy:
matrix:
cfg:
- os: windows-2019
generator: Visual Studio 16 2019
cmake-arch: Win32
triplet: x86-windows-static-md
kf5: v5.106.0
qt: 5.15.2
kf5_cmake_args: ""
qt-arch: win32_msvc2019
- os: windows-2019
generator: Visual Studio 16 2019
cmake-arch: x64
triplet: x64-windows-static-md
kf5: v5.106.0
kf5_cmake_args: ""
qt: 5.15.2
qt_arch: win64_msvc2019_64
- os: windows-2019
generator: Visual Studio 16 2019
cmake-arch: x64
triplet: x64-windows-static-md
kf5: v5.106.0
kf5_cmake_args: "-DBUILD_WITH_QT6=ON"
qt: 6.5.1
qt_arch: win64_msvc2019_64
steps:
- uses: actions/checkout@v4
with:
submodules: true
- name: Bootstrap vcpkg
id: bootstrap-vcpkg
run: |
cd C:/vcpkg
git pull
Write-Output "vcpkg-rev=$(git rev-parse HEAD)" >> $Env:GITHUB_OUTPUT
./bootstrap-vcpkg.bat
- name: Restore Dependency Cache
id: cache-vcpkg
uses: actions/cache@v4
with:
path: ${{ github.workspace }}\vcpkg_installed
key: |
vcpkg-triplet=${{ matrix.cfg.triplet }} vcpkg-response=${{ hashFiles('vcpkg.json') }} vcpkg-rev=${{ steps.bootstrap-vcpkg.outputs.vcpkg-rev }}
restore-keys: |
vcpkg-triplet=${{ matrix.cfg.triplet }} vcpkg-response=${{ hashFiles('vcpkg.json') }}
vcpkg-triplet=${{ matrix.cfg.triplet }}
- name: Build Dependencies
run: |
vcpkg install --triplet ${{ matrix.cfg.triplet }}
vcpkg list --x-full-desc
# Qt5 takes roughly a thousand years to build, so we download it from elsewhere...
- name: Install Qt
uses: jurplel/install-qt-action@v3
with:
arch: ${{ matrix.cfg.qt-arch }}
version: ${{ matrix.cfg.qt }}
dir: ${{ github.workspace }}\qt
cache: true
# KF5SyntaxHighlighting and ecm release in lock-step
- name: Checkout ECM
uses: actions/checkout@v4
with:
repository: KDE/extra-cmake-modules
path: ecm
ref: ${{ matrix.cfg.kf5 }}
- name: Build ECM
run: |
cd ecm
mkdir build && cd build
cmake `
-G "${{ matrix.cfg.generator }}" -A ${{ matrix.cfg.cmake-arch }} `
-DCMAKE_INSTALL_PREFIX=${{ github.workspace }}\install `
-DBUILD_HTML_DOCS=OFF -DBUILD_MAN_DOCS=OFF -DBUILD_QTHELP_DOCS=OFF -DBUILD_TESTING=OFF `
${{ matrix.cfg.kf5_cmake_args }} ..
cmake --build . --config Release -j 2
cmake --build . --config Release --target INSTALL
# Build KF5SyntaxHighlighting manually due to Qt dependency...
- name: Checkout KF5SyntaxHighlighting
uses: actions/checkout@v4
with:
repository: KDE/syntax-highlighting
path: syntax-highlighting
ref: ${{ matrix.cfg.kf5 }}
- uses: shogo82148/actions-setup-perl@v1
- name: Build KF5SyntaxHighlighting
run: |
cd syntax-highlighting
mkdir build && cd build
cmake `
-G "${{ matrix.cfg.generator }}" -A ${{ matrix.cfg.cmake-arch }} `
-DCMAKE_INSTALL_PREFIX=${{ github.workspace }}\install `
-DBUILD_HTML_DOCS=OFF -DBUILD_MAN_DOCS=OFF -DBUILD_QTHELP_DOCS=OFF -DBUILD_TESTING=OFF `
${{ matrix.cfg.kf5_cmake_args }} ..
cmake --build . --config Release -j 2
cmake --build . --config Release --target INSTALL
- name: Build PlasmaShop
run: |
mkdir build && cd build
cmake `
-G "${{ matrix.cfg.generator }}" -A ${{ matrix.cfg.cmake-arch }} `
-DCMAKE_TOOLCHAIN_FILE=C:\vcpkg\scripts\buildsystems\vcpkg.cmake `
-DVCPKG_TARGET_TRIPLET=${{ matrix.cfg.triplet }} `
-DCMAKE_INSTALL_PREFIX=${{ github.workspace }}\install `
..
cmake --build . --config Release -j 2
cmake --build . --config Release --target INSTALL
- name: Deploy Qt
run: |
$ExeFiles = Get-ChildItem "${{ github.workspace }}\install\bin" -Filter *.exe
$DllFiles = Get-ChildItem "${{ github.workspace }}\install\bin" -Filter *.dll
ForEach-Object -InputObject ($ExeFiles + $DllFiles) {
windeployqt.exe --release $_.FullName
}
- name: Upload Artifacts
uses: actions/upload-artifact@v4
with:
name: ${{ runner.os }}-${{ matrix.cfg.cmake-arch }}-qt${{ matrix.cfg.qt }}
path: install\bin