Skip to content

Add Maven consumer link checks to release CI#873

Draft
ajpallares wants to merge 13 commits into
mainfrom
pallares/release-maven-consumer-link-checks
Draft

Add Maven consumer link checks to release CI#873
ajpallares wants to merge 13 commits into
mainfrom
pallares/release-maven-consumer-link-checks

Conversation

@ajpallares

@ajpallares ajpallares commented May 26, 2026

Copy link
Copy Markdown
Member

Checklist

  • If applicable, unit tests
  • If applicable, create follow-up issues for purchases-android, purchases-ios and other
    hybrids

Motivation

Follow-up to #872. Guards against #859 by validating Maven publish output and consumer linking before tagging a release.

Description

  • Release-only publish + Android/iOS consumer link jobs; installationTestApp uses Maven Local in those jobs, project deps otherwise
  • Both consumer jobs gate the release hold
  • Verified: successful CI run

Publish to Maven Local on Xcode 16.4, then link the sample app on Xcode 26.5 before the release hold gate.

Co-authored-by: Cursor <cursoragent@cursor.com>
@ajpallares ajpallares changed the title Add Maven consumer link checks to release CI (#859) Add Maven consumer link checks to release CI May 26, 2026
ajpallares and others added 7 commits May 26, 2026 12:50
Replace composeApp-based consumer checks with a minimal iOS-only app
generated from the kmp.new template, and read Maven Local settings from
gradle.properties during dependency resolution.

Co-authored-by: Cursor <cursoragent@cursor.com>
Extend installationTestApp with a minimal Android target and gate releases on
validate-android-consumer-link alongside the existing iOS check.

Co-authored-by: Cursor <cursoragent@cursor.com>
Allows validating validate-publish and consumer link jobs on PR CI before
keeping them release-only.

Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Prevents normal CI jobs from resolving unpublished Maven coordinates when
configuration cache loads the full project graph.

Co-authored-by: Cursor <cursoragent@cursor.com>
Consumer link checks remain on the release branch workflow only.

Co-authored-by: Cursor <cursoragent@cursor.com>
Comment thread settings.gradle.kts
Comment on lines +15 to +17
if (usePublishedMavenLocalArtifacts()) {
mavenLocal()
}

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not sure this is the best approach, since this could bite us locally. Do you think I should scope this only for the installation test app?

ajpallares and others added 5 commits May 26, 2026 18:20
Always include installationTestApp with project deps by default, use explicit
skipSigningForMavenLocal for validate-publish, and simplify the test app UI.

Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
… apiCheck.

Gradle still configures kn-core when xcodebuild embeds the KMP framework, and
installationTestApp is not part of the public API surface.

Co-authored-by: Cursor <cursoragent@cursor.com>
Split Maven artifact resolution from Gradle project inclusion so consumer link
jobs only configure installationTestApp and no longer need the purchases-ios submodule.

Co-authored-by: Cursor <cursoragent@cursor.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant