name: All Builds on: push: pull_request: workflow_dispatch: jobs: Build-Qtk: strategy: fail-fast: false matrix: 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: 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: | mkdir pack-libqtk/ cd pack-libqtk/ cmake --build ../build --target package - name: Package Qtk Sources shell: bash run: | mkdir pack-qtk-sources cd pack-qtk-sources cmake --build ../build --target package_source - uses: actions/upload-artifact@v3 with: name: libqtk-${{ matrix.os }} path: pack-libqtk/* - uses: actions/upload-artifact@v3 with: name: qtk-sources${{ matrix.os }} path: pack-qtk-sources/* - uses: actions/upload-artifact@v3 with: name: qtk-${{ matrix.os }} path: build/ 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: Ls shell: bash run: ls -l -a - 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 cqtdeployer -bin build/bin/qtk-main -qmake ${{ matrix.qmake }} - uses: actions/upload-artifact@v3 with: name: qtk-installer-${{ matrix.os }} path: DistributionKit/