Skip to content

[CI] Migrate to Circle CI 2.1 #25036

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 1 commit into from
Closed

Conversation

hramos
Copy link
Contributor

@hramos hramos commented May 24, 2019

Summary

Migrate the Circle CI configuration to the 2.1 schema and take advantage of new config reuse features.

I've enabled pipelines in the facebook/react-native Circle CI project, a requirement for Circle CI 2.1 features.

Overview

  • Use executors to provide a common set of execution environments.
  • Use commands to provide reusable steps (running yarn with cache, installing Android dependencies, ...)
  • Use parametrized commands/jobs to reuse job definitions for test_js and test_js_lts where the only difference is the version of node provided by the environment.
  • Reduce total execution time by storing the git repo in a cache as opposed to using workspaces
  • Fix various flaky end-to-end test failures related to CocoaPods and the CLI.
  • Move analyze job to analysis workflow and rename to analyze_pr
  • Rename test_javascript as test_js.
  • Split up end-to-end test job into test_ios_e2e and test_js_e2e.

Changelog

[Internal] [Changed] - Migrate to Circle CI 2.1 and fix e2e tests

Test Plan

$ circleci config validate
Config file at .circleci/config.yml is valid.

See Circle CI results are green:

A910160F-A99C-4869-A9F1-3B208899D316

@hramos hramos added the 🔩Test Infrastructure Test infrastructure and continuous integration. label May 24, 2019
@facebook-github-bot facebook-github-bot added CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. p: Facebook Partner: Facebook Partner RN Team labels May 24, 2019
@gengjiawen
Copy link
Contributor

Current it only show ci/circleci: test_end_to_end, CircleCI bug ?

@hramos hramos marked this pull request as ready for review May 29, 2019 21:14
@hramos
Copy link
Contributor Author

hramos commented May 30, 2019

@gengjiawen all good now:

Screen Shot 2019-05-30 at 8 17 54 AM

This PR is now ready for review.

Copy link
Contributor

@facebook-github-bot facebook-github-bot left a comment

Choose a reason for hiding this comment

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

@hramos is landing this pull request. If you are a Facebook employee, you can view this diff on Phabricator.

@react-native-bot
Copy link
Collaborator

This pull request was successfully merged by @hramos in 171cc0e.

When will my fix make it into a release? | Upcoming Releases

@react-native-bot react-native-bot added the Merged This PR has been merged. label May 30, 2019
M-i-k-e-l pushed a commit to M-i-k-e-l/react-native that referenced this pull request Mar 10, 2020
Summary:
Migrate the Circle CI configuration to the 2.1 schema and take advantage of new config reuse features.

I've enabled pipelines in the facebook/react-native Circle CI project, a requirement for Circle CI 2.1 features.

### Overview

* Use executors to provide a common set of execution environments.
* Use commands to provide reusable steps (running yarn with cache, installing Android dependencies, ...)
* Use parametrized commands/jobs to reuse job definitions for `test_js` and `test_js_lts` where the only difference is the version of node provided by the environment.
* Reduce total execution time by [storing the git repo in a cache as opposed to using workspaces](https://circleci.com/blog/persisting-data-in-workflows-when-to-use-caching-artifacts-and-workspaces/)
* Fix various flaky end-to-end test failures related to CocoaPods and the CLI.
* Move `analyze` job to `analysis` workflow and rename to `analyze_pr`
* Rename `test_javascript` as `test_js`.
* Split up end-to-end test job into `test_ios_e2e` and `test_js_e2e`.

## Changelog

[Internal] [Changed] - Migrate to Circle CI 2.1 and fix e2e tests
Pull Request resolved: facebook#25036

Differential Revision: D15565515

Pulled By: hramos

fbshipit-source-id: cfba2154a9fdc96400cbf778bd5d13e9411ee3f8
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. Merged This PR has been merged. p: Facebook Partner: Facebook Partner RN Team 🔩Test Infrastructure Test infrastructure and continuous integration.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants