name: 'Deploy workflow' on: [push] jobs: Build-Linux-Ubuntu: name: 'Build-Linux-Ubuntu' runs-on: ubuntu-latest env: QT_VERSION: 5.15.2 QIF_VERSION: 4.5 steps: - name: 'Install Qt' uses: jurplel/install-qt-action@v3 with: version: ${{ env.QT_VERSION }} host: 'linux' target: 'desktop' arch: 'gcc_64' dir: ${{ runner.temp }} setup-python: 'true' tools: 'tools_ifw' set-env: 'true' extra: '--external 7z' - name: 'Get sources' uses: actions/checkout@v3 with: submodules: 'true' fetch-depth: 10 - name: 'Setup ccache' uses: hendrikmuhs/ccache-action@v1.2 - name: 'Build project' run: | export QT_BIN_DIR=${{ runner.temp }}/Qt/${{ env.QT_VERSION }}/gcc_64/bin export QIF_BIN_DIR=${{ runner.temp }}/Qt/Tools/QtInstallerFramework/${{ env.QIF_VERSION }}/bin bash deploy/build_linux.sh # ------------------------------------------------------ Build-Windows: name: Build-Windows runs-on: windows-latest continue-on-error: true strategy: matrix: arch: [32, 64] include: - qt-arch: 'win32_msvc2019' arch: 32 - qt-msvc-path: 'msvc2019' arch: 32 - msvc-arch: 'x86' arch: 32 - qt-arch: 'win64_msvc2019_64' arch: 64 - qt-msvc-path: 'msvc2019_64' arch: 64 - msvc-arch: 'x64' arch: 64 env: QT_VERSION: 5.15.2 QIF_VERSION: 4.5 BUILD_ARCH: ${{ matrix.arch }} steps: - name: 'Get sources' uses: actions/checkout@v3 with: submodules: 'true' fetch-depth: 10 - name: 'Setup ccache' uses: hendrikmuhs/ccache-action@v1.2 - name: 'Install Qt' uses: jurplel/install-qt-action@v3 with: version: ${{ env.QT_VERSION }} host: 'windows' target: 'desktop' arch: '${{ matrix.qt-arch }}' dir: ${{ runner.temp }} setup-python: 'true' tools: 'tools_ifw' set-env: 'true' extra: '--external 7z' - name: 'Setup mvsc' uses: ilammy/msvc-dev-cmd@v1 with: arch: ${{ matrix.msvc-arch }} - name: 'Build project' shell: cmd run: | set BUILD_ARCH=${{ env.BUILD_ARCH }} set QT_BIN_DIR="${{ runner.temp }}\\Qt\\${{ env.QT_VERSION }}\\${{ matrix.qt-msvc-path }}\\bin" set QIF_BIN_DIR="${{ runner.temp }}\\Qt\\Tools\\QtInstallerFramework\\${{ env.QIF_VERSION }}\\bin" call deploy\\build_windows.bat # ------------------------------------------------------ Build-IOS: name: 'Build-IOS' runs-on: macos-latest env: QT_VERSION: 5.15.2 QIF_VERSION: 4.4 steps: - name: 'Setup xcode' uses: maxim-lobanov/setup-xcode@v1 with: xcode-version: '13.4' - name: 'Install Qt' uses: jurplel/install-qt-action@v3 with: version: ${{ env.QT_VERSION }} host: 'mac' target: 'ios' dir: ${{ runner.temp }} setup-python: 'true' set-env: 'true' extra: '--external 7z' - name: 'Install go' uses: actions/setup-go@v3 - name: 'Setup gomobile' run: | export PATH=$PATH:~/go/bin go install golang.org/x/mobile/cmd/gomobile@latest gomobile init - name: 'Get sources' uses: actions/checkout@v3 with: submodules: 'true' fetch-depth: 10 - name: 'Setup ccache' uses: hendrikmuhs/ccache-action@v1.2 - name: 'Build project' run: | export QT_BIN_DIR="${{ runner.temp }}/Qt/${{ env.QT_VERSION }}/ios/bin" export QT_IOS_BIN=$QT_BIN_DIR export PATH=$PATH:~/go/bin bash deploy/build_ios.sh # ------------------------------------------------------ Build-MacOS: name: 'Build-MacOS' runs-on: macos-latest env: QT_VERSION: 5.15.2 QIF_VERSION: 4.5 steps: - name: 'Setup xcode' uses: maxim-lobanov/setup-xcode@v1 with: xcode-version: '13.4' - name: 'Install Qt' uses: jurplel/install-qt-action@v3 with: version: ${{ env.QT_VERSION }} host: 'mac' target: 'desktop' arch: 'clang_64' dir: ${{ runner.temp }} setup-python: 'true' tools: 'tools_ifw' set-env: 'true' extra: '--external 7z' - name: 'Get sources' uses: actions/checkout@v3 with: submodules: 'true' fetch-depth: 10 - name: 'Setup ccache' uses: hendrikmuhs/ccache-action@v1.2 - name: 'Build project' run: | export QT_BIN_DIR="${{ runner.temp }}/Qt/${{ env.QT_VERSION }}/clang_64/bin" export QIF_BIN_DIR="${{ runner.temp }}/Qt/Tools/QtInstallerFramework/${{ env.QIF_VERSION }}/bin" bash deploy/build_macos.sh # ------------------------------------------------------ Build-Android: name: 'Build-Android' runs-on: ubuntu-latest env: QT_VERSION: 5.15.2 QIF_VERSION: 4.5 steps: - name: 'Install Qt' uses: jurplel/install-qt-action@v3 with: version: ${{ env.QT_VERSION }} host: 'linux' target: 'android' arch: 'android' dir: ${{ runner.temp }} setup-python: 'true' set-env: 'true' extra: '--external 7z' - name: 'Get sources' uses: actions/checkout@v3 with: submodules: 'true' fetch-depth: 10 - name: 'Setup ccache' uses: hendrikmuhs/ccache-action@v1.2 - name: 'Setup Java' uses: actions/setup-java@v3 with: distribution: 'temurin' java-version: '8' - name: 'Build project' run: | export NDK_VERSION=21d export ANDROID_NDK_PLATFORM=android-21 export ANDROID_NDK_HOME=${{ runner.temp }}/android-ndk-r${NDK_VERSION} export ANDROID_NDK_ROOT=$ANDROID_NDK_HOME if [ ! -f $ANDROID_NDK_ROOT/ndk-build ]; then wget https://dl.google.com/android/repository/android-ndk-r${NDK_VERSION}-linux-x86_64.zip -qO ${{ runner.temp }}/ndk.zip && unzip -q -d ${{ runner.temp }} ${{ runner.temp }}/ndk.zip ; fi export QT_BIN_DIR=${{ runner.temp }}/Qt/${{ env.QT_VERSION }}/android/bin bash deploy/build_android.sh