Merge pull request #1 from albanobattistella/main #57
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
# SPDX-FileCopyrightText: 2022-2023 Denis Danilov | |
# SPDX-License-Identifier: GPL-3.0-only | |
name: CI | |
on: [push, pull_request] | |
permissions: | |
contents: write | |
defaults: | |
run: | |
shell: bash | |
jobs: | |
windows: | |
runs-on: windows-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
qt-version: ['6.5.3'] | |
qt-arch: [win64_mingw] | |
build-type: [Release] | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
- name: install aqt | |
run: | | |
pip3 install aqtinstall==2.2.3 | |
- name: install build tools | |
run: | | |
O_DIR=$HOME/Qt | |
echo "O_DIR=$O_DIR" >>$GITHUB_ENV | |
aqt install-tool windows desktop tools_cmake -O $O_DIR | |
CMake_BIN=$O_DIR/Tools/CMake_64/bin | |
echo "CMake_BIN=$CMake_BIN" >>$GITHUB_ENV | |
aqt install-tool windows desktop tools_ninja -O $O_DIR | |
Ninja_BIN=$O_DIR/Tools/Ninja | |
echo "Ninja_BIN=$Ninja_BIN" >>$GITHUB_ENV | |
- name: install Qt | |
run: | | |
aqt install-qt windows desktop ${{ matrix.qt-version }} ${{ matrix.qt-arch }} -m qtmultimedia -O $O_DIR | |
- name: Qt dir | |
run: | | |
Qt6_QMAKE=`find $O_DIR -name "qmake6*"` | |
Qt6_BINDIR=`dirname $Qt6_QMAKE` | |
Qt6_DIR=`dirname $Qt6_BINDIR` | |
QT_PLUGIN_PATH=$Qt6_DIR/plugins | |
QML2_IMPORT_PATH=$Qt6_DIR/qml | |
echo "Qt6_DIR=$Qt6_DIR" >>$GITHUB_ENV | |
echo "Qt6_BINDIR=$Qt6_BINDIR" >>$GITHUB_ENV | |
echo "QT_PLUGIN_PATH=$QT_PLUGIN_PATH" >>$GITHUB_ENV | |
echo "QML2_IMPORT_PATH=$QML2_IMPORT_PATH" >>$GITHUB_ENV | |
- name: install MinGW | |
run: | | |
aqt install-tool windows desktop tools_mingw90 -O $O_DIR | |
MinGW_BIN=$O_DIR/Tools/mingw1120_64/bin | |
echo "MinGW_BIN=$MinGW_BIN" >>$GITHUB_ENV | |
- name: configure | |
run: | | |
PATH=$MinGW_BIN:$CMake_BIN:$Ninja_BIN:$PATH | |
BUILD_DIR=build | |
echo "BUILD_DIR=$BUILD_DIR" >>$GITHUB_ENV | |
cmake -DWITH_DEPLOY_SCRIPT=ON -DCMAKE_PREFIX_PATH=$Qt6_DIR -DCMAKE_BUILD_TYPE=${{ matrix.build-type }} -GNinja -B $BUILD_DIR | |
- name: build | |
run: | | |
PATH=$MinGW_BIN:$CMake_BIN:$Ninja_BIN:$PATH | |
cmake --build $BUILD_DIR --target package | |
- name: upload artefacts | |
uses: actions/upload-artifact@v3 | |
with: | |
path: ${{ env.BUILD_DIR }}/soundscape-* | |
- name: release | |
uses: softprops/action-gh-release@v1 | |
if: startsWith(github.ref, 'refs/tags/') | |
with: | |
tag_name: ${{ github.ref_name }} | |
name: ${{ github.ref_name }} | |
draft: false | |
prerelease: false | |
files: ${{ env.BUILD_DIR }}/soundscape-* | |
macos: | |
runs-on: macos-12 | |
strategy: | |
fail-fast: false | |
matrix: | |
qt-version: ['6.5.3'] | |
build-type: [Release] | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
- name: install aqt | |
run: | | |
pip3 install aqtinstall==2.2.3 | |
- name: install build tools | |
run: | | |
brew install librsvg | |
- name: install Qt | |
run: | | |
O_DIR=$HOME/Qt | |
echo "O_DIR=$O_DIR" >>$GITHUB_ENV | |
aqt install-qt mac desktop ${{ matrix.qt-version }} -m qtmultimedia -O $O_DIR | |
- name: Qt dir | |
run: | | |
Qt6_QMAKE=`find $O_DIR -name "qmake6*"` | |
Qt6_BINDIR=`dirname $Qt6_QMAKE` | |
Qt6_DIR=`dirname $Qt6_BINDIR` | |
QT_PLUGIN_PATH=$Qt6_DIR/plugins | |
QML2_IMPORT_PATH=$Qt6_DIR/qml | |
echo "Qt6_DIR=$Qt6_DIR" >>$GITHUB_ENV | |
echo "Qt6_BINDIR=$Qt6_BINDIR" >>$GITHUB_ENV | |
echo "QT_PLUGIN_PATH=$QT_PLUGIN_PATH" >>$GITHUB_ENV | |
echo "QML2_IMPORT_PATH=$QML2_IMPORT_PATH" >>$GITHUB_ENV | |
- name: configure | |
run: | | |
BUILD_DIR=build | |
echo "BUILD_DIR=$BUILD_DIR" >>$GITHUB_ENV | |
cmake -DWITH_DEPLOY_SCRIPT=ON -DCMAKE_PREFIX_PATH=$Qt6_DIR -DCMAKE_BUILD_TYPE=${{ matrix.build-type }} -B $BUILD_DIR | |
- name: build | |
run: | | |
cmake --build $BUILD_DIR --target package | |
- name: upload artefacts | |
uses: actions/upload-artifact@v3 | |
with: | |
path: ${{ env.BUILD_DIR }}/soundscape-* | |
- name: test | |
run: | | |
ctest --output-on-failure --test-dir $BUILD_DIR | |
- name: release | |
uses: softprops/action-gh-release@v1 | |
if: startsWith(github.ref, 'refs/tags/') | |
with: | |
tag_name: ${{ github.ref_name }} | |
name: ${{ github.ref_name }} | |
draft: false | |
prerelease: false | |
files: ${{ env.BUILD_DIR }}/soundscape-* | |
linux: | |
runs-on: ubuntu-20.04 | |
strategy: | |
fail-fast: false | |
matrix: | |
qt-version: ['6.5.3'] | |
build-type: [Release] | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
- name: install aqt | |
run: | | |
pip3 install aqtinstall==2.2.3 | |
- name: install Qt | |
run: | | |
O_DIR=$HOME/Qt | |
echo "O_DIR=$O_DIR" >>$GITHUB_ENV | |
aqt install-qt linux desktop ${{ matrix.qt-version }} -m qtmultimedia -O $O_DIR | |
- name: Qt dir | |
run: | | |
Qt6_QMAKE=`find $O_DIR -name "qmake6*"` | |
Qt6_BINDIR=`dirname $Qt6_QMAKE` | |
Qt6_DIR=`dirname $Qt6_BINDIR` | |
QT_PLUGIN_PATH=$Qt6_DIR/plugins | |
QML2_IMPORT_PATH=$Qt6_DIR/qml | |
echo "Qt6_DIR=$Qt6_DIR" >>$GITHUB_ENV | |
echo "Qt6_BINDIR=$Qt6_BINDIR" >>$GITHUB_ENV | |
echo "QT_PLUGIN_PATH=$QT_PLUGIN_PATH" >>$GITHUB_ENV | |
echo "QML2_IMPORT_PATH=$QML2_IMPORT_PATH" >>$GITHUB_ENV | |
- name: build dependencies | |
run: | | |
sudo apt-get -qq update | |
sudo apt-get install --assume-yes libgl1-mesa-dev | |
sudo apt-get install --assume-yes libpulse0 | |
- name: configure | |
run: | | |
BUILD_DIR=build | |
echo "BUILD_DIR=$BUILD_DIR" >>$GITHUB_ENV | |
cmake -DWITH_DEPLOY_SCRIPT=ON -DCMAKE_PREFIX_PATH=$Qt6_DIR -DCMAKE_BUILD_TYPE=${{ matrix.build-type }} -B $BUILD_DIR | |
- name: build | |
run: | | |
cmake --build $BUILD_DIR --target package | |
- name: upload artefacts | |
uses: actions/upload-artifact@v3 | |
with: | |
path: ${{ env.BUILD_DIR }}/soundscape-* | |
- name: release | |
uses: softprops/action-gh-release@v1 | |
if: startsWith(github.ref, 'refs/tags/') | |
with: | |
tag_name: ${{ github.ref_name }} | |
name: ${{ github.ref_name }} | |
draft: false | |
prerelease: false | |
files: ${{ env.BUILD_DIR }}/soundscape-* |