Skip to content
Closed

Lts/v2 #7934

Show file tree
Hide file tree
Changes from all commits
Commits
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
112 changes: 74 additions & 38 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ executors:
- image: mbgl/android-ndk-r22:latest
working_directory: ~/code
environment:
LTS_V2_BRANCH_NAME: lts/v2
MBX_CI_DOMAIN: o619qyc20d.execute-api.us-east-1.amazonaws.com
FORCE_MAPBOX_NAVIGATION_NATIVE_VERSION: << pipeline.parameters.mapbox_navigation_native_snapshot >>
ALLOW_SNAPSHOT_REPOSITORY: << pipeline.parameters.mapbox_navigation_native_upstream >>
Expand All @@ -43,35 +44,35 @@ workflows:
filters:
branches:
ignore:
- main
- /release-v.*/
- $LTS_V2_BRANCH_NAME
- /release-v2.*/
- release-snapshot:
requires:
- release-snapshot-start
- release-snapshot:
filters:
branches:
only:
- main
- /release-v.*/
- $LTS_V2_BRANCH_NAME
- /release-v2.*/
- release:
filters:
tags:
only: /v.*/
only: /v2.*/
branches:
ignore: /.*/
- release-androidauto:
filters:
tags:
only: /androidauto-v.*/
only: /androidauto-v([0-2]).*/
branches:
ignore: /.*/
- publish-documentation:
requires:
- release
filters:
tags:
only: /^v.*/
only: /^v2.*/
branches:
ignore: /.*/
daily-billing-tests:
Expand All @@ -84,18 +85,21 @@ workflows:
filters:
branches:
only:
- main
- $LTS_V2_BRANCH_NAME
default:
jobs:
- assemble
- assemble-old-deps-compat
- assemble-instrumentation-test
- assemble-instrumentation-test-internal
- assemble-androidauto-test
- assemble-app-mincompile
- assemble-qa-test-app
- assemble-android-auto-app
- changelog-verification:
filters:
branches:
ignore: /^(main|release-.*)/
ignore: /^($LTS_V2_BRANCH_NAME|release-v2.*)/
- prepare-static-analysis
- verify-codestyle:
requires:
Expand Down Expand Up @@ -158,7 +162,9 @@ workflows:
suite: TestSuitePart6
requires:
- assemble-instrumentation-test
- androidauto-test
- androidauto-test:
requires:
- assemble-androidauto-test
- mobile-metrics-dry-run:
type: approval
- mobile-metrics-benchmarks:
Expand Down Expand Up @@ -405,6 +411,18 @@ commands:
name: Assemble Navigation UI SDK (release)
command: make assemble-ui-release

assemble-qa-test-app:
steps:
- run:
name: Assemble qa-test-app (both NDK 23 and NDK 27 variants)
command: make assemble-qa-test-app

assemble-android-auto-app:
steps:
- run:
name: Assemble assemble-android-auto-app (both NDK 23 and NDK 27 variants)
command: make assemble-android-auto-app

assemble-old-deps-compat-release:
parameters:
additional_gradle_parameters:
Expand Down Expand Up @@ -442,7 +460,7 @@ commands:
- run:
name: Run Navigation Core SDK Unit Tests and generate Jacoco test report
command: |
if [[ "$CIRCLE_BRANCH" == "main" ]]; then
if [[ "$CIRCLE_BRANCH" == "$LTS_V2_BRANCH_NAME" ]]; then
echo "Run all core unit tests"
make core-unit-tests-jacoco
else
Expand All @@ -469,7 +487,7 @@ commands:
- run:
name: Run Navigation UI SDK Unit Tests and generate Jacoco test report
command: |
if [[ "$CIRCLE_BRANCH" == "main" ]]; then
if [[ "$CIRCLE_BRANCH" == "$LTS_V2_BRANCH_NAME" ]]; then
echo "Run all ui unit tests"
make ui-unit-tests-jacoco
else
Expand Down Expand Up @@ -551,8 +569,7 @@ commands:
gcloud firebase test android run --type instrumentation \
--app << parameters.module_wrapper >>/build/outputs/apk/<< parameters.variant >>/<< parameters.module_wrapper >>-<< parameters.variant >>.apk \
--test << parameters.module_target >>/build/outputs/apk/androidTest/<< parameters.variant >>/<< parameters.module_target >>-<< parameters.variant >>-androidTest.apk \
--device model=hammerhead,version=23,locale=fr,orientation=portrait \
--device model=q2q,version=31,locale=de,orientation=landscape \
--device model=oriole,version=31,locale=de,orientation=landscape \
--device model=panther,version=33,locale=it,orientation=landscape \
--use-orchestrator \
--timeout 10m
Expand All @@ -574,8 +591,7 @@ commands:
--app instrumentation-tests/build/outputs/apk/<< parameters.variant >>/instrumentation-tests-<< parameters.variant >>.apk \
--test instrumentation-tests/build/outputs/apk/androidTest/<< parameters.variant >>/instrumentation-tests-<< parameters.variant >>-androidTest.apk \
--test-targets "class com.mapbox.navigation.instrumentation_tests.<< parameters.suite >>" \
--device model=hammerhead,version=23,locale=fr,orientation=portrait \
--device model=q2q,version=31,locale=de,orientation=landscape \
--device model=oriole,version=31,locale=de,orientation=landscape \
--device model=panther,version=33,locale=it,orientation=landscape \
--use-orchestrator \
--directories-to-pull=/sdcard/Download/mapbox_test \
Expand All @@ -596,9 +612,7 @@ commands:
command: |
gcloud firebase test android run --type robo \
--app << parameters.module_target >>/build/outputs/apk/<< parameters.variant >>/<< parameters.module_target >>-<< parameters.variant >>.apk \
--device model=hwALE-H,version=21,locale=es,orientation=portrait \
--device model=hammerhead,version=23,locale=fr,orientation=portrait \
--device model=q2q,version=31,locale=de,orientation=landscape \
--device model=oriole,version=31,locale=de,orientation=landscape \
--device model=panther,version=33,locale=it,orientation=landscape \
--timeout 5m

Expand Down Expand Up @@ -799,6 +813,22 @@ jobs:
inject_token: true
- write-workspace

assemble-qa-test-app:
executor: ndk-r22-latest-executor
resource_class: medium+
steps:
- checkout
- restore-gradle-cache
- assemble-qa-test-app

assemble-android-auto-app:
executor: ndk-r22-latest-executor
resource_class: medium+
steps:
- checkout
- restore-gradle-cache
- assemble-android-auto-app

assemble-instrumentation-test-internal:
executor: ndk-r22-latest-executor
resource_class: medium+
Expand All @@ -815,6 +845,20 @@ jobs:
module_target: "libnavigator"
- write-workspace

assemble-androidauto-test:
executor: ndk-r22-latest-executor
resource_class: medium+
steps:
- checkout
- restore-gradle-cache
- assemble-module:
module_target: "app-tests-wrapper"
variant: "Debug"
- assemble-instrumentation-test:
module_target: "libnavui-androidauto"
inject_token: false
- write-workspace

unit-tests-core:
executor: ndk-r22-latest-executor
resource_class: medium+
Expand Down Expand Up @@ -1080,10 +1124,11 @@ jobs:
command: python3 scripts/validate_billing_e2e_sessions.py

androidauto-test:
executor:
name: android/android-machine
resource-class: xlarge
tag: 2022.04.1
executor: ndk-r22-latest-executor
environment:
JVM_OPTS: -Xmx3200m
BUILDTYPE: Debug
GRADLE_OPTS: -Xmx4096m -Dorg.gradle.daemon=false -Dkotlin.compiler.execution.strategy=in-process
steps:
- when:
condition:
Expand All @@ -1092,21 +1137,12 @@ jobs:
pattern: "^add-changelog.*"
value: << pipeline.git.branch >>
steps:
- checkout
- android/start-emulator-and-run-tests:
post-emulator-launch-assemble-command: ./gradlew libnavui-androidauto:assembleDebugAndroidTest -Dorg.gradle.jvmargs=-Xmx3g
test-command: ./gradlew libnavui-androidauto:connectedDebugAndroidTest -Dorg.gradle.jvmargs=-Xmx3g
system-image: system-images;android-30;google_apis_playstore;x86
wait-for-emulator: false
save-gradle-cache: false
- run:
name: Save test results
command: |
mkdir -p ~/mapbox_test/
adb pull sdcard/Download/mapbox_test ~/mapbox_test/
when: on_fail
- store_artifacts:
path: ~/mapbox_test/
- read-workspace
- login-google-cloud-platform
- run-internal-firebase-instrumentation:
module_target: "libnavui-androidauto"
module_wrapper: "app-tests-wrapper"
variant: "debug"
- run: exit 0

mobile-metrics-benchmarks:
Expand Down
58 changes: 58 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,64 @@ Mapbox welcomes participation and contributions from everyone.
#### Features
#### Bug fixes and improvements

## Mapbox Navigation SDK 2.22.0 - 05 November, 2025
### Changelog
[Changes between v2.21.0 and v2.22.0](https://github.com/mapbox/mapbox-navigation-android/compare/v2.21.0...v2.22.0)

#### Features
- The `PredictiveCacheController(PredictiveCacheOptions)` constructor is now deprecated. Use `PredictiveCacheController(MapboxNavigation, PredictiveCacheOptions)` instead. [#7856](https://github.com/mapbox/navigation/pull/7856)
- Exposed setting `MapboxVoiceInstructionsPlayer` to drop-in UI. Use `NavigationView#api#setVoiceInstructionsPlayer(MapboxVoiceInstructionsPlayer)` to set your own instance of `MapboxVoiceInstructionsPlayer`. [#7931](https://github.com/mapbox/navigation/pull/7931)
- Added support for Android 16 KB page-size devices. To consume SDK compatible with NDK 27 you need to add `-ndk27` suffix to the artifact name, for example, `com.mapbox.navigation:android` -> `com.mapbox.navigation:android-ndk27` [#7917](https://github.com/mapbox/navigation/pull/7917)
- Added support for Android Auto module that supports Android 16 KB page-size devices. To consume SDK compatible with NDK 27 you need to add `-ndk27` suffix to the artifact name, for example, `com.mapbox.navigation:ui-androidauto` -> `com.mapbox.navigation:ui-androidauto-ndk27` [#7922](https://github.com/mapbox/navigation/pull/7922)
- Optimized memory usage in Directions API model classes by interning frequently occurring strings in JSON. [#7840](https://github.com/mapbox/navigation/pull/7840)

#### Bug fixes and improvements
- Fixed an issue where native memory was not being properly released after the `MapboxNavigation` object was destroyed. [#7856](https://github.com/mapbox/navigation/pull/7856)
- Fixed UI jank caused by on-device TextToSpeech player. [#7833](https://github.com/mapbox/navigation/pull/7833)
- Fixed crash on `ManeuverViewBinder` with TransitionManager#go(Scene). [#7908](https://github.com/mapbox/navigation/pull/7908)

### Mapbox dependencies
This release depends on, and has been tested with, the following Mapbox dependencies:
- Mapbox Maps SDK `v10.19.0` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v10.19.0))
- Mapbox Navigation Native `v207.0.0`
- Mapbox Core Common `v23.11.4`
- Mapbox Java `v7.1.0` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.1.0))


## Mapbox Navigation SDK 2.20.4 - 18 July, 2025
### Changelog
[Changes between v2.20.3 and v2.20.4](https://github.com/mapbox/mapbox-navigation-android/compare/v2.20.3...v2.20.4)

#### Bug fixes and improvements
- Fixed crash on `ManeuverViewBinder` with TransitionManager#go(Scene). [#7908](https://github.com/mapbox/navigation/pull/7908)

### Mapbox dependencies
This release depends on, and has been tested with, the following Mapbox dependencies:
- Mapbox Maps SDK `v10.18.3` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v10.18.3))
- Mapbox Navigation Native `v206.1.1`
- Mapbox Core Common `v23.10.1`
- Mapbox Java `v7.1.0` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.1.0))


## Mapbox Navigation SDK 2.20.3 - 21 March, 2025
### Changelog
[Changes between v2.20.2 and v2.20.3](https://github.com/mapbox/mapbox-navigation-android/compare/v2.20.2...v2.20.3)

#### Features


#### Bug fixes and improvements
- Improved completion detection policy [#7897](https://github.com/mapbox/navigation/pull/7897)
- Disabled continuous alternatives feature for the cycling profile [#7897](https://github.com/mapbox/navigation/pull/7897)

### Mapbox dependencies
This release depends on, and has been tested with, the following Mapbox dependencies:
- Mapbox Maps SDK `v10.18.3` ([release notes](https://github.com/mapbox/mapbox-maps-android/releases/tag/v10.18.3))
- Mapbox Navigation Native `v206.1.1`
- Mapbox Core Common `v23.10.1`
- Mapbox Java `v7.1.0` ([release notes](https://github.com/mapbox/mapbox-java/releases/tag/v7.1.0))


## Mapbox Navigation SDK 2.20.2 - 29 August, 2024
### Changelog
[Changes between v2.20.1 and v2.20.2](https://github.com/mapbox/mapbox-navigation-android/compare/v2.20.1...v2.20.2)
Expand Down
Loading