2.0.0 #74
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Github Actions configuration file | |
name: Build | |
on: | |
#push: # execute on every push | |
release: | |
types: | |
- published | |
jobs: | |
build: | |
runs-on: ${{ matrix.config.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
config: | |
- { | |
name: "Linux-x64" | |
, os: ubuntu-22.04 | |
, QT_VERSION: 6.5.3, QT_INST_DIR: /opt, QTDIR: /opt/Qt/6.2.4/gcc_64 | |
, VCPKG_TRIPLET: "x64-linux-release" | |
} | |
- { | |
name: "Windows-x64", WIN_ARCH: "x64" | |
, os: windows-2019 | |
, QT_VERSION: 6.7.2, QT_INST_DIR: "C:/", QTDIR: "C:/Qt/6.7.2/msvc2019_64", QT_ARCH: win64_msvc2019_64 | |
, VCPKG_TRIPLET: "x64-windows-release" | |
} | |
# - { | |
# name: "MacOS-x64" | |
# , os: macos-14 | |
# , QT_VERSION: 6.2.4, QT_INST_DIR: /Users/runner, QTDIR: /Users/runner/Qt/6.2.4/clang_64 | |
# , VCPKG_TRIPLET: "x64-osx-release" | |
# } | |
steps: | |
- name: Setup Windows/MSVC | |
if: runner.os == 'Windows' | |
uses: ilammy/msvc-dev-cmd@v1 | |
with: | |
arch: ${{matrix.config.WIN_ARCH}} | |
- name: Setup Linux | |
if: runner.os == 'Linux' | |
run: sudo apt -y install pkg-config libxcb*-dev libx11-dev libxrandr-dev | |
- name: Install Qt | |
uses: jurplel/install-qt-action@v2 | |
with: | |
aqtversion: ==2.0.0 | |
py7zrversion: ==0.16.2 | |
dir: ${{matrix.config.QT_INST_DIR}} | |
arch: ${{ matrix.config.QT_ARCH }} | |
version: ${{ matrix.config.QT_VERSION }} | |
modules: ${{ matrix.config.QT_MODULES }} | |
cached: ${{ steps.cache-qt.outputs.cache-hit }} | |
- name: Checkout | |
uses: actions/checkout@v2 | |
with: | |
fetch-depth: 0 | |
submodules: recursive | |
- name: Install vcpkg packages | |
uses: johnwason/vcpkg-action@v6 | |
with: | |
revision: 'cacf5994341f27e9a14a7b8724b0634b138ecb30' | |
pkgs: 'vulkan "ktx[vulkan]" glslang spirv-cross vulkan-memory-allocator spdlog OpenImageIO' | |
triplet: '${{ matrix.config.VCPKG_TRIPLET }}' | |
token: ${{ github.token }} | |
github-binarycache: true | |
- name: Configure CMake | |
run: cmake -B ${{github.workspace}}/build -DCMAKE_INSTALL_PREFIX=dist -DCMAKE_TOOLCHAIN_FILE=${{ github.workspace }}/vcpkg/scripts/buildsystems/vcpkg.cmake -DVCPKG_TARGET_TRIPLET=${{ matrix.config.VCPKG_TRIPLET }} | |
- name: Build | |
run: cmake --build ${{github.workspace}}/build --config Release | |
- name: Install | |
run: cmake --install ${{github.workspace}}/build --config Release | |
- name: Package | |
run: cpack --config ${{github.workspace}}/build/CPackConfig.cmake | |
- name: Build AppImage | |
if: false # runner.os == 'Linux' # retry when Ubuntu 20.04 is endoflife (02 Apr 2025) | |
run: | | |
sudo apt-get install libfuse2 | |
mkdir -p AppDir | |
cp -R dist AppDir/usr | |
cp AppDir/usr/share/applications/io.github.houmain.gpupad.desktop AppDir | |
cp AppDir/usr/share/pixmaps/io.github.houmain.gpupad.png AppDir | |
wget -nv -c "https://github.com/probonopd/linuxdeployqt/releases/download/continuous/linuxdeployqt-continuous-x86_64.AppImage" | |
chmod a+x linuxdeployqt*.AppImage | |
export VERSION='${{ github.ref_name }}' | |
unset QTDIR; unset QT_PLUGIN_PATH; unset LD_LIBRARY_PATH | |
./linuxdeployqt*.AppImage AppDir/usr/bin/gpupad -appimage -extra-plugins=iconengines,imageformats -no-translations -no-copy-copyright-files | |
- name: Upload to Github release | |
uses: xresloader/upload-to-github-release@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
file: "*.msi;*.dmg;*.tar.gz;GPUpad*.AppImage" | |
tags: true | |
draft: false |