Skip to content

[Android] publish packages independently#329

Open
kiftio wants to merge 1 commit into
06-22-split_android_checkout_protocolfrom
06-24-publish_packages_independently
Open

[Android] publish packages independently#329
kiftio wants to merge 1 commit into
06-22-split_android_checkout_protocolfrom
06-24-publish_packages_independently

Conversation

@kiftio

@kiftio kiftio commented Jun 24, 2026

Copy link
Copy Markdown
Contributor

What changes are you making?

Introduces a dedicated release pipeline for the com.shopify:embedded-checkout-protocol Android artifact, decoupling it from the com.shopify:checkout-kit release process.

  • Adds a new android-protocol-publish.yml workflow that publishes embedded-checkout-protocol to Maven Central, triggered by GitHub Releases tagged embedded-checkout-protocol/YYYY.MM.DD[-prerelease.N].
  • Removes embedded-checkout-protocol publishing from android-publish.yml and adds a preflight check that verifies the required protocol version is already available on Maven Central before publishing checkout-kit.
  • Adds Embedded Checkout Protocol as a selectable platform in the release.yml workflow, using CalVer (YYYY.MM.DD) instead of SemVer for version validation.
  • Updates validate-release-version to support CalVer, validate the embeddedCheckoutProtocolAndroid version when releasing Android Kit, and emit android_protocol_version as a workflow output.
  • Documents the full Embedded Checkout Protocol release procedure in CONTRIBUTING.md and adds the corresponding checklist to the pull request template.

How to test

  1. Run validate-release-version "Embedded Checkout Protocol" "YYYY.MM.DD" locally with a valid and invalid CalVer string to confirm format validation.
  2. Trigger the release.yml workflow with Embedded Checkout Protocol selected and Dry run mode to confirm the release plan output includes the correct tag prefix (embedded-checkout-protocol/) and version format.
  3. Trigger the release.yml workflow with Android selected and Dry run mode to confirm the plan output includes the Embedded Checkout Protocol version line.
  4. Confirm the android-publish.yml preflight step fails when the referenced protocol version is not on Maven Central.

Before you merge

Important

  • I've added tests to support my implementation
  • I have read and agree with the Contribution Guidelines
  • I have read and agree with the Code of Conduct
  • I've updated the relevant platform README (platforms/swift/README.md and/or platforms/android/README.md)

Releasing a new Swift version?
  • I have bumped the version in ShopifyCheckoutKit.podspec
  • I have bumped the version in platforms/swift/Sources/ShopifyCheckoutKit/ShopifyCheckoutKit.swift
  • I have updated platforms/swift/CHANGELOG.md
  • I have updated the SwiftPM/CocoaPods version snippets in platforms/swift/README.md (major version only)
Releasing a new Embedded Checkout Protocol version?
  • I have bumped embeddedCheckoutProtocolAndroid in platforms/android/gradle/libs.versions.toml
  • I have updated protocol/languages/kotlin/embedded-checkout-protocol/api/embedded-checkout-protocol.api if the public API changed
Releasing a new Android version?
  • I have bumped checkoutKitAndroid in platforms/android/gradle/libs.versions.toml
  • I have updated platforms/android/CHANGELOG.md
  • I have updated the Gradle/Maven version snippets in platforms/android/README.md

Tip

See the Contributing documentation for the full release process per platform.

kiftio commented Jun 24, 2026

Copy link
Copy Markdown
Contributor Author

Warning

This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

This stack of pull requests is managed by Graphite. Learn more about stacking.

@kiftio kiftio marked this pull request as ready for review June 24, 2026 14:59
@kiftio kiftio requested a review from a team as a code owner June 24, 2026 14:59
@github-actions

github-actions Bot commented Jun 24, 2026

Copy link
Copy Markdown

Web — Coverage Report

Lines Statements Branches Functions
Coverage: 99%
98.5% (263/267) 88.48% (146/165) 100% (58/58)

@github-actions

github-actions Bot commented Jun 24, 2026

Copy link
Copy Markdown

React Native — Coverage Report

Lines Statements Branches Functions
Coverage: 92%
91.66% (319/348) 87.86% (181/206) 100% (82/82)

@github-actions

Copy link
Copy Markdown

Package Size

Platform Artifact Base Head Delta
Android release AAR 167.9 KiB 167.9 KiB 0 B

Measured from the PR base SHA and PR head SHA. This comment reports package artifact sizes only; it is not a final app binary-size report.

@kiftio kiftio changed the title publish packages independently [Android] publish packages independently Jun 24, 2026
Comment thread .github/scripts/validate-release-version Outdated
@kiftio kiftio force-pushed the 06-24-publish_packages_independently branch from 45bb9fb to 05c4f31 Compare June 24, 2026 15:29
CALVER_REGEX='^[0-9]{4}\.(0[1-9]|1[0-2])\.(0[1-9]|[12][0-9]|3[01])\.(0|[1-9][0-9]*)(-(alpha|beta|rc)\.(0|[1-9][0-9]*))?$'

VERSION_REGEX="$SEMVER_REGEX"
VERSION_FORMAT="X.Y.Z or X.Y.Z-{alpha|beta|rc}.N"

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Do we need to update this?

@kiftio kiftio force-pushed the 06-24-publish_packages_independently branch from 05c4f31 to 9716dc8 Compare June 24, 2026 15:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants