[RN]: use published artifacts for RN native builds/tests#227
Conversation
This stack of pull requests is managed by Graphite. Learn more about stacking. |
52e5847 to
700a4a1
Compare
4d22b7f to
5668389
Compare
700a4a1 to
6601e20
Compare
6601e20 to
6490780
Compare
6490780 to
39316f7
Compare
023cd15 to
7dc139f
Compare
| } | ||
|
|
||
|
|
||
| def useLocalSdk = (System.getenv("USE_LOCAL_SDK") ?: "0") == "1" |
There was a problem hiding this comment.
Is it worth adding this to dev.yml commands?
Probably the best default to use for local dev?
There was a problem hiding this comment.
It is part of the dev.yml commands
dev rn android --local will give you local maven
By default I think local being false is safer and less confusing
Most react-native code will want writing/integrating against the released maven/cocoapods to match local with CI
The --local flag is an opt in to the workflow of "I'm working on a swift/android change and I want to test in react-native before releasing" e.g. what we did with prototype/development and during this migration
I don't think this is the default case though, and can be slightly more confusing / trip people up
Merge activity
|


Why
Last week we published version 4.0.0-alpha.1 under the new namespace
With this, we have a version that we can statically point to in our configs, removing the need to have --local runs on CI, which integrates/validates against the wrong build artifact for an actual production release
The USE_LOCAL_SDK environment variable and --local flag will still exist for local development but we no longer run them on CI
This safely guards our releases, and brings back the natural flow of:
develop native sdk -> release native sdk -> develop react native sdk -> release react native sdk
Except you also have the ability to test local dev, meaning you can develop react native at the same time, but when it comes to publishing you have to hold off that graphite stack
Other
I also centralised the native SDK version keys the react-native module depends on in the package.json and pull these programmatically at build time in gradle/ruby.
This simplifies maintenance as we only have to manage the package json to update the version now
Before you merge
Important
platforms/swift/README.mdand/orplatforms/android/README.md)Releasing a new Swift version?
ShopifyCheckoutKit.podspecplatforms/swift/Sources/ShopifyCheckoutKit/ShopifyCheckoutKit.swiftplatforms/swift/CHANGELOG.mdplatforms/swift/README.md(major version only)Releasing a new Android version?
versionNameinplatforms/android/lib/build.gradleplatforms/android/CHANGELOG.mdplatforms/android/README.mdTip
See the Contributing documentation for the full release process per platform.