Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
72 commits
Select commit Hold shift + click to select a range
4bf59f3
Initial build for macos and ios
tomasMizera Apr 22, 2026
c21c512
Fix Bluetooth model syntax
tomasMizera Apr 23, 2026
0b8bad0
Merge branch 'master' into dev/qt-6.10.2
tomasMizera Apr 24, 2026
66dc38c
Update QGIS to 3.44.10
Withalion May 5, 2026
f17dd94
Format cmake files
Withalion May 5, 2026
3f34c4d
Fix failing Linux build
Withalion May 5, 2026
8ce1b4d
Add log to Linux CI
Withalion May 6, 2026
4dcf10b
Install mono on linux CI
Withalion May 6, 2026
1d840ae
Remove mono from deleted packages
Withalion May 6, 2026
ec847f5
Remove debug output from Linux CI
Withalion May 6, 2026
d8b6c0f
Update Geodiff to 2.2.0
Withalion May 6, 2026
e559e45
Fix nuget for Linux CI again
Withalion May 6, 2026
12a2941
Reintroduce Geodiff warning flag
Withalion May 6, 2026
75e6bce
Update runner versions and cmake minor version
Withalion May 6, 2026
4b20cb7
Update xCode version to 26.4.1
Withalion May 6, 2026
bbc1837
Remove deployment target for apple builds
Withalion May 6, 2026
163a6be
Fix dep install on Linux CI
Withalion May 6, 2026
6b46aa3
Update or remove manual versions of Qt in CI
Withalion May 6, 2026
e569978
Remove unused env var in Gallery CI
Withalion May 6, 2026
bd34808
Fix missing mono package on newer Ubuntu
Withalion May 6, 2026
9be20a0
Return xvfb package on Linux CI
Withalion May 6, 2026
9116011
Wrap geodiff compilation flag to apple only
Withalion May 6, 2026
3073b68
Add package for libxcrypt
Withalion May 6, 2026
c96bcad
Update signing certs for iOS
Withalion May 6, 2026
ce76cc3
Another try to fix iOS certs
Withalion May 6, 2026
93e5948
Fix iOS signing cert
Withalion May 7, 2026
5ce46a9
Format geodiff port
Withalion May 7, 2026
b627e9b
Update QtDeclarative to 6.10.3
Withalion May 7, 2026
8a3cf92
Remove QtKeychain overlay port
Withalion May 7, 2026
2aeb487
Update cmake info in INSTALL.md
Withalion May 7, 2026
62eb6f7
Remove QtMultimedia overlay port, use VCPKG default
Withalion May 7, 2026
e1a184d
Update QtPositioning to 6.10.3
Withalion May 7, 2026
c2225a7
Remove GStreamer overlay port and use VCPKG default
Withalion May 7, 2026
6002d80
Remove libb2 overlay port, vcpkg bug should be fixed now
Withalion May 7, 2026
e3957b4
Update libiconv overlay port to match VCPKG port
Withalion May 7, 2026
619338d
Add LibSpatialIndex port info to README
Withalion May 7, 2026
b274f0b
Remove unused qca patches, update README
Withalion May 7, 2026
392e935
Remove libspatialindex overlay port & pin version in vcpkg.json
Withalion May 7, 2026
625c38e
Remove qtbase overlay port in place of VCPKG default port
Withalion May 7, 2026
98929a0
Add wayland support for linux build
Withalion May 7, 2026
d53b569
Update xcode in Android CI
Withalion May 7, 2026
c6bf02b
Update cmake version in CI to match used by VCPKG
Withalion May 7, 2026
87c2fa8
Add wayland packages for linux build
Withalion May 8, 2026
74dfc75
Add pcre2 port to fix android linker error
Withalion May 11, 2026
9bb6235
Update android CI
Withalion May 11, 2026
e964458
Update Android setup based on Qt 6.10
Withalion May 11, 2026
d64f4df
Fix Android build issues
Withalion May 11, 2026
a5a50f1
Format cmake
Withalion May 11, 2026
c986fd9
Fix Android ARMv7 build
Withalion May 12, 2026
d339f5f
WIP fixed safe area rendering on iOS and cmake configuration for andr…
gabriel-bolbotina May 12, 2026
492d9eb
Add libpq port for iOS
Withalion May 12, 2026
35c5c4a
Fix another libpq issue on iOS
Withalion May 12, 2026
f552d78
Fix iOS build arg for make in VCPKG
Withalion May 12, 2026
6792688
Remove libiconv port
Withalion May 12, 2026
9ee3a0a
Fix qtpositioning patches for windows
Withalion May 13, 2026
2af2739
Fix qgis patches for Windows
Withalion May 13, 2026
56bee7d
Add fix for windows build failing on lazperf
Withalion May 14, 2026
cc4964d
Amend last windows fix to target only windows
Withalion May 14, 2026
33049c3
Fix local ios VCPKG build failing on race condition
Withalion May 14, 2026
2282047
Fix qtmultimedia build on iOS
Withalion May 14, 2026
a624bec
Fix windows QGIS again
Withalion May 15, 2026
2034201
Fix windows packager
Withalion May 15, 2026
1f5ba06
Fix ios Spatialite build
Withalion May 18, 2026
1190d4f
Fix missing symbols for ios
Withalion May 18, 2026
61b50c0
Format cmake
Withalion May 18, 2026
70d6bed
Upload AABs to Google play
Withalion May 18, 2026
4a944d0
Merge branch 'master' into dev/qt-6.10.2
Withalion May 18, 2026
d6bea56
Fix failing maptools tests
Withalion May 19, 2026
d4b1e1f
Fix lcov
Withalion May 20, 2026
60c1116
Polish linux CI file
Withalion May 20, 2026
6a09a51
Mitigate coveralls breaking CI
Withalion May 20, 2026
e485b29
Fix Linux install
Withalion May 20, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file modified .github/secrets/ios/Certificates_ios_dist.p12.gpg
Binary file not shown.
Binary file not shown.
55 changes: 26 additions & 29 deletions .github/workflows/android.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,20 +35,19 @@ jobs:
ANDROID_ABI: 'arm64-v8a'
BUILD_OFFSET: 50

runs-on: macos-15
runs-on: macos-26
env:
NDK_VERSION: 'r27' # '27.2.12479018'
NDK_VERSION_FULL: r27c
JDK_VERSION: 17
SDK_PLATFORM: android-35
ANDROIDAPI: 24
SDK_PLATFORM: android-36
VCPKG_BINARY_SOURCES: 'clear;nuget,GitHub,readwrite'
SDK_BUILD_TOOLS: 34.0.0
CMAKE_VERSION: '3.31.6'
SDK_BUILD_TOOLS: 36.0.0
CMAKE_VERSION: '4.3.2'
QT_ANDROID_KEYSTORE_ALIAS: input
QT_ANDROID_KEYSTORE_KEY_PASS: ${{ secrets.INPUTKEYSTORE_STOREPASS }}
QT_ANDROID_KEYSTORE_STORE_PASS: ${{ secrets.INPUTKEYSTORE_STOREPASS }}
XC_VERSION: ${{ '16.2' }}
XC_VERSION: ${{ '26.4.1' }}
VCPKG_ROOT: '${{ github.workspace }}/vcpkg'
LC_ALL: 'en_US.UTF-8' #fastlane
LANG: 'en_US.UTF-8' #fastlane
Expand Down Expand Up @@ -97,7 +96,7 @@ jobs:
cmakeVersion: ${{ env.CMAKE_VERSION }}

- name: Setup XCode
uses: maxim-lobanov/setup-xcode@v1.6.0
uses: maxim-lobanov/setup-xcode@v1.7.0
with:
xcode-version: ${{ env.XC_VERSION }}

Expand Down Expand Up @@ -126,13 +125,15 @@ jobs:
add-to-path: true

- name: Set up JDK
uses: actions/setup-java@v3
uses: actions/setup-java@v5
with:
java-version: ${{ env.JDK_VERSION }}
distribution: zulu

- name: Setup Android SDK
uses: malinskiy/action-android/install-sdk@release/0.1.7
uses: android-actions/setup-android@v4
with:
packages: ''

- name: Install Android Tools
run: |
Expand Down Expand Up @@ -265,26 +266,24 @@ jobs:
path: ${{ github.workspace }}/merginmaps-${{ env.MM_VERSION_CODE }}-${{ matrix.ANDROID_ABI }}.apk
name: Mergin Maps ${{ env.MM_VERSION_CODE }} APK [${{ matrix.ANDROID_ABI }}]

- name: Deploy App to Google play - Internal app sharing
if: ${{ !(github.ref_name == 'master' || github.ref_type == 'tag') }}
run: |
cd ${{ github.workspace }}/mm/fastlane
FASTLANE_OUTPUT=$(bundle exec fastlane deploy_app_sharing apk_path:${{ github.workspace }}/merginmaps-${{ env.MM_VERSION_CODE }}-${{ matrix.ANDROID_ABI }}.apk)

echo "$FASTLANE_OUTPUT"
SHARE_URL=$(echo "$FASTLANE_OUTPUT" | awk '/APP_SHARE_URL:/ {print $NF}')
echo "Google play store APK link: $SHARE_URL" >> $GITHUB_STEP_SUMMARY

# Write the Play Store link into this job's check run output
curl -s -X PATCH \
-H "Authorization: Bearer ${{ secrets.GITHUB_TOKEN }}" \
-H "Accept: application/vnd.github+json" \
-H "X-GitHub-Api-Version: 2026-03-10" \
"https://api.github.com/repos/${{ github.repository }}/check-runs/${{ job.check_run_id }}" \
-d "{\"output\":{\"title\":\"Android ${{ matrix.ANDROID_ABI }}\",\"summary\":\"$SHARE_URL\"}}"
# - name: Deploy App to Google play - Internal app sharing
# run: |
# cd ${{ github.workspace }}/mm/fastlane
# FASTLANE_OUTPUT=$(bundle exec fastlane deploy_app_sharing apk_path:${{ github.workspace }}/merginmaps-${{ env.MM_VERSION_CODE }}-${{ matrix.ANDROID_ABI }}.apk)
#
# echo "$FASTLANE_OUTPUT"
# SHARE_URL=$(echo "$FASTLANE_OUTPUT" | awk '/APP_SHARE_URL:/ {print $NF}')
# echo "Google play store APK link: $SHARE_URL" >> $GITHUB_STEP_SUMMARY
#
# # Write the Play Store link into this job's check run output
# curl -s -X PATCH \
# -H "Authorization: Bearer ${{ secrets.GITHUB_TOKEN }}" \
# -H "Accept: application/vnd.github+json" \
# -H "X-GitHub-Api-Version: 2026-03-10" \
# "https://api.github.com/repos/${{ github.repository }}/check-runs/${{ job.check_run_id }}" \
# -d "{\"output\":{\"title\":\"Android ${{ matrix.ANDROID_ABI }}\",\"summary\":\"$SHARE_URL\"}}"

- name: Build AAB
if: ${{ github.ref_name == 'master' || github.ref_type == 'tag' }}
env:
ANDROID_NDK_HOME: ${{ steps.setup-ndk.outputs.ndk-path }}
run: |
Expand All @@ -295,7 +294,6 @@ jobs:
find . | grep .aab

- name: Rename AAB artefacts
if: ${{ github.ref_name == 'master' || github.ref_type == 'tag' }}
run: |
mv \
${{ github.workspace }}/build-mm/app/android-build/build/outputs/bundle/release/android-build-release.aab \
Expand All @@ -309,7 +307,6 @@ jobs:
name: Mergin Maps ${{ env.MM_VERSION_CODE }} AAB [${{ matrix.ANDROID_ABI }}]

- name: Deploy App to Google play - Internal app sharing
if: ${{ github.ref_name == 'master' || github.ref_type == 'tag' }}
run: |
cd ${{ github.workspace }}/mm/fastlane
FASTLANE_OUTPUT=$(bundle exec fastlane deploy_app_sharing aab_path:${{ github.workspace }}/merginmaps-${{ env.MM_VERSION_CODE }}-${{ matrix.ANDROID_ABI }}.aab)
Expand Down
4 changes: 0 additions & 4 deletions .github/workflows/code_style.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,10 +17,6 @@ on:
types:
- published

env:
QT_VERSION: '6.8.3' # use scripts/update_qt_version.bash to change
CACHE_VERSION: 0

jobs:
code_style_cpp:
name: C++ code convention check
Expand Down
7 changes: 3 additions & 4 deletions .github/workflows/gallery.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,15 +20,14 @@ jobs:
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-15, windows-2022]
os: [ubuntu-latest, macos-26, windows-latest]
runs-on: ${{ matrix.os }}
env:
QT_VERSION: '6.8.3' # use scripts/update_qt_version.bash to change
QT_VERSION: '6.10.3'
GITHUB_TOKEN: ${{ secrets.INPUTAPP_BOT_GITHUB_TOKEN }}
CACHE_VERSION: 1
XC_VERSION: ${{ '16.2' }} # macos-only
XC_VERSION: ${{ '26.4.1' }} # macos-only
VS_VERSION: "2022" # win-only
QT_ARCH: "win64_msvc2022_64" # win-only

steps:
- uses: actions/checkout@v6
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/i18n.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ jobs:
if: ( github.repository == 'MerginMaps/mobile' ) && (!contains(github.event.head_commit.message, 'Translate '))
runs-on: ubuntu-latest
env:
QT_VERSION: '6.8.3' # use scripts/update_qt_version.bash to change
QT_VERSION: '6.10.3'
steps:

- uses: actions/checkout@v6
Expand Down
12 changes: 5 additions & 7 deletions .github/workflows/ios.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,14 +20,13 @@ on:
- published

env:
CMAKE_VERSION: '3.31.6'
CMAKE_VERSION: '4.3.2'
VCPKG_BINARY_SOURCES: 'clear;nuget,GitHub,readwrite'
VCPKG_ROOT: '${{ github.workspace }}/vcpkg'
XC_VERSION: ${{ '16.4' }}
DEPLOYMENT_TARGET: '14.0'
XC_VERSION: ${{ '26.4.1' }}
TRIPLET: arm64-ios
IOS_PROVISIONING_PROFILE_UUID: 59aaa8d7-516a-4592-8c58-d7d1c1f81610
KEYCHAIN: ${{ 'inputapp.keychain' }}
KEYCHAIN: ${{ 'mmapp.keychain' }}

concurrency:
group: ci-${{github.ref}}-ios
Expand All @@ -36,7 +35,7 @@ concurrency:
jobs:
ios_build:
if: ( github.repository == 'MerginMaps/mobile' ) && (!contains(github.event.head_commit.message, 'Translate '))
runs-on: macos-15
runs-on: macos-26
steps:
- name: Checkout
uses: actions/checkout@v6
Expand All @@ -57,7 +56,7 @@ jobs:
cmakeVersion: ${{ env.CMAKE_VERSION }}

- name: Setup XCode
uses: maxim-lobanov/setup-xcode@v1.6.0
uses: maxim-lobanov/setup-xcode@v1.7.0
with:
xcode-version: ${{ env.XC_VERSION }}

Expand Down Expand Up @@ -163,7 +162,6 @@ jobs:
-D CMAKE_CXX_VISIBILITY_PRESET=hidden \
-D CMAKE_SYSTEM_NAME=iOS \
-D CMAKE_SYSTEM_PROCESSOR=aarch64 \
-D CMAKE_OSX_DEPLOYMENT_TARGET=${{ env.DEPLOYMENT_TARGET }} \
-DIOS=TRUE \
-DUSE_MM_SERVER_API_KEY=TRUE \
-DUSE_KEYCHAIN=No \
Expand Down
44 changes: 24 additions & 20 deletions .github/workflows/linux.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ on:
- published

env:
CMAKE_VERSION: '3.31.6'
CMAKE_VERSION: '4.3.2'
VCPKG_BINARY_SOURCES: 'clear;nuget,GitHub,readwrite'
VCPKG_ROOT: "${{ github.workspace }}/vcpkg"
TRIPLET: x64-linux
Expand All @@ -32,25 +32,26 @@ concurrency:
jobs:
linux_build:
if: ( github.repository == 'MerginMaps/mobile' ) && (!contains(github.event.head_commit.message, 'Translate '))
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
steps:
- name: Checkout
uses: actions/checkout@v6
with:
path: mm

- name: Free Disk Space
- name: Free disk space
uses: jlumbroso/free-disk-space@main

- name: Install Build Dependencies
- name: Install build dependencies
run: |
sudo apt-get update -y

sudo apt-get install -y \
gperf autopoint '^libxcb.*-dev' libx11-xcb-dev libegl1-mesa libegl1-mesa-dev \
gperf autopoint '^libxcb.*-dev' libx11-xcb-dev libegl1-mesa-dev \
libglu1-mesa-dev libxrender-dev libxi-dev libxkbcommon-dev libxkbcommon-x11-dev \
autoconf-archive libgstreamer-gl1.0-0 libgstreamer-plugins-base1.0-0 libfuse2 \
bison flex lcov nasm libxrandr-dev xvfb
autoconf-archive libgstreamer-gl1.0-0 libgstreamer-plugins-base1.0-0 libfuse2t64 \
lcov nasm libxrandr-dev mono-complete xvfb libltdl-dev libwayland-dev libwayland-egl-backend-dev \
wayland-protocols

# Required to run unit tests on linux
echo "QT_QPA_PLATFORM=offscreen" >> $GITHUB_ENV
Expand All @@ -72,13 +73,13 @@ jobs:
-k "$MERGINSECRETS_DECRYPT_KEY" \
-md md5

- name: ccache
- name: Ccache
uses: hendrikmuhs/ccache-action@v1.2
with:
key: ccache-${{ env.TRIPLET }}
max-size: 200M

- name: Install vcpkg
- name: Install VCPKG
shell: bash
run: |
mkdir -p "${{ env.VCPKG_ROOT }}"
Expand All @@ -92,18 +93,20 @@ jobs:
chmod +x ./bootstrap-vcpkg.sh
./bootstrap-vcpkg.sh

- name: Setup NuGet Credentials
- name: Setup NuGet credentials
shell: bash
run: |
mono `${{ env.VCPKG_ROOT }}/vcpkg fetch nuget | tail -n 1` \
${{ env.VCPKG_ROOT }}/vcpkg fetch nuget

mono `${{ env.VCPKG_ROOT }}/vcpkg fetch nuget | head -n 1` \
sources add \
-source "https://nuget.pkg.github.com/merginmaps/index.json" \
-storepasswordincleartext \
-name "GitHub" \
-username "mergin-maps-bot" \
-password "${{ secrets.MERGIN_MAPS_BOT_GITHUB_TOKEN }}"

mono `${{ env.VCPKG_ROOT }}/vcpkg fetch nuget | tail -n 1` \
mono `${{ env.VCPKG_ROOT }}/vcpkg fetch nuget | head -n 1` \
setapikey "${{ secrets.MERGIN_MAPS_BOT_GITHUB_TOKEN }}" \
-source "https://nuget.pkg.github.com/merginmaps/index.json"

Expand All @@ -114,7 +117,7 @@ jobs:

echo "Version code: ${BUILD_NUM}"

- name: build app (debug)
- name: Build app (debug)
run: |
mkdir -p build-mm-db
cd build-mm-db
Expand All @@ -133,29 +136,30 @@ jobs:

ninja

- name: run tests
- name: Run tests
env:
QT_QPA_PLATFORM: "offscreen"
run: |
cd build-mm-db/
xvfb-run --server-args="-screen 0 640x480x24" ctest --output-on-failure

- name: build lcov summary
- name: Build lcov summary
run: |
cd build-mm-db

lcov --directory . --capture --output-file coverage.info

lcov --remove coverage.info '*/vcpkg_installed/*' '*Qt/*' '*/merginsecrets.cpp' '*/test/*' '/usr/*' '/Applications/*' '/opt/*' '*build-mm-db/*' --output-file coverage.info
lcov --remove coverage.info '*/vcpkg_installed/*' '*/merginsecrets.cpp' '*/test/*' '/usr/*' '*build-mm-db/*' --output-file coverage.info
lcov --list coverage.info

- name: Coveralls
uses: coverallsapp/github-action@master
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
path-to-lcov: build-mm-db/coverage.info
fail-on-error: false

- name: build app
- name: Build app (release)
run: |
mkdir -p install-mm
mkdir -p build-mm
Expand All @@ -175,13 +179,13 @@ jobs:
ninja
ninja install

- name: Get TimeStamp
- name: Get timestamp
id: time
uses: josStorer/get-current-time@v2.0.2
with:
format: 'YYYYMMDD'

- name: package app
- name: Package app
run: |
MM_TAR=input-${{ env.MM_VERSION_CODE }}-${{ steps.time.outputs.formattedTime }}-${{ github.run_number }}.tar.gz
echo "MM_TAR=${MM_TAR}" >> $GITHUB_ENV
Expand All @@ -190,7 +194,7 @@ jobs:
find .
tar -c -z -f ${{ github.workspace }}/${MM_TAR} ./

- name: Upload Sdk in Artifacts
- name: Upload app to artifacts
uses: actions/upload-artifact@v6
with:
path: ${{ github.workspace }}/${{ env.MM_TAR }}
Expand Down
9 changes: 4 additions & 5 deletions .github/workflows/macos.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,11 +19,10 @@ on:
- published

env:
CMAKE_VERSION: '3.31.6'
CMAKE_VERSION: '4.3.2'
VCPKG_BINARY_SOURCES: 'clear;nuget,GitHub,readwrite'
VCPKG_ROOT: '${{ github.workspace }}/vcpkg'
XC_VERSION: ${{ '16.4' }}
DEPLOYMENT_TARGET: '11.0'
XC_VERSION: ${{ '26.4.1' }}
TRIPLET: arm64-osx

concurrency:
Expand All @@ -33,7 +32,7 @@ concurrency:
jobs:
macos_build:
if: ( github.repository == 'MerginMaps/mobile' ) && (!contains(github.event.head_commit.message, 'Translate '))
runs-on: macos-15
runs-on: macos-26
steps:
- name: Checkout
uses: actions/checkout@v6
Expand All @@ -54,7 +53,7 @@ jobs:
cmakeVersion: ${{ env.CMAKE_VERSION }}

- name: Setup XCode
uses: maxim-lobanov/setup-xcode@v1.6.0
uses: maxim-lobanov/setup-xcode@v1.7.0
with:
xcode-version: ${{ env.XC_VERSION }}

Expand Down
Loading
Loading