qtk/.github/workflows/all-builds.yml

155 lines
4.5 KiB
YAML

name: All Builds
on:
push:
pull_request:
workflow_dispatch:
jobs:
Build-Qtk:
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest]
# os: [ubuntu-latest, windows-latest, macos-latest]
include:
- os: ubuntu-latest
cmake: -DCMAKE_PREFIX_PATH="/home/runner/work/qtk/Qt/6.3.1/gcc_64/"
# - os: windows-latest
# cmake: -DCMAKE_PREFIX_PATH="D:/a/qtk/qtk/Qt/6.3.1/mingw81_64/"
# - os: macos-latest
# cmake: -DCMAKE_PREFIX_PATH="/home/runner/work/qtk/Qt/6.3.1/gcc_64/"
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v3
- name: Package Qtk
shell: bash
run: |
wget -O ${{ matrix.cqt }} ${{ matrix.url }}
chmod +x ${{ matrix.cqt }}
./${{ matrix.cqt }} install -c --am
- name: Install Qt
uses: jurplel/install-qt-action@v2
with:
version: '6.3.1'
- name: Chocolatey Action
if: matrix.os == 'windows-latest'
uses: crazy-max/ghaction-chocolatey@v2.0.0
with:
args: install pkgconfiglite --checksum e87b5ea3c9142256af60f2d5b917aa63b571e6a0 --checksum-type sha1
- name: Build Qtk
shell: bash
run: |
cmake -B build/ ${{ matrix.cmake }} -DQTK_UPDATE_SUBMODULES=ON
cmake --build build/
- name: Package libqtk
shell: bash
run: |
cmake --build build/ --target package
# - name: Package Qtk Sources
# shell: bash
# run: |
# cmake --build build/ --target package_source
- uses: actions/upload-artifact@v3
with:
name: qtk-packages-${{ matrix.os }}
path: |
build/packages/
!build/packages/_CPack_Packages/*
- uses: actions/upload-artifact@v3
with:
name: qtk-${{ matrix.os }}
path: build/bin
Build-Qtk-Assimp-Targets:
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-latest]
include:
- os: ubuntu-latest
cmake: -DCMAKE_PREFIX_PATH="/home/runner/work/qtk/Qt/6.3.1/gcc_64/"
- os: macos-latest
cmake: -DCMAKE_PREFIX_PATH="/home/runner/work/qtk/Qt/6.3.1/gcc_64/" -DASSIMP_NEW_INTERFACE=ON
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v3
- name: Install Qt
uses: jurplel/install-qt-action@v2
with:
version: '6.3.1'
- name: Install Assimp MacOS
if: matrix.os == 'macos-latest'
shell: bash
run: |
brew install assimp
- name: Install Assimp Ubuntu
if: matrix.os == 'ubuntu-latest'
shell: bash
run: |
sudo apt install libassimp-dev
- name: Build Qtk
shell: bash
run: |
cmake -B build/ ${{ matrix.cmake }} && cmake --build build/ --target qtk-main
# TODO: Enable with tag only when done testing
Release-Qtk:
needs: Build-Qtk
if: "always()"
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, windows-latest, macos-latest]
include:
- os: ubuntu-latest
cqt: CQtDeployer.run
url: https://github.com/QuasarApp/CQtDeployer/releases/download/v1.6.2277/CQtDeployer_1.6.2277.ecc6eed_Linux_x86_64.run
qmake: /home/runner/work/qtk/Qt/6.3.1/gcc_64/bin/qmake
- os: windows-latest
cqt: CQtDeployer.exe
url: https://github.com/QuasarApp/CQtDeployer/releases/download/v1.6.2277/CQtDeployer_1.6.2277.ecc6eed_Windows_AMD64.exe
qmake: D:/a/qtk/qtk/Qt/6.3.1/mingw81_64/bin/qmake
- os: macos-latest
cqt: CQtDeployer.run
url: https://github.com/QuasarApp/CQtDeployer/releases/download/v1.6.2277/CQtDeployer_1.6.2277.ecc6eed_Linux_x86_64.run
qmake: /home/runner/work/qtk/Qt/6.3.1/gcc_64/bin/qmake
runs-on: ${{ matrix.os }}
steps:
- uses: actions/download-artifact@v3
with:
name: qtk-${{ matrix.os }}
- name: Install Qt
uses: jurplel/install-qt-action@v2
with:
version: '6.3.1'
- name: Package Qtk
shell: bash
run: |
wget -O ${{ matrix.cqt }} ${{ matrix.url }}
chmod +x ${{ matrix.cqt }}
./${{ matrix.cqt }} install -c --aa 1613=Ignore
cqtdeployer -bin qtk-main -qmake ${{ matrix.qmake }}
- uses: actions/upload-artifact@v3
with:
name: qtk-installer-${{ matrix.os }}
path: DistributionKit/