Merge pull request #2795 from MerginMaps/master_cancelFreezes #55
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
name: Gallery App | |
on: | |
push: | |
paths: | |
- 'app/qml/**' | |
- 'app/qmlV2/**' | |
- 'gallery/**' | |
- '.github/workflows/gallery.yml' | |
release: | |
types: | |
- published | |
concurrency: | |
group: ci-${{github.ref}}-gallery | |
cancel-in-progress: true | |
jobs: | |
gallery_build: | |
if: ( github.repository == 'MerginMaps/input' ) && (!contains(github.event.head_commit.message, 'Translate ')) | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [ubuntu-latest, macos-latest, windows-2019] | |
runs-on: ${{ matrix.os }} | |
env: | |
QT_VERSION: '6.5.2' | |
GITHUB_TOKEN: ${{ secrets.INPUTAPP_BOT_GITHUB_TOKEN }} | |
CACHE_VERSION: 0 | |
XC_VERSION: ${{ '14.2' }} # macos-only | |
VS_VERSION: "2019" # win-only | |
QT_ARCH: "win64_msvc2019_64" # win-only | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Install Qt | |
uses: jurplel/install-qt-action@v3 | |
with: | |
version: ${{ env.QT_VERSION }} | |
setup-python: 'false' | |
modules: 'qtsensors qtconnectivity qt5compat qtmultimedia qtpositioning qtshadertools' | |
dir: ${{ github.workspace }} | |
cache: true | |
cache-key-prefix: ${{ runner.os }}-QtCache-v${{ env.CACHE_VERSION}}-${{ env.QT_VERSION }}-gallery | |
- name: Select latest Xcode (macos) | |
if: matrix.os == 'macos-latest' | |
run: "sudo xcode-select -s /Applications/Xcode_$XC_VERSION.app" | |
- uses: seanmiddleditch/gha-setup-ninja@master | |
if: matrix.os != 'windows-2019' | |
- name: Configure and Build Gallery App (macos & ubuntu) | |
if: matrix.os != 'windows-2019' | |
run: | | |
mkdir -p ${{ github.workspace }}/install-gallery | |
mkdir -p ${{ github.workspace }}/build-gallery | |
cd ${{ github.workspace }}/build-gallery | |
cmake \ | |
-DCMAKE_BUILD_TYPE=Release \ | |
-DCMAKE_PREFIX_PATH=${{ github.workspace }}/Qt/${QT_VERSION}/macos \ | |
-DCMAKE_INSTALL_PREFIX:PATH=${{ github.workspace }}/install-gallery \ | |
-GNinja \ | |
-S ../gallery \ | |
-B ./ | |
ninja | |
ninja install | |
ls -la ${{ github.workspace }}/install-gallery | |
- name: Prepare vars (windows) | |
if: matrix.os == 'windows-2019' | |
id: vars | |
shell: bash | |
run: | | |
WORKSPACE_DIR=$(cygpath -m "${{ github.workspace }}") | |
echo "WORKSPACE_DIR=$WORKSPACE_DIR" >> $GITHUB_OUTPUT | |
echo "WORKSPACE_DIR: $WORKSPACE_DIR" | |
- name: Developer Command Prompt for Microsoft Visual C++ (windows) | |
if: matrix.os == 'windows-2019' | |
uses: ilammy/msvc-dev-cmd@v1 | |
with: | |
vsversion: ${{ env.VS_VERSION }} | |
- name: Configure and Build Gallery App (windows) | |
if: matrix.os == 'windows-2019' | |
shell: cmd | |
run: | | |
mkdir install-gallery -ea 0 | |
mkdir build-gallery -ea 0 | |
cd build-gallery | |
cmake ^ | |
-DCMAKE_BUILD_TYPE=Release ^ | |
-DCMAKE_PREFIX_PATH:PATH=${{ env.Qt6_Dir }} ^ | |
-DCMAKE_INSTALL_PREFIX:PATH=${{ steps.vars.outputs.WORKSPACE_DIR }}/install-gallery ^ | |
-G "NMake Makefiles" ^ | |
-S ${{ steps.vars.outputs.WORKSPACE_DIR }}/gallery ^ | |
-B . | |
nmake | |
nmake install | |
- name: Prepare artefacts (macos & ubuntu) | |
if: matrix.os != 'windows-2019' | |
run: | | |
cd ${{ github.workspace }}/install-gallery | |
ls -la . | |
tar -czf ${{ github.workspace }}/merginmaps-gallery-${{ matrix.os }}.tar.gz . | |
- name: Prepare artefacts (windows) | |
if: matrix.os == 'windows-2019' | |
shell: cmd | |
run: | | |
cd install-gallery | |
dir | |
tar -czf ${{ github.workspace }}/merginmaps-gallery-${{ matrix.os }}.tar.gz . | |
- name: Upload APK to Artifacts | |
uses: actions/upload-artifact@v3 | |
with: | |
path: ${{ github.workspace }}/merginmaps-gallery-${{ matrix.os }}.tar.gz | |
name: Mergin Maps Gallery ${{ matrix.os }} | |