Release 2024.5.1 #1458
Workflow file for this run
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/mobile' ) && (!contains(github.event.head_commit.message, 'Translate ')) | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [ubuntu-latest, macos-13, windows-2019] | |
runs-on: ${{ matrix.os }} | |
env: | |
QT_VERSION: '6.6.3' # use scripts/update_qt_version.bash to change | |
GITHUB_TOKEN: ${{ secrets.INPUTAPP_BOT_GITHUB_TOKEN }} | |
CACHE_VERSION: 1 | |
XC_VERSION: ${{ '15.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 }} | |