Skip to content

Align workspace dev commands in root dev.yml#69

Open
kyle-schellen wants to merge 2 commits into
mainfrom
05-12-align_workspace_dev_commands_in_root_dev.yml
Open

Align workspace dev commands in root dev.yml#69
kyle-schellen wants to merge 2 commits into
mainfrom
05-12-align_workspace_dev_commands_in_root_dev.yml

Conversation

@kyle-schellen
Copy link
Copy Markdown
Contributor

@kyle-schellen kyle-schellen commented May 12, 2026

Closes shop/issues-checkout-kit#908.

Stack position

This is the bottom PR in the dev-command stack after moving RN, Swift, and Android under root dev.yml. It establishes the root command shape, platform command naming conventions, and self-contained local check wiring. Follow-up PRs build on this by centralizing storefront sample configuration and adding setup orchestration.

What changes

  • Adds repo-level aggregate commands for common workflows: dev build, dev test, dev lint, and dev format.
  • Makes format the canonical auto-fix command while preserving fix as an alias for existing workflows.
  • Adds platform-scoped command coverage for Android, Swift, React Native, Web, and protocol workflows where those commands already make sense.
  • Adds a top-level dev rn forwarding command so dev help rn and dev rn ... work alongside dev react-native ....
  • Points protocol commands at the protocol Swift package and makes dev protocol check build both the protocol target and protocol test target.
  • Keeps newly exposed platform checks runnable in isolation by ignoring generated Android build outputs in license checks, resolving the Swift Gemfile for CocoaPods lint, and resolving React Native Swift lint tools consistently.
  • Updates Android and Swift guidance so docs point at the root dev <platform> ... commands.
  • Adds repo-level agent/contributor guidance for running commands from the repo root, including the shadowenv exec -- requirement for AI agents.

Review notes

This PR intentionally does not introduce the shared storefront .env flow or the repo setup/bootstrap orchestration. Those are separated into later PRs so this foundation can be reviewed on its own.

dev protocol test currently builds the protocol test target with swift build --build-tests. That keeps the command useful for local validation without relying on the current SwiftPM test-runner behavior for this package.

How to test

From the repo root, verify representative root and platform-scoped commands:

  • dev check
  • dev android check
  • dev swift check
  • dev rn check
  • dev protocol check
  • dev help rn
  • dev web build

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 platforms/swift/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 Android version?
  • I have bumped the versionName in platforms/android/lib/build.gradle
  • 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.

@kyle-schellen kyle-schellen self-assigned this May 12, 2026
@kyle-schellen kyle-schellen marked this pull request as draft May 12, 2026 15:43
@kyle-schellen kyle-schellen changed the base branch from main to 05-11-move_react_native_dev_commands_under_root_dev.yml May 12, 2026 15:51
@kyle-schellen kyle-schellen changed the title 05 12 align workspace dev commands in root dev.yml Align workspace dev commands in root dev.yml May 12, 2026
@kyle-schellen kyle-schellen force-pushed the 05-12-align_workspace_dev_commands_in_root_dev.yml branch from 7077869 to c4188d2 Compare May 12, 2026 16:23
@kyle-schellen kyle-schellen added the #gsd:50662 Rebase Checkout Kit on UCP label May 12, 2026
@kyle-schellen kyle-schellen requested a review from a team May 12, 2026 16:30
@kyle-schellen kyle-schellen force-pushed the 05-12-align_workspace_dev_commands_in_root_dev.yml branch from c4188d2 to cf8541b Compare May 12, 2026 16:37
@kyle-schellen kyle-schellen force-pushed the 05-11-move_react_native_dev_commands_under_root_dev.yml branch from f9cf466 to 79b74a1 Compare May 12, 2026 16:37
@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 12, 2026

React Native — Coverage Report

Lines Statements Branches Functions
Coverage: 95%
95.52% (192/201) 92.3% (108/117) 100% (60/60)

@kyle-schellen kyle-schellen marked this pull request as ready for review May 12, 2026 16:53
@kyle-schellen kyle-schellen force-pushed the 05-11-move_react_native_dev_commands_under_root_dev.yml branch from 79b74a1 to fa6fa57 Compare May 12, 2026 17:41
@kyle-schellen kyle-schellen force-pushed the 05-12-align_workspace_dev_commands_in_root_dev.yml branch 2 times, most recently from cf27458 to ea11c12 Compare May 12, 2026 18:22
@kyle-schellen kyle-schellen force-pushed the 05-11-move_react_native_dev_commands_under_root_dev.yml branch from fa6fa57 to 87da5c4 Compare May 12, 2026 18:22
supported_exts = %w[.swift .h .mm .java .js .ts .tsx]

Find.find(dir) do |path|
next if path.include?('/build/generated/')
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

This keeps the RN license check focused on source-controlled files. Generated Android build output can exist locally after builds/codegen and does not reliably include our license header, which made dev check depend on local build state

@@ -292,7 +292,7 @@ class RCTShopifyCheckoutSheetKit: RCTEventEmitter, CheckoutDelegate {
return NSNumber(value: available)
}

@objc func initiateGeolocationRequest(_ allow: Bool) {
@objc func initiateGeolocationRequest(_: Bool) {
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Root dev check surfaced an existing SwiftFormat issue. The parameter is intentionally unused, so _ is the correct shape here.

@kyle-schellen kyle-schellen force-pushed the 05-12-align_workspace_dev_commands_in_root_dev.yml branch from ea11c12 to f46976e Compare May 12, 2026 19:27
@kyle-schellen kyle-schellen force-pushed the 05-11-move_react_native_dev_commands_under_root_dev.yml branch from 87da5c4 to 3604836 Compare May 12, 2026 21:37
@kyle-schellen kyle-schellen force-pushed the 05-12-align_workspace_dev_commands_in_root_dev.yml branch 3 times, most recently from 9514af8 to de4dcf6 Compare May 13, 2026 00:07
Comment thread AGENTS.md

## Dev workflow

Run `dev` commands from the repo root. Use `dev up` before running commands when
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.

Not sure if you've had success with this locally but I think telling it to use shadoenv and where to get dev from helped with certain ai sandboxing

All commands require `shadowenv exec --` prefix. 
shadowenv exec --dir DIR -- /opt/dev/bin/dev up
shadowenv exec --dir DIR -- /opt/dev/bin/dev test [ARGS]

Comment thread README.md Outdated
- [Privacy compliance](https://shopify.dev/docs/storefronts/mobile/checkout-kit/privacy-compliance) - pass GDPR, CCPA, and ATT consent through to Shopify.
- [Accelerated checkouts](https://shopify.dev/docs/storefronts/mobile/checkout-kit/accelerated-checkouts?extension=react-native) - Shop Pay and Apple Pay buttons for one-tap purchase on product and cart pages.

## Development
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.

I think we can move this section into the CONTRIBUTING.md to help keep the readme slim

Comment thread dev.yml Outdated
Comment thread dev.yml Outdated
@kyle-schellen kyle-schellen force-pushed the 05-12-align_workspace_dev_commands_in_root_dev.yml branch from de4dcf6 to d4ac612 Compare May 13, 2026 14:47
@kyle-schellen kyle-schellen force-pushed the 05-11-move_react_native_dev_commands_under_root_dev.yml branch from 3604836 to 14080fe Compare May 13, 2026 14:47
@kyle-schellen kyle-schellen force-pushed the 05-12-align_workspace_dev_commands_in_root_dev.yml branch from d4ac612 to 8b57fa9 Compare May 13, 2026 14:54
@kyle-schellen kyle-schellen force-pushed the 05-11-move_react_native_dev_commands_under_root_dev.yml branch from 14080fe to a9fdc4f Compare May 13, 2026 14:54
@kyle-schellen kyle-schellen changed the base branch from 05-11-move_react_native_dev_commands_under_root_dev.yml to graphite-base/69 May 13, 2026 15:22
@kyle-schellen kyle-schellen force-pushed the 05-12-align_workspace_dev_commands_in_root_dev.yml branch from 8b57fa9 to 50e81c7 Compare May 13, 2026 15:45
@graphite-app graphite-app Bot changed the base branch from graphite-base/69 to main May 13, 2026 15:46
@kyle-schellen kyle-schellen force-pushed the 05-12-align_workspace_dev_commands_in_root_dev.yml branch 8 times, most recently from 85710fe to 8496e6e Compare May 13, 2026 21:29
Copy link
Copy Markdown
Contributor Author

@kieran-osgood-shopify Thanks for the review. I did another pass now that the lower stack merged in. I cleaned up the root dev.yml so Android/Swift/RN use a more consistent command shape, kept fix/style as aliases, restored dev swift build packages for compatibility, and fixed the protocol commands to target the moved Swift implementation.:raised_hands:

Comment thread dev.yml Outdated
react-native-lint-module: cd platforms/react-native && pnpm module lint
react-native-lint-sample: cd platforms/react-native && pnpm sample lint
react-native-license-headers: cd platforms/react-native && ./scripts/copy_license --check
protocol-build: swift build --target ShopifyCheckoutProtocol
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.

I believe dev check is mainly for lint checks (supposed to finish fast) so a build might be a bit heavy for check

@kyle-schellen kyle-schellen marked this pull request as draft May 15, 2026 00:37
@kyle-schellen kyle-schellen force-pushed the 05-12-align_workspace_dev_commands_in_root_dev.yml branch from 8496e6e to c4e0c6b Compare May 20, 2026 23:36
@kyle-schellen kyle-schellen force-pushed the 05-12-align_workspace_dev_commands_in_root_dev.yml branch 2 times, most recently from ad39f4f to 1bf5d08 Compare May 20, 2026 23:59
@kyle-schellen kyle-schellen force-pushed the 05-12-align_workspace_dev_commands_in_root_dev.yml branch from 1bf5d08 to 8575e24 Compare May 21, 2026 00:36
@kyle-schellen kyle-schellen marked this pull request as ready for review May 21, 2026 01:04
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.

2 participants