fix(ci): pin isolated-kit gradle version to prevent 6.0.0-rc.1 pull#714
Conversation
The isolated urbanairship-kit lint/test steps in daily.yml and the kit-compatibility test in pull-request.yml run `./gradlew` from inside the kit dir without `-Pversion=...`. The kit's standalone build.gradle defaults `project.version = '+'`, so its `com.mparticle:android-kit-plugin` dependency resolves to the highest version on Maven Central — now `6.0.0-rc.1` (published 2026-05-22), which renamed/removed kit-base symbols and broke the kit's compile. Mirror the pattern already used in the Sonatype Release job: extract the SDK version via `./gradlew -q properties` and pass it as `-Pversion=...` to every standalone kit invocation, so it resolves the freshly-published mavenLocal artifact instead of the RC. Affected steps: - lint-checks → Run Isolated Kit Lint (urbanairship-kit) - kotlin-lint-checks → Run Isolated Kit Kotlin Lint (urbanairship-kit) - update-kits → Test Isolated Kits (urbanairship-kit) - kit-compatibility-test → Run Isolated Kit Compatibility Tests (urbanairship-kit) The companion defensive fix in mparticle-android-integration-urbanairship pins the kit's standalone `project.version` to `[5.0,6.0)`. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
PR SummaryLow Risk Overview That stops isolated kit builds from using the kit default Reviewed by Cursor Bugbot for commit 1b9d339. Bugbot is set up for automated code reviews on this repo. Configure here. |
|
## [5.79.1](v5.79.0...v5.79.1) (2026-05-27) ### Bug Fixes * **ci:** pin isolated-kit gradle version to prevent 6.0.0-rc.1 pull ([#714](#714)) ([eff10ea](eff10ea)) ### Updates & Maintenance * bump trunk-io/trunk-action from 1.2.4 to 1.3.1 ([#705](#705)) ([f4ceca7](f4ceca7)) * Update submodules ([e435979](e435979))
|
🎉 This PR is included in version 5.79.1 🎉 The release is available on GitHub release Your semantic-release bot 📦🚀 |
* chore: Update submodules * chore: 5.78.3 (release) ## [5.78.3](v5.78.2...v5.78.3) (2026-03-11) ### Updates & Maintenance * bump actions/upload-artifact from 6 to 7 ([#649](#649)) ([0a188b1](0a188b1)) * Update submodules ([cbb17d7](cbb17d7)) * chore: Update submodules * chore: 5.78.4 (release) ## [5.78.4](v5.78.3...v5.78.4) (2026-03-23) ### Updates & Maintenance * Update submodules ([08dab75](08dab75)) * chore: Update submodules * chore: 5.78.5 (release) ## [5.78.5](v5.78.4...v5.78.5) (2026-03-25) ### Updates & Maintenance * Update submodules ([86d8d97](86d8d97)) * fix: increase MPLatch timeout from 5s to 30s (#695) * fix: increase MPLatch timeout from 5s to 30s The 5-second timeout is too short for WebView JS bridge tests running on newer GitHub Actions runner images (ubuntu24/20260309.50+). The MParticleJSInterfaceITest tests consistently fail because JS execution in the emulator WebView doesn't complete within 5 seconds on these environments. Increasing to 30 seconds provides sufficient margin while still catching genuine hangs via the workflow-level timeout-minutes: 15. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * fix: use explicit 30s timeout in JS bridge tests only Instead of increasing the global MPLatch timeout (used by 20+ test files), use an explicit 30-second await in MParticleJSInterfaceITest only. WebView JS execution needs more time on newer CI runner images, but other tests don't need the longer timeout. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * feat: Add max persistence age override option [TRIAGE-608] (#699) * TRIAGE-608: Add max persistence age override option * TRIAGE-608: Update throttl ts on success + tests * TRIAGE-608: Make properties @VisibleForTesting * TRIAGE-608: Fix retry-on-failure throttle logic * feat: add customBaseURL CNAME support to NetworkOptions (#701) * feat: add customBaseURL CNAME support to NetworkOptions Adds NetworkOptions.Builder.setCustomBaseURL(String) which routes all mParticle endpoint traffic (config, events, identity, alias, audience) through a single HTTPS CNAME host. When set, customBaseURL takes priority over individual domain mappings and rewrites paths to match CDN routing: /config/v4/, /nativeevents/v2/, /identity/v1/, /nativeevents/v1/identity/, /nativeevents/v1/<key>/audience. Also adds R8 keep rules for MParticle$Internal and ConfigManager.getNetworkOptions() so kits can read customBaseURL after minification. The Rokt kit reads NetworkOptions.customBaseURL and forwards it to the Rokt SDK: mparticle-integrations/mparticle-android-integration-rokt#143 Mirrors iOS work from mparticle-apple-sdk#760. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * fix: persist customBaseURL across NetworkOptions JSON round-trip NetworkOptions.toJson() and withNetworkOptions(String) did not include customBaseURL, so any value was silently dropped when UploadSettings serialized NetworkOptions to the upload database. Events and alias uploads read back NetworkOptions without customBaseURL and routed to the default mParticle endpoints instead of the partner CNAME. Also: - Extract the customBaseURL/DomainMapping host-resolution branch out of getUrl() into a private resolveHost() helper plus a small ResolvedHost value type, lowering getUrl()'s cyclomatic complexity. - Switch java.net.URL / java.net.MalformedURLException to imports. - Add two androidTest cases covering the round-trip. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * test(android-core): cover custom base URL upload storage --------- Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com> Co-authored-by: Thomson Thomas <thomson.thomas@rokt.com> * chore: Update submodules * chore: 5.79.0 (release) ## [5.79.0](v5.78.5...v5.79.0) (2026-05-14) ### Features * add customBaseURL CNAME support to NetworkOptions ([#701](#701)) ([5285149](5285149)), closes [mparticle-apple-sdk#760](mParticle/mparticle-apple-sdk#760) * Add max persistence age override option [TRIAGE-608] ([#699](#699)) ([ca88322](ca88322)) ### Bug Fixes * increase MPLatch timeout from 5s to 30s ([#695](#695)) ([20f723f](20f723f)) ### Updates & Maintenance * Update submodules ([59a4a9a](59a4a9a)) * chore: bump trunk-io/trunk-action from 1.2.4 to 1.3.1 (#705) Bumps [trunk-io/trunk-action](https://github.com/trunk-io/trunk-action) from 1.2.4 to 1.3.1. - [Release notes](https://github.com/trunk-io/trunk-action/releases) - [Commits](trunk-io/trunk-action@75699af...04ba50e) --- updated-dependencies: - dependency-name: trunk-io/trunk-action dependency-version: 1.3.1 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Handle legacy persisted domain mappings safely (#703) Co-authored-by: James Newman <james.newman@rokt.com> * fix(ci): pin isolated-kit gradle version to prevent 6.0.0-rc.1 pull (#714) The isolated urbanairship-kit lint/test steps in daily.yml and the kit-compatibility test in pull-request.yml run `./gradlew` from inside the kit dir without `-Pversion=...`. The kit's standalone build.gradle defaults `project.version = '+'`, so its `com.mparticle:android-kit-plugin` dependency resolves to the highest version on Maven Central — now `6.0.0-rc.1` (published 2026-05-22), which renamed/removed kit-base symbols and broke the kit's compile. Mirror the pattern already used in the Sonatype Release job: extract the SDK version via `./gradlew -q properties` and pass it as `-Pversion=...` to every standalone kit invocation, so it resolves the freshly-published mavenLocal artifact instead of the RC. Affected steps: - lint-checks → Run Isolated Kit Lint (urbanairship-kit) - kotlin-lint-checks → Run Isolated Kit Kotlin Lint (urbanairship-kit) - update-kits → Test Isolated Kits (urbanairship-kit) - kit-compatibility-test → Run Isolated Kit Compatibility Tests (urbanairship-kit) The companion defensive fix in mparticle-android-integration-urbanairship pins the kit's standalone `project.version` to `[5.0,6.0)`. Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * chore: Update submodules * chore: 5.79.1 (release) ## [5.79.1](v5.79.0...v5.79.1) (2026-05-27) ### Bug Fixes * **ci:** pin isolated-kit gradle version to prevent 6.0.0-rc.1 pull ([#714](#714)) ([eff10ea](eff10ea)) ### Updates & Maintenance * bump trunk-io/trunk-action from 1.2.4 to 1.3.1 ([#705](#705)) ([f4ceca7](f4ceca7)) * Update submodules ([e435979](e435979)) * ci: remove cross-platform-tests and semantic PR/branch checks (#712) These checks have been failing on nearly every recent PR. The cross-platform tests are known broken, and the semantic PR title / branch name checks are no longer enforced. Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * chore: bump actions/checkout from 6.0.2 to 6.0.3 (#720) Bumps [actions/checkout](https://github.com/actions/checkout) from 6.0.2 to 6.0.3. - [Release notes](https://github.com/actions/checkout/releases) - [Commits](actions/checkout@v6.0.2...v6.0.3) --- updated-dependencies: - dependency-name: actions/checkout dependency-version: 6.0.3 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore: Update submodules * chore: 5.79.2 (release) ## [5.79.2](v5.79.1...v5.79.2) (2026-06-22) ### Updates & Maintenance * bump actions/checkout from 6.0.2 to 6.0.3 ([#720](#720)) ([d904edb](d904edb)) * remove cross-platform-tests and semantic PR/branch checks ([#712](#712)) ([6cdacf2](6cdacf2)) * Update submodules ([976dd0d](976dd0d)) * feat: add device-based consent to override MPID-scoped consent (#726) Enables Inspire-style flows where consent is collected before MPID changes at checkout, so kit forwarding rules and uploads keep the correct consent state. * chore: 5.80.0 (release) ## [5.80.0](v5.79.2...v5.80.0) (2026-06-25) ### Features * add device-based consent to override MPID-scoped consent ([#726](#726)) ([e92d352](e92d352)) * chore: normalize CHANGELOG list markers after merge * ci: pin actions/checkout to commit SHA to satisfy security lint * docs: remove duplicate Unreleased changelog section --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: mparticle-automation <developers@mparticle.com> Co-authored-by: Robert Ing <ring@mparticle.com> Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com> Co-authored-by: junias-rokt <junias.ngoyi@rokt.com> Co-authored-by: James Newman <james.newman@rokt.com> Co-authored-by: Thomson Thomas <thomson.thomas@rokt.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: ankitsingh08 <ankit.tomar08@gmail.com>



Summary
urbanairship-kitbuild invocations indaily.ymlandpull-request.ymlto the SDK version we're currently building, so they no longer resolve+tocom.mparticle:android-kit-plugin:6.0.0-rc.1on Maven Central.release.yml's Sonatype Release job.Why
The 2026-05-27 release run failed with two distinct errors, both in the urbanairship-kit isolated steps:
Root cause: the kit's standalone
build.gradledefaultsproject.version = '+'. With6.0.0-rc.1published to Maven Central on 2026-05-22,+resolves to the RC, which renamedKitIntegration.AttributeListener→ModifyIdentityListenerand replaced the kit-plugin's task layout. The fix is to pass-Pversion=<sdk-version>so the kit resolves the freshly-publishedmavenLocalartifact instead.Every PR's
Kit Compatibility Testhas been silently red since 2026-05-22 for the same reason.Companion changes
Defense-in-depth pin on the kit's standalone
project.version:External-consumer fixes for #710:
Test plan
Release SDKworkflow (dry run).Lint Checks,Kotlin Lint Checks, andUpdate Kitsshould all pass through the urbanairship-kit isolated step.Kit Compatibility Testis green.🤖 Generated with Claude Code