Skip to content

Conversation

phsantiago
Copy link
Contributor

@phsantiago phsantiago commented May 28, 2020

Summary

I had my own project commands, and then started to use RN orb commands instead. I noticed the increase of time taken in pod install job due to install without cache.

About implementation:
Two CircleCI commands: First I use the most recent cache generated, install pods and save changes based on podfile.lock and cache version

closes #58

Test Plan

What's required for testing (prerequisites)?

What are the steps to reproduce (after prerequisites)?

Compatibility

OS Implemented
iOS
Android

Checklist

  • I have tested this on a device and a simulator
  • I added the documentation in README.md
  • I mentioned this change in CHANGELOG.md
  • I updated the typed files (TS and Flow)
  • I added a sample use of the API in the example project (example/App.js)

@vonovak vonovak requested a review from matt-oakes June 4, 2020 15:20
@vonovak
Copy link
Member

vonovak commented Jun 14, 2020

@matt-oakes would you please give this a review? Thanks!

cc @compojoom wdyt?

Copy link
Member

@matt-oakes matt-oakes left a comment

Choose a reason for hiding this comment

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

Looks good, just one change requested for the cache key.

add @matt-oakes suggestion

Co-authored-by: Matt Oakes <[email protected]>
Copy link
Contributor

@compojoom compojoom left a comment

Choose a reason for hiding this comment

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

LGTM.

@phsantiago phsantiago requested a review from matt-oakes August 11, 2020 03:23
@shzhng
Copy link

shzhng commented Oct 6, 2020

hi @matt-oakes, @compojoom anything blocking this from being merged in?

@phsantiago
Copy link
Contributor Author

@matt-oakes, @compojoom, @shzhng there is anything more to be done here? Let's merge. Count on me if you guys need something more from my side

@phsantiago
Copy link
Contributor Author

image
@matt-oakes

@vonovak vonovak merged commit 96b0f3f into react-native-community:master Nov 5, 2020
@vonovak
Copy link
Member

vonovak commented Nov 5, 2020

Merging, I hope Matt won't be angry with me for this 😄

I have no idea what the process is for publishing this as the orb, so if it does not happen somehow automatically, I'll try get in touch with Matt

Thanks for the PR!

@MateusAndrade
Copy link
Member

MateusAndrade commented Nov 5, 2020

Merging, I hope Matt won't be angry with me for this 😄

I have no idea what the process is for publishing this as the orb, so if it does not happen somehow automatically, I'll try get in touch with Matt

Thanks for the PR!

I think it's using semantic-release or something similar, I hope it will publish a newer version when the build process finishes 🚀

Edit:

Looking at the workflow at CircleCI it supports a publish step at orb-repository, but the last change is causing a packing error. 😭

kotielnikov pushed a commit to capmo/react-native-circleci-orb that referenced this pull request Jan 18, 2021
kotielnikov pushed a commit to capmo/react-native-circleci-orb that referenced this pull request Jan 18, 2021
react-native-community-bot pushed a commit that referenced this pull request Mar 18, 2021
# [4.5.0](v4.4.2...v4.5.0) (2021-03-18)

### Bug Fixes

* duplicated on_after_initialize  param ([#78](#78)) ([33ffc6b](33ffc6b))

### Features

* Add pod cache ([#67](#67)) ([96b0f3f](96b0f3f))
@react-native-community-bot
Copy link
Collaborator

🎉 This PR is included in version 4.5.0 🎉

The release is available on:

Your semantic-release bot 📦🚀

nova93 pushed a commit to levaclinic/react-native-circleci-orb that referenced this pull request Jan 8, 2024
# 1.0.0 (2024-01-08)

### Bug Fixes

* 'an unexpected storage error occurred' on multiline keys ([b9fb1bb](b9fb1bb))
* add missing CACHE_VERSION in pod_install ([b6c7e99](b6c7e99))
* leva instead of rnc ([531c8ab](531c8ab))
* quote cache keys that start with special characters ([b217d8c](b217d8c))
* removing old yarn version from PATH which hopefully fixes the issue ([cc25fff](cc25fff))
* something ([2f57788](2f57788))
* update XCode version to 12.5.1 ([react-native-community#158](https://github.com/levaclinic/react-native-circleci-orb/issues/158)) ([4bbdb75](4bbdb75))
* yaml parsing build_image_version default as double ([df23a73](df23a73))
* yaml parsing build_image_version default as double ([react-native-community#170](https://github.com/levaclinic/react-native-circleci-orb/issues/170)) ([3c8cb0f](3c8cb0f))
* **android:** Added new Android Command Line Tools for MacOS 12+ and Java 9, 10, 11 ([react-native-community#114](https://github.com/levaclinic/react-native-circleci-orb/issues/114) by [@lukebrandonfarrell](https://github.com/lukebrandonfarrell)) ([aeb45fe](aeb45fe))
* **android:** Define a max heap size for linux_android ([react-native-community#46](https://github.com/levaclinic/react-native-circleci-orb/issues/46) by [@vabanagas](https://github.com/vabanagas)) ([d029e0b](d029e0b))
* **android:** Ensure the Android emulator looks correct ([react-native-community#65](https://github.com/levaclinic/react-native-circleci-orb/issues/65) by [@vonovak](https://github.com/vonovak)) ([57744a4](57744a4))
* **android:** fix gradle build cache key ([react-native-community#130](https://github.com/levaclinic/react-native-circleci-orb/issues/130) by [@fotos](https://github.com/fotos)) ([acadf02](acadf02))
* **android:** fix JAVA_HOME path ([react-native-community#61](https://github.com/levaclinic/react-native-circleci-orb/issues/61) by [@vonovak](https://github.com/vonovak)) ([e4fa01f](e4fa01f))
* **android:** fix path to emulator ([react-native-community#60](https://github.com/levaclinic/react-native-circleci-orb/issues/60) by [@vonovak](https://github.com/vonovak)) ([8621ec9](8621ec9))
* **android:** Fix Permission denied issues when running gradlew ([react-native-community#72](https://github.com/levaclinic/react-native-circleci-orb/issues/72) by [@zpd106](https://github.com/zpd106)) ([0e22ef8](0e22ef8))
* **android:** move docker android pin to JDK11 version ([react-native-community#123](https://github.com/levaclinic/react-native-circleci-orb/issues/123)) ([d74d427](d74d427)), closes [react-native-community#122](https://github.com/levaclinic/react-native-circleci-orb/issues/122)
* **android:** pin docker image to 4.2 for JDK8 ([react-native-community#121](https://github.com/levaclinic/react-native-circleci-orb/issues/121)) ([fe2898a](fe2898a)), closes [react-native-community#120](https://github.com/levaclinic/react-native-circleci-orb/issues/120)
* **android:** Update android_emulator_start.yml to use the new  emulator ([react-native-community#64](https://github.com/levaclinic/react-native-circleci-orb/issues/64) by [@vonovak](https://github.com/vonovak)) ([73d27e2](73d27e2))
* **android:** Update gradle cache keys to match on save and restore ([react-native-community#17](https://github.com/levaclinic/react-native-circleci-orb/issues/17)) ([6e52052](6e52052))
* **android:** use JDK11 compatible JVM options ([react-native-community#122](https://github.com/levaclinic/react-native-circleci-orb/issues/122)) ([1923bcd](1923bcd)), closes [react-native-community#120](https://github.com/levaclinic/react-native-circleci-orb/issues/120)
* **android_test:** node v12 to v16 ([a9956b7](a9956b7))
* **ios:** Fix syntax errors ([aff9136](aff9136))
* **ios:** Possible fix for the NVM node version not carrying over between steps ([react-native-community#51](https://github.com/levaclinic/react-native-circleci-orb/issues/51)) ([ae71c53](ae71c53))
* **ios:** Revert changes from 4.2.0 ([2c3fa5e](2c3fa5e))
* **ios:** update default ios device to iPhone 11 ([react-native-community#127](https://github.com/levaclinic/react-native-circleci-orb/issues/127)) ([2e3b1e0](2e3b1e0))
* **ios_build:** node v12 to v16 ([f0ea6b4](f0ea6b4))
* **ios_build_and_test:** node v12 to v16 ([6347597](6347597))
* **setup_macos_executor:** bump node v12 to v16 ([a34ccec](a34ccec))
* Correct the Android java environment variables ([917129a](917129a))
* do not cache /usr/local/Homebrew ([react-native-community#119](https://github.com/levaclinic/react-native-circleci-orb/issues/119)) ([597e597](597e597))
* Do not fail then printing the fbsimctl help ([9d74ba9](9d74ba9))
* duplicated on_after_initialize  param ([react-native-community#78](https://github.com/levaclinic/react-native-circleci-orb/issues/78)) ([33ffc6b](33ffc6b))
* Ensure that the publish steps works correctly ([7e6c289](7e6c289))
* Ensure the CI works correctly ([51d7f49](51d7f49))
* Fix errors when installing NodeJS on MacOS executor ([react-native-community#40](https://github.com/levaclinic/react-native-circleci-orb/issues/40) by [@roni-castro](https://github.com/roni-castro)) ([19ac8f7](19ac8f7))
* Increase the amount of memory for Android builds ([22e8279](22e8279))
* Mac node install ([react-native-community#47](https://github.com/levaclinic/react-native-circleci-orb/issues/47) by [@vonovak](https://github.com/vonovak)) ([4a4b619](4a4b619))
* Move cache directory to the system temp folder to avoid permission issues ([react-native-community#59](https://github.com/levaclinic/react-native-circleci-orb/issues/59) by @Naturalclar) ([15f0d90](15f0d90))
* Remove deprecated cask usage from brew install ([react-native-community#85](https://github.com/levaclinic/react-native-circleci-orb/issues/85) by @CHNB128) ([de4ef76](de4ef76))
* Remove Deprecated CircleCI Spec Repo Cache ([react-native-community#82](https://github.com/levaclinic/react-native-circleci-orb/issues/82) by @BytesGuy) ([f45fcfe](f45fcfe))
* Remove FBSimulatorControl ([react-native-community#24](https://github.com/levaclinic/react-native-circleci-orb/issues/24) by [@compojoom](https://github.com/compojoom)) ([7c5b51a](7c5b51a))
* remove haxm the lack hardware acceleration support causes a crash ([9d0bb42](9d0bb42))
* remove haxm the lack hardware acceleration support causes a crash ([38ef88e](38ef88e)), closes [react-native-community#3](https://github.com/levaclinic/react-native-circleci-orb/issues/3)
* Removed the unused `build_threads` parameter in the `linux_android` executor ([97720b9](97720b9)), closes [react-native-community#19](https://github.com/levaclinic/react-native-circleci-orb/issues/19)
* **docs:** include the code repo link in the orb description ([6d97ca9](6d97ca9))
* Use project_type in ios_build_and_test job ([25c7948](25c7948))

### Features

* allow specifying build image version for android build & executor ([ee50537](ee50537))
* **node:** bump from node 12 to node 16 default ([0acc6f9](0acc6f9))
* Add `on_after_initialize` parameter to the jobs ([react-native-community#26](https://github.com/levaclinic/react-native-circleci-orb/issues/26) by [@compojoom](https://github.com/compojoom)) ([0ff6621](0ff6621))
* Add a `bundle` command ([react-native-community#8](https://github.com/levaclinic/react-native-circleci-orb/issues/8) by [@sunilchalla](https://github.com/sunilchalla)) ([464d661](464d661))
* Add a `store_artifact_path` to the Android and iOS test jobs which allow storing artifacts after a job runs ([react-native-community#54](https://github.com/levaclinic/react-native-circleci-orb/issues/54) by @MateusAndrade) ([19edf8a](19edf8a))
* add homebrew_update parameter to toggle brew update ([react-native-community#131](https://github.com/levaclinic/react-native-circleci-orb/issues/131)) ([6a7d635](6a7d635))
* Add jobs for building and testing ([2f24401](2f24401))
* add optional yarn_install_directory parameter ([react-native-community#124](https://github.com/levaclinic/react-native-circleci-orb/issues/124)) ([3c659f9](3c659f9))
* add parameter to allow configuring the android tests on build ([0569d66](0569d66))
* Add parameters to configure the executors ([7c044cb](7c044cb))
* Add parameters to disable caching ([ad81e99](ad81e99))
* Add pod cache ([react-native-community#67](https://github.com/levaclinic/react-native-circleci-orb/issues/67)) ([96b0f3f](96b0f3f))
* add pod_cache param to ios_build job ([react-native-community#140](https://github.com/levaclinic/react-native-circleci-orb/issues/140)) ([f18183f](f18183f))
* Added the `--frozen-lockfile` flag to the `yarn_install` command ([e4676c4](e4676c4)), closes [react-native-community#28](https://github.com/levaclinic/react-native-circleci-orb/issues/28)
* allow passing executor parameters to jobs ([react-native-community#133](https://github.com/levaclinic/react-native-circleci-orb/issues/133)) ([4a199fd](4a199fd))
* allow passing executor parameters to test jobs ([react-native-community#141](https://github.com/levaclinic/react-native-circleci-orb/issues/141)) ([eea6098](eea6098)), closes [react-native-community#112](https://github.com/levaclinic/react-native-circleci-orb/issues/112)
* allow passing pod_install_directory during ios_build job ([react-native-community#136](https://github.com/levaclinic/react-native-circleci-orb/issues/136)) ([faa7a01](faa7a01))
* Allow the metro packager to be started from the test jobs ([68846df](68846df))
* First major release ([81e839d](81e839d))
* Minor release ([5f401d7](5f401d7))
* pass through pod cache param from job to command ([react-native-community#138](https://github.com/levaclinic/react-native-circleci-orb/issues/138)) ([b156c1b](b156c1b))
* Skip Detox setup in ios_build job ([3fc5c53](3fc5c53))
* **android:** Add command to update the NDK to a given version ([react-native-community#91](https://github.com/levaclinic/react-native-circleci-orb/issues/91) by @CHNB128) ([64eac35](64eac35))
* **android:** Add hombrew cache param to android test job ([react-native-community#96](https://github.com/levaclinic/react-native-circleci-orb/issues/96) by @Kyonru) ([8314b6e](8314b6e))
* **android:** Pass through the `assemble_android_test` parameter from the `android_build` job to the command ([react-native-community#109](https://github.com/levaclinic/react-native-circleci-orb/issues/109) by [@ronwsmith](https://github.com/ronwsmith)) ([9f2e7fa](9f2e7fa))
* **Android:** Add optional command-running step after the emulator starts ([react-native-community#110](https://github.com/levaclinic/react-native-circleci-orb/issues/110) by [@ronwsmith](https://github.com/ronwsmith)) ([5ee8a30](5ee8a30))
* **ios:** Add Cocoapods Install Command ([react-native-community#48](https://github.com/levaclinic/react-native-circleci-orb/issues/48) by [@vonovak](https://github.com/vonovak)) ([a743bbc](a743bbc))
* **ios:** control if simulator starts in background ([react-native-community#126](https://github.com/levaclinic/react-native-circleci-orb/issues/126)) ([08338f9](08338f9))
* follow emulator best practices ([a5765a2](a5765a2))
* follow emulator best practices ([react-native-community#62](https://github.com/levaclinic/react-native-circleci-orb/issues/62)) ([ac709c1](ac709c1))
* Make yarn cache folder configurable ([react-native-community#103](https://github.com/levaclinic/react-native-circleci-orb/issues/103) by [@ronwsmith](https://github.com/ronwsmith)) ([c6ccaa1](c6ccaa1))
* Update default dependencies to meet React Native 0.64 requirements ([34ca501](34ca501))
* **ios:** Added an `ios_build` job ([react-native-community#30](https://github.com/levaclinic/react-native-circleci-orb/issues/30) by [@roni-castro](https://github.com/roni-castro)) ([b607782](b607782))
* **ios:** Ensure a simulator with the latest iOS version exists for the given name when testing ([2d614fa](2d614fa))
* **ios:** Upgrading Xcode to 11.0 ([react-native-community#45](https://github.com/levaclinic/react-native-circleci-orb/issues/45) by [@springcoil](https://github.com/springcoil)) ([78aad72](78aad72))
* First major version ([1682403](1682403))
* Use Node 10 by default ([react-native-community#37](https://github.com/levaclinic/react-native-circleci-orb/issues/37) by [@roni-castro](https://github.com/roni-castro)) ([3e7efc6](3e7efc6))

* fix!: using supported Node version with cimg/node and updating comments ([1186c41](1186c41))

### BREAKING CHANGES

* cimg/node doesn't support major Node version aliases the same way circleci/node did
* **android:** this orb is now using JDK11

See JDK8-->JDK11 migration notes here:
https://discuss.circleci.com/t/android-convenience-image-moving-to-java-v11-on-august-17th/36601/4
* The default dependencies used are now Xcode 12, CocoaPods 1.10.1, Node.js 12
* **ios:** You should confirm that your app is able to build on Xcode 11 before upgrade, however, most app will already support this.
* Node 10 is now the default version. The previous default of Node 8 is now end-of-life. Most users will have no issues with upgrading unless they use modules which rely on Node 8 behaviour. You can also now use the `node_version` parameter to set the Node version you require.
* The `yarn_install` command will now fail if there need to be changes made to your `yarn.lock` file. See [the Yarn documentation](https://yarnpkg.com/en/docs/cli/install#toc-yarn-install-frozen-lockfile) for details on this flag.
* This is the first major release
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.

Don't understand the new pod install command.
7 participants