Skip to content

Let .env.local override .env, and resolve duplicate keys last-wins - #579

Draft
kieran-osgood-shopify wants to merge 1 commit into
kieran-osgood/apple-pay-merchant-identifierfrom
kieran-osgood/env-local-overlay
Draft

Let .env.local override .env, and resolve duplicate keys last-wins#579
kieran-osgood-shopify wants to merge 1 commit into
kieran-osgood/apple-pay-merchant-identifierfrom
kieran-osgood/env-local-overlay

Conversation

@kieran-osgood-shopify

Copy link
Copy Markdown
Contributor

What changes are you making?

How to test


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 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 the Gradle/Maven version snippets in platforms/android/README.md

Tip

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

@github-actions github-actions Bot added the #gsd:50662 Rebase Checkout Kit on UCP label Aug 5, 2026

Copy link
Copy Markdown
Contributor Author

setup_storefront_env took the first match for a duplicated key while
run_maestro took the last. Last-wins is the predictable rule: in a file kept
by hand, the last uncommented assignment is the active one.

.env.local now overrides .env per key. Nothing writes to .env.local, so it
survives every sync and gives a developer a place to point the sample apps at
their own store.

Write decisions about .env deliberately ignore the overlay. Resolved values
carry overrides, so writing them back would make an override permanent. While
.env.local exists, .env is left alone and the reason is reported.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@kieran-osgood-shopify
kieran-osgood-shopify force-pushed the kieran-osgood/env-local-overlay branch from eba4266 to e94d61b Compare August 5, 2026 12:33
@kieran-osgood-shopify
kieran-osgood-shopify force-pushed the kieran-osgood/apple-pay-merchant-identifier branch from 578c24e to ff257a4 Compare August 5, 2026 12:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

#gsd:50662 Rebase Checkout Kit on UCP

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant