Граф коммитов

168 Коммитов

Автор SHA1 Сообщение Дата
Héctor Ramos 5fdb558104 Use Xcode 11.6.0 and CocoaPods 1.9.3 (#28837)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/28837

CocoaPods 1.9.3 is the version that is distributed by Circle CI to macOS machines alongside Xcode 11.6.0.

The upgrade to CocoaPods and Xcode is therefore tightly coupled due to our dependency on Circle for our open source CI.

With the upgrade to Xcode 11.6.0, we also bump our target OS to ensure iOS tests use an iOS Simulator that is part of the image.

Reference:
* Circle CI macOS Xcode 11.6.0 image manifest (new version): https://circle-macos-docs.s3.amazonaws.com/image-manifest/v3299/index.html
* Circle CI macOS Xcode 11.3.1 image manifest (previous version): https://circle-macos-docs.s3.amazonaws.com/image-manifest/v2244/index.html

> Source: https://circleci.com/docs/2.0/testing-ios/#supported-xcode-versions

Changelog:
[Internal] Bump Xcode version used for iOS tests.

Reviewed By: fkgozali

Differential Revision: D21415049

fbshipit-source-id: 7a5532e69cfef25999a5b31a09d844f48be9827c
2020-09-02 14:27:48 -07:00
stealthanthrax 63992c0b96 Migrating RNTester to Packages Directory (#29567)
Summary:
## Changelog

<!-- Help reviewers and the release process by writing your own changelog entry. For an example, see:
https://github.com/facebook/react-native/wiki/Changelog
-->
This PR aims to migrate the RNTester App to `packages` directory. But is currently, open to inspect the CI issues and resolve the merge conflicts.

Currently done
 - Working on iOS
 - Working on Android
 - Detox Tests working on iOS

Need to work on
 - Errors generated by the CI builds

[General] [Changed] - Migrated the RNTester App to the packages directory.

Pull Request resolved: https://github.com/facebook/react-native/pull/29567

Test Plan: It runs on both ios and android for now and the detox iOS builds are working.

Reviewed By: cpojer

Differential Revision: D23034761

Pulled By: rickhanlonii

fbshipit-source-id: e04bb06e1c7ef15d340206090d1575a871b9e6f5
2020-08-19 17:57:08 -07:00
Joshua Selbo 3094210bfe Fix test_android CI (#29509)
Summary: Changelog: [Internal]

Reviewed By: lunaleaps

Differential Revision: D22780016

fbshipit-source-id: 342465886748d379741e60181aafc68d46a169ee
2020-07-28 12:38:32 -07:00
Frieder Bluemle e629e94b46 Update Android build tools to 29.0.3 (#29350)
Summary:
A small patch update of the Android build tools from 29.0.2 to 29.0.3. It's the default for newly generated Android projects.

## Changelog

[Android] [Changed] - Update Android build tools to 29.0.3

Pull Request resolved: https://github.com/facebook/react-native/pull/29350

Test Plan: Build project

Reviewed By: JoshuaGross

Differential Revision: D22521075

Pulled By: mdvacca

fbshipit-source-id: 967bbfc6e45c6457d4867282ba311f86dea96208
2020-07-16 12:07:36 -07:00
Héctor Ramos 120ff7ccde Disable Detox tests on Circle CI (#29329)
Summary:
Disabling Detox tests on Circle CI as the `test_ios_detox*` tests have been broken for a while.

Changelog:
[Internal]

Test Plan: Verified these no longer trigger on Circle CI

Reviewed By: cpojer

Differential Revision: D22476861

Pulled By: hramos

fbshipit-source-id: 3d46786cd7d088d363409e4d35a327e3e997a227
2020-07-10 07:15:29 -07:00
Christoph Nakazawa 6d6c68c2c6 "The Metro Server" -> Metro
Summary:
Pet Peeve: Metro is a brand name. You don't say "the Metro server" just like you don't say "the iPhone phone". This is a leftover from when it used to be called "the packager server".

Note: It makes sense to refer to "the Metro server" when talking about it in the context of Metro's features, like if you are discussing "Metro's bundling" and "Metro's server". However, when talking about the tool itself, just Metro is enough.

Changelog: [Internal]

Reviewed By: motiz88

Differential Revision: D22330966

fbshipit-source-id: 667618363c641884df543d88cac65d1e44956ad3
2020-07-02 14:51:18 -07:00
Héctor Ramos 25836bc239 Upgrade tests to Xcode 11.3.1 (#28498)
Summary:
Upgrade Sandcastle and Circle CI tests to use Xcode 11.3.1 across the board.

Pull Request resolved: https://github.com/facebook/react-native/pull/28498
Pull Request resolved: https://github.com/facebook/react-native/pull/28501

Changelog:
[Internal] - Use Xcode 11.3.1 in iOS tests

Reviewed By: fkgozali

Differential Revision: D20821844

fbshipit-source-id: b250ca82bdf2c9fb7faa765d3e2433eb46efd692
2020-04-03 11:56:21 -07:00
Héctor Ramos 23d0e7cae9 Circle CI Housekeeping: Windows, e2e (#28471)
Summary:
Circle CI Housekeeping:
* Integrate Windows job into `tests` workflow
* Add parametrized e2e tests command
* Move js e2e tests out of the disabled test quarantine area
* Parametrize and split `test_ios` job to reduce total execution time by ~13 minutes

**Before:**

Longest running iOS job at 39 minutes.

| Setup Job Runtime | Job | Job Runtime | Total Runtime |
| - | - | - | - |
| 01:24 | test_ios | 38:04 | **39:28** |
| 01:24 | test_ios_frameworks | 38:02 | 39:26 |

![Screen Shot 2020-03-31 at 12 40 29 PM](https://user-images.githubusercontent.com/165856/78068308-044c3280-734d-11ea-96bf-2e50691a0ef7.png)

**After:**

Longest running iOS job down to 26 minutes.

| Setup Job Runtime | Job | Job Runtime | Total Runtime |
| - | - | - | - |
| 01:26 | test_ios_unit | 20:48 | 22:14 |
| 01:26 | test_ios_unit_frameworks | 22:52 | 24:18 |
| 01:26 | test_ios_detox | 24:35 | 39:28 |
| 01:26 | test_ios_detox_frameworks | 24:54 | **26:20** |

![Screen Shot 2020-03-31 at 12 39 22 PM](https://user-images.githubusercontent.com/165856/78068294-fe565180-734c-11ea-96da-8836231d7747.png)

## Changelog

[Internal] [CI] - CI Housekeeping
Pull Request resolved: https://github.com/facebook/react-native/pull/28471

Test Plan: Circle CI

Reviewed By: cpojer

Differential Revision: D20774521

Pulled By: hramos

fbshipit-source-id: 4a2f5a4083cd76dcb51d5ccaf726cd204fca222e
2020-03-31 17:39:20 -07:00
Jesse Katsumata 7007df6198 feat: migrate appveyor to circleci (#28245)
Summary:
This issue closes https://github.com/facebook/react-native/issues/28241
Migrated Windows test from AppVeyor to CircleCI

## Changelog

[Internal] [Changed] - Migrated Windows test from AppVeyor to CircleCI
Pull Request resolved: https://github.com/facebook/react-native/pull/28245

Test Plan: For CircleCI to Pass

Reviewed By: cpojer

Differential Revision: D20689163

Pulled By: hramos

fbshipit-source-id: 285c762457ef00f7884ee9157b3f336044c0452f
2020-03-30 07:24:57 -07:00
Héctor Ramos 8ac00b3ef8 Green CI: Fix JavaScript e2e tests, disable failing Android e2e test (#28392)
Summary:
Jobs now have a `run_disabled_tests` argument that allows for the selective execution of disabled tests. When working on re-enabling a failing test, the contributor just needs to set `run_disabled_tests` to `true` in the appropriate workflow in `.circleci/config.yml`.

Tests can be kept green by moving failing tests into the disabled section until a contributor can provide a fix, thus ensuring signal is maintained on master. For example, a failing end-to-end test might be disabled in order to allow the signal from unit tests to be provided, as opposed to flat out failing the entire job.

What was done in this PR:
* The failing `test_js_e2e` job has been fixed, and merged into the `test_js` job. An empty disabled tests section is added for future use.
* The failing `test_ios_e2e` job has been merged into `test_ios`, with all of its steps gated behind the `run_disabled_steps` argument.
* The failing Android end-to-end tests have been added to `test_android`, gated behind the `run_disabled_steps` argument
* The failing Podspecs test has been added back into `test_ios`, gated behind the `run_disabled_steps` argument

## Changelog

[Internal] [CI] -  Green CI, disabled test infrastructure work
Pull Request resolved: https://github.com/facebook/react-native/pull/28392

Test Plan: Verified on Circle CI

Reviewed By: cpojer

Differential Revision: D20665512

Pulled By: hramos

fbshipit-source-id: 831738027f90f4b23313893d8342d7e654f34726
2020-03-26 06:52:43 -07:00
Eloy Durán 14b423e969 Seed ssh known hosts with github's public key (#28370)
Summary:
The [previous attempt](https://github.com/facebook/react-native/pull/28304) to fix the publish step failed, so now reverting to manually configuring things. This PR adds an entry to SSH’s `known_hosts` file using github.com’s public key that I have verified as per [these instructions](https://serverfault.com/a/807363):

```
~/C/R/react-native [master] » nmap github.com --script ssh-hostkey
Nmap scan report for github.com (140.82.118.4)
rDNS record for 140.82.118.4: lb-140-82-118-4-ams.github.com
PORT     STATE SERVICE
22/tcp   open  ssh
| ssh-hostkey:
|   1024 ad:1c:08:a4:40:e3:6f:9c:f5:66:26:5d:4b:33:5d:8c (DSA)
|_  2048 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48 (RSA)
```

These fingerprints line up with [the ones posted by GitHub](https://help.github.com/en/github/authenticating-to-github/githubs-ssh-key-fingerprints), so my setup should be good and can be trusted to grab the public key from the right host:

```
~/C/R/react-native [master] » ssh-keyscan -t rsa -H github.com
# github.com:22 SSH-2.0-babeld-d48c3acd
|1|If6MU203eXTaaWL678YEfWkVMrw=|kqLeIAyTy8pzpj8x8Ae4Fr8Mtlc= ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAq2A7hRGmdnm9tUDbO9IDSwBK6TbQa+PXYPCPy6rbTrTtw7PHkccKrpp0yVhp5HdEIcKr6pLlVDBfOLX9QUsyCOV0wzfjIJNlGEYsdlLJizHhbn2mUjvSAHQqZETYP81eFzLQNnPHt4EVVUh7VfDESU84KezmD5QlWpXLmvU31/yMf+Se8xhHTvKSCZIFImWwoG6mbUoWf9nzpIoaSjB+weqqUUmpaaasXVal72J+UX2B+2RPW3RcT0eOzQgqlJL3RKrTJvdsjE3JEAvGq3lGHSZXy28G3skua2SmVi/w4yCE6gbODqnTWlg7+wC604ydGXA8VJiS5ap43JXiUFFAaQ==
```

## Changelog

[Internal] [Fixed] - Make automated publishing of packages from CI work again
Pull Request resolved: https://github.com/facebook/react-native/pull/28370

Test Plan: I used the command being added in this PR in [a failed CI job](https://app.circleci.com/pipelines/github/facebook/react-native/4104/workflows/916127cb-177f-4583-9f90-cae5318041d8/jobs/140810). When I invoked the publish script manually I was not greeted by the blocking prompt and the package was successfully published: https://www.npmjs.com/package/react-native/v/0.0.0-56cf99a96

Reviewed By: cpojer

Differential Revision: D20601527

Pulled By: hramos

fbshipit-source-id: b1a4405228408cfc4a1b3b44ab88c79522af3a66
2020-03-24 11:08:49 -07:00
Sam Mathias Weggersen f2ffa03139 Change nightly build from hourly to nightly (daily at 00:00) (#28346)
Summary:
We initially added the nightly build test to run every hour, in order to more quickly validate it. Now that it has been validated we can run it every night as it is intended to do.

cc hramos

## Changelog

[General] [Changed] - Change nightly build from hourly to nightly
Pull Request resolved: https://github.com/facebook/react-native/pull/28346

Reviewed By: cpojer

Differential Revision: D20550143

Pulled By: hramos

fbshipit-source-id: 9487c6785684ad6ea7e877290d50a33118090a7f
2020-03-20 00:33:38 -07:00
Eloy Durán 79490d91ad Seed ssh-agent with github's fingerprint (#28304)
Summary:
Fixes https://github.com/facebook/react-native/issues/28295

Currently [the publish job](https://circleci.com/gh/facebook/react-native/138343) fails with:

```
The authenticity of host 'github.com (192.30.253.113)' can't be established.
RSA key fingerprint is SHA256:nThbg6kXUpJWGl7E1IGOCspRomTxdCARLviKw6E5SY8.
Are you sure you want to continue connecting (yes/no)?
```

As per the [CircleCI docs](https://support.circleci.com/hc/en-us/articles/115015628247-Are-you-sure-you-want-to-continue-connecting-yes-no-), I’ve added a step to seed the ssh-agent with [github’s SHA256 RSA fingerprint](https://help.github.com/en/github/authenticating-to-github/githubs-ssh-key-fingerprints).

## Changelog

[Internal] [Fixed] - Make automated publishing of packages from CI work again
Pull Request resolved: https://github.com/facebook/react-native/pull/28304

Test Plan: We’ll have to see during the next round of releasing.

Reviewed By: cpojer

Differential Revision: D20490766

Pulled By: hramos

fbshipit-source-id: 9edfebb24226e7324855e5cb9c83875729492219
2020-03-17 09:42:34 -07:00
Héctor Ramos 07def55396 fbshipit-source-id: da15f69185e724eaf7d4bc78dbc61fcdcb3074d5 2020-03-13 21:46:45 -07:00
Tommy Nguyen 88fe05e8f1 iOS: Install Node 10 as 8 got dropped (#28199)
Summary:
We recently bumped our engine requirement in https://github.com/facebook/react-native/issues/28174 but are still installing an older Node version.

## Changelog

[Internal] [Fixed] - Install Node 10 as is required for `test_ios_e2e`
Pull Request resolved: https://github.com/facebook/react-native/pull/28199

Test Plan: `test_ios_e2e` should start building again.

Reviewed By: cpojer

Differential Revision: D20170498

Pulled By: hramos

fbshipit-source-id: 59822c50d38307f69824721db36a2c45185dd248
2020-02-29 07:27:41 -08:00
Sam Mathias Weggersen 7d2daa0a6d Add nightly build (#28066)
Summary:
Note: I'm currently testing this, so do not review just yet.

Adding a nightly CI build in preparation for further work on [React Native: Benchmark Suite](https://github.com/react-native-community/discussions-and-proposals/issues/186.)

Currently it will only run the job `nightly_job` which will simply run `$ echo "Nightly build run"`. The plan is to do nightly checks and performance status on the React Native repo, and create a dashboard where we can see performance changes over time. More on this in the proposal: [React Native: Benchmark Suite](https://github.com/react-native-community/discussions-and-proposals/issues/186.)

## Changelog

[General] [Added] - Add nightly CI build
Pull Request resolved: https://github.com/facebook/react-native/pull/28066

Test Plan: Individual jobs will have their own test plan.

Reviewed By: sebmck

Differential Revision: D20008434

Pulled By: hramos

fbshipit-source-id: a5e8aad616c28bfad8f3455b5ebadf7a7d174a55
2020-02-26 18:10:03 -08:00
Héctor Ramos 36111700f4 Use LTS and LTS-1 Node versions (#28048)
Summary:
Previous config used Node10 and NodeLTS executors, but the naming wasn't accurate. As of today, Node 12 is LTS, Node 10 is also LTS but entering maintenance in April: https://nodejs.org/en/about/releases/

This PR switches all jobs to use Node 12 as nodelts, and renames test_js_lts to test_js_prevlts to reflect it's use of Node 10 (the previous Node LTS release). The executors are named NodeLTS and NodeLTSPrev. Later this year, we can switch these to use Node 14 and Node 12 as Node 10 goes into maintenance.

## Changelog

[Internal]
Pull Request resolved: https://github.com/facebook/react-native/pull/28048

Test Plan: Circle CI

Reviewed By: TheSavior

Differential Revision: D19887240

Pulled By: hramos

fbshipit-source-id: a8d553dca0f47a5ab6132a3880830a60a1b28736
2020-02-13 23:14:05 -08:00
Tommy Nguyen 1b562929dc Report size of app bundles on PRs (#28041)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/28041

Report size of app bundles on PRs. See [React Native Benchmark Suite](https://github.com/react-native-community/discussions-and-proposals/issues/186) for further discussion.

## Changelog

[Internal] [Added] - Report size of app bundles on PRs
Pull Request resolved: https://github.com/facebook/react-native/pull/28019

Test Plan: PRs should start seeing comments from a bot with app bundle sizes, given that they got built successfully.

Reviewed By: cpojer

Differential Revision: D19859187

Pulled By: hramos

fbshipit-source-id: 3920dc60e6fd073928388e6ae52fc2ba1bc745ac
2020-02-12 22:21:00 -08:00
David Vacca edcbfb9821 Bump Android build-tools to 29.0.2, compileSdk to 29
Summary:
bump Android build-tools to 29.0.2, compileSdk to 29

changelog: Bump Android build-tools to 29.0.2, compileSdk to 29

Reviewed By: hramos

Differential Revision: D19182040

fbshipit-source-id: f2fc1b953a16c14e33d561078ac50b5a47eaaa13
2020-01-22 17:02:36 -08:00
Héctor Ramos e69ce88ef6 Use Xcode 11.3.0 and iOS 13.3 in tests (#27783)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/27783

Use Xcode 11.3.0 to run tests, using an iPhone 8 simulator running iOS 13.3.

Snapshot tests disabled as they're failing on Circle CI.

Changelog:
[iOS] [Changed] - Use Xcode 11.3 and iOS 13.3 simulator in iOS tests

Reviewed By: PeteTheHeat

Differential Revision: D19411972

fbshipit-source-id: 3ddef9e6fbdbd3c35271732fc6d6d74de099230e
2020-01-17 16:42:56 -08:00
Héctor Ramos ace68f03e8 Use correct location for buck_to_junit (#27766)
Summary:
`test_android`'s Test Collection step fails when it attempts to convert buck's output to the junit-compatible format that Circle CI expects. Executing the script from the `okbuck` location should help here.

## Changelog

[Internal] - Use correct location for buck_to_junit in test_android CI step
Pull Request resolved: https://github.com/facebook/react-native/pull/27766

Test Plan: Circle CI

Differential Revision: D19403837

Pulled By: hramos

fbshipit-source-id: 44e599ab653e7412340c3dcfdc45c5d37bcea1ee
2020-01-14 18:23:48 -08:00
Héctor Ramos 05f1bb3dd4 Bump Homebrew cache key (#27764)
Summary:
Trivial: bump Circle CI Homebrew cache key to move past cache error in CI builds.

Changelog:
[Internal] - Bump Homebrew cache key on Circle CI

Pull Request resolved: https://github.com/facebook/react-native/pull/27764

Differential Revision: D19401723

Pulled By: hramos

fbshipit-source-id: cec18ea68ac141ab85ad694ac261d98cbf0e4440
2020-01-14 16:36:29 -08:00
Héctor Ramos 9fb2ca0b53 Bump Xcode to 11.2.1 (#27434)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/27434
Pull Request resolved: https://github.com/facebook/react-native/pull/27295

- Use Xcode version 11.2.1 in both internal and external tests.
- Update snapshot reference images to use iPhone 8 test device.

Xcode 11.3.0 will be available in Sandcastle in the next week or so.

Changelog:

[Internal] - Bump Xcode version used in tests to 11.2.1.
[Internal] - Update iOS Snapshots.

Reviewed By: cs01

Differential Revision: D18849584

fbshipit-source-id: 9e3b92f080a4dc6a15dac0535b7562ff6a5c08a9
2020-01-14 13:30:05 -08:00
Héctor Ramos d07b16488b Generate test results in a discoverable location (#27435)
Summary:
Test results were being written to ~/reports/, while Circle CI was configured to look for these in ~/react-native/reports/.

This simple fix makes it so that Circle CI's test result tab can now display line-by-line results without the need to dig through log spew to understand which tests failed.

## Changelog

[Internal] [Fixed] - Generate test results in discoverable location (CI)
Pull Request resolved: https://github.com/facebook/react-native/pull/27435

Test Plan:
See https://app.circleci.com/jobs/github/hramos/react-native/7112/tests
Compare with any other run, where this tab would show an error message due to lack of test results.

Differential Revision: D19185408

Pulled By: hramos

fbshipit-source-id: 5481a13874bd078deba4a58ddb83dfdfe6845151
2019-12-19 16:56:01 -08:00
Héctor Ramos 62a079ed12 Ignore js_coverage failures (#27488)
Summary:
The js_coverage step has failed on some recent PRs. While we want to continue collecting coverage data, we are not rejecting PRs that decrease coverage at the moment. Failing a PR in this step sends the wrong message, therefore, we should ignore whenever js_coverage fails.

> The actual coverage failures appear to be issues related to coveralls (the coverage service) failing to map the coverage data to a specific repository, not necessarily due to a decrease in coverage.

## Changelog

[Internal]
Pull Request resolved: https://github.com/facebook/react-native/pull/27488

Test Plan: CircleCI.

Differential Revision: D18962339

Pulled By: hramos

fbshipit-source-id: 46cbe32c70ecc01324a703073f390dad0de562f4
2019-12-12 12:21:01 -08:00
Héctor Ramos 7e6fae2a20 Fix test-ios by bumping Xcode version (#27356)
Summary:
iOS tests have been failing due to iOS 12.4 not being supported by Xcode 10.2.1. Bumping to 10.3 solves it.

Ideally, we'd bump to Xcode 11.2.1 and iOS 13.2.2. We can do this once all of our internal CI machines have Xcode 11.2.1 available.

## Changelog

[iOS] [Fixed] - Fix CI iOS tests by bumping Xcode version used in Circle CI
Pull Request resolved: https://github.com/facebook/react-native/pull/27356

Test Plan: Circle

Differential Revision: D18765501

Pulled By: hramos

fbshipit-source-id: 1a1ca78c5d8f8596476b0e56740ea1bdf7422161
2019-12-02 10:49:37 -08:00
Héctor Ramos 9bfb48e70d Bump Yarn cache key and fix JavaScript tests (#27343)
Summary:
Trivial - bumping the cache key used by yarn should help unblock the JS test failures on master.

Changelog:
[General] [Fixed] - Bump Yarn cache key in Circle CI config to address JS test failures

Pull Request resolved: https://github.com/facebook/react-native/pull/27343

Differential Revision: D18717521

Pulled By: hramos

fbshipit-source-id: f241a6da410881c8c50c42993338f6ca4b6dc4f2
2019-11-27 07:48:40 -08:00
Andres Suarez aee88b6843 Tidy up license headers [3/n]
Summary: Changelog: [General] [Fixed] - License header cleanup

Reviewed By: yungsters

Differential Revision: D17952693

fbshipit-source-id: 8fcb8e58a2e04e7a3169f4d525bffc00835768e6
2019-10-16 10:06:34 -07:00
Mike Grabowski 16d8802b22 Update CircleCI config as per support request (#26329)
Summary:
This is a cherry-pick of the fix on 0.61-stable that fixes an issue with CircleCI.
fafc58b62d
Pull Request resolved: https://github.com/facebook/react-native/pull/26329

Differential Revision: D17258952

Pulled By: cpojer

fbshipit-source-id: 5116a143b582ab4835d7a53f4037a7b7e749f3a8
2019-09-09 06:42:29 -07:00
gengjiawen 60601f541c update react native docker (#26325)
Summary:
upgrade docker, this brings NDK 20 and buck 2019.09.03.01.

## Changelog

[Android] [CI] - update react native docker
Pull Request resolved: https://github.com/facebook/react-native/pull/26325

Test Plan: Pass basic build

Differential Revision: D17234774

Pulled By: mdvacca

fbshipit-source-id: 40bfe3cbcb406dca5c1c0021720355a1bab2db8a
2019-09-06 13:54:54 -07:00
James Treanor bbde55ee11 Test RNTesterPods on CI with use_frameworks! enabled (#25818)
Summary:
This adds a `test_ios_frameworks` job to CircleCI to test the `RNTesterPods` project with `use_frameworks!` enabled. It will ensure the issue in https://github.com/facebook/react-native/issues/25349 is not reintroduced as suggested in https://github.com/facebook/react-native/pull/25619#issuecomment-514380653.

## Changelog

[iOS] [Internal] - Added CircleCI job for testing `RNTesterPods` with `use_frameworks!` enabled.
Pull Request resolved: https://github.com/facebook/react-native/pull/25818

Test Plan: Tests seem to be failing on `master` at the moment but you can see that the new job builds successfully [here](https://circleci.com/gh/facebook/react-native/103929?utm_campaign=vcs-integration-link&utm_medium=referral&utm_source=github-build-link). You can confirm it installs the pods with `use_frameworks!` by seeing that `Installing pods with use_frameworks!` is at the start of the log for the `Generate RNTesterPods Workspace` step.

Reviewed By: hramos

Differential Revision: D16495016

Pulled By: fkgozali

fbshipit-source-id: 8ef607cc3a152f599d226f9f45d990fba50a65d4
2019-07-25 11:46:44 -07:00
Héctor Ramos 970101e1c6 Test collection step should succeed even if unit tests fail (#25621)
Summary:
This is a quick change to avoid having "Collect Test Results" fail on `test_android` when unit tests have not run. If the raw Buck results are not available, avoid running the buck-to-junit conversion tool.

You can find an example of the situation we want to avoid here: https://circleci.com/gh/facebook/react-native/101397?utm_campaign=vcs-integration-link&utm_medium=referral&utm_source=github-build-link

## Changelog

[Internal] [Changed] - Do not fail test collection step when unit tests fail
Pull Request resolved: https://github.com/facebook/react-native/pull/25621

Test Plan:
Verified on macOS + bash, the conditional will fail if all-results-raw.xml does not exist.

Circle CI:

The `test_android` job as a whole failed (as expected, master is broken), but Collect Test Results remained green even in the absence of a Buck results file.

https://pxl.cl/Fbjl

Reviewed By: fkgozali

Differential Revision: D16230885

Pulled By: hramos

fbshipit-source-id: 73a8290bc4679f2e0dfa88d1e7f71fed279c2104
2019-07-12 16:12:33 -07:00
Kevin Gozali 79a7828b91 deprecate iOS .xcodeproj (#25583)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/25583

We now use CocoaPods for better maintainability.

Reviewed By: hramos

Differential Revision: D16193719

fbshipit-source-id: 26382f2da4eaba14a71771540b587fdc80b41108
2019-07-11 12:02:39 -07:00
Héctor Ramos 9ece5bda9b Use CocoaPods-based RNTesterPods for iOS tests (#25416)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/25416

Use CocoaPods-based RNTesterPods workspace to run iOS unit tests and integration tests.

This is necessary as new iOS projects now use CocoaPods by default. CocoaPods also powers the new package auto-linking feature.

In order to provide test coverage for this new default configuration, our iOS tests are being migrated to use a CocoaPods-managed RNTester workspace. This applies to both Circle CI, and Sandcastle.

Changelog:

[iOS] [Changed] - Use RNTesterPods for iOS Tests

Reviewed By: fkgozali

Differential Revision: D16052466

fbshipit-source-id: 724b0c51008882d3c06a9074693fe23e74abe86b
2019-06-28 19:18:10 -07:00
Daryl Johnas Sison 64282fd5b9 Revert D15958209: [RN] [RNTesterPods 5] Use CocoaPods-based RNTesterPods for iOS tests
Differential Revision:
D15958209

Original commit changeset: b51fb907812c

fbshipit-source-id: f0c499d8720ac91d5933c560281788e123269478
2019-06-28 00:57:57 -07:00
Héctor Ramos 39ab66793b Use CocoaPods-based RNTesterPods for iOS tests (#25416)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/25416

Use CocoaPods-based RNTesterPods workspace to run iOS unit tests and integration tests.

This is necessary as new iOS projects now use CocoaPods by default. CocoaPods also powers the new package auto-linking feature.

In order to provide test coverage for this new default configuration, our iOS tests are being migrated to use a CocoaPods-managed RNTester workspace. This applies to both Circle CI, and Sandcastle.

Reviewed By: fkgozali

Differential Revision: D15958209

fbshipit-source-id: b51fb907812cb2d4d78cce445d39bc253ae5acf8
2019-06-27 23:57:45 -07:00
Michał Pierzchała 488a91bdc4 WIP: install watchman in e2e tests (#25257)
Summary:
An attempt to fix CI.
This PR includes changes from https://github.com/facebook/react-native/pull/25241, to be removed once synced to master

## Changelog

[General] [Fix] - install watchman in e2e tests to fix CI
Pull Request resolved: https://github.com/facebook/react-native/pull/25257

Differential Revision: D15804513

Pulled By: cpojer

fbshipit-source-id: 33d4494ffaa340f99f1dae8764449e81e552c943
2019-06-13 15:46:36 -07:00
Dulmandakh 146d1f7578 Bump Android NDK to r19c (#25140)
Summary:
In 2019-6-4 version of Docker Android image, we've added Android NDK r19c. So this PR will change CI to use NDK r19c.

I'll create a PR to website once this merged.

Note: I tried to build RN with NDK 19 while I was setting up my laptop after format, and it worked.

## Changelog

[Android] [Changed] - Bump Android NDK to r19c
Pull Request resolved: https://github.com/facebook/react-native/pull/25140

Differential Revision: D15631301

Pulled By: cpojer

fbshipit-source-id: b9a5600df1dadeba328932b694493960b242c2f7
2019-06-04 13:59:36 -07:00
Héctor Ramos 4a6676dc18 Cache CocoaPods specs-repo (#25095)
Summary:
The `test_end_to_end` job has been timing out due CocoaPods taking too long to check out the Specs repo. This repo is stored at `~/.cocoapods`, therefore by caching this folder we can keep the individual e2e test run from exceeding 10 minutes w/o output.

## Changelog

[Internal] [Added] - Cache CocoaPods
Pull Request resolved: https://github.com/facebook/react-native/pull/25095

Differential Revision: D15587702

Pulled By: hramos

fbshipit-source-id: 6669ff09a5021f012ac8a829db70442d8f7f07e8
2019-05-31 16:50:15 -07:00
Héctor Ramos 171cc0edb7 Migrate to Circle CI 2.1 (#25036)
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: https://github.com/facebook/react-native/pull/25036

Differential Revision: D15565515

Pulled By: hramos

fbshipit-source-id: cfba2154a9fdc96400cbf778bd5d13e9411ee3f8
2019-05-30 15:11:13 -07:00
Héctor Ramos 9c3f4c021e Bots cleanup, avoid leaving inline reviews when N>5 (#24923)
Summary:
This PR cleans up some of our GitHub bots. The overall goal is to make the contribution process just a tad nicer.

### analysis-bot

* The bot will continue leaving GitHub Reviews when it finds lint issues, but will abstain from leaving inline comments if they would exceed 5 in number.
* The review comment left by the bot has instructions on how to reproduce the lint issues locally. This will educate PR authors on how to run lint and fix the issues without unnecessarily spamming the PR with 50+ comments, while still providing useful reviews to authors when only a handful of lint issues slip by.
* Code moved to `bots/` directory for ease of discovery and co-location with pull-bot.
* Added `yarn lint-ci` command. This seems like the right choice: it's running `yarn lint` and other linters, and it is only intended to run on CI.
* It's still possible to run `yarn lint-ci` locally, though the script will stop short of posting a review to GitHub unless the necessary envvars are provided.
* Added `yarn shellcheck` command. This can be run locally, though it requires `shellcheck` to be installed.
* Outside of this PR, I added instructions on using shellcheck to https://github.com/facebook/react-native/wiki/Development-Dependencies
* Updated Circle CI config to use these new commands, and streamlined the `analyze_pr` step.
* Documented analysis-bot in `bots/README.md`.

### pull-bot

* Bumped `danger-js` dependency. No breaking changes found in this minor bump from what I can tell.
* Documented pull-bot in `bots/README.md`.

### misc

* PR template: don't use jargon.

## Changelog

[Internal] [Changed] - GitHub Bots cleanup
Pull Request resolved: https://github.com/facebook/react-native/pull/24923

Differential Revision: D15399744

Pulled By: hramos

fbshipit-source-id: 32632e775f8554424072270e3f98542de84bfb8c
2019-05-21 19:38:54 -07:00
nossbigg 30a0a03b80 Fix ios/android e2e tests (#24974)
Summary:
Fixes broken ios/android e2e tests for CI.

Changes:
1. Use `npm pack` instead of `yarn pack` during e2e test
2. Update test string assertions in ios/android e2e tests
3. Use `Step One` as candidate for source code replacement to test for page changes (since the "Welcome to React Native" string exists in the `Header` component instead of being on `App.js`)

## Changelog

[Internal] [Fixed] - Fix ios/android e2e tests
Pull Request resolved: https://github.com/facebook/react-native/pull/24974

Differential Revision: D15431539

Pulled By: cpojer

fbshipit-source-id: 054af2c2fff6bbdb2263c15d7f5cd416aaa507fd
2019-05-21 05:44:29 -07:00
Héctor Ramos 9785a572ee Disable iOS end-to-end tests (#24962)
Summary:
The iOS end-to-end tests are currently broken. I'm disabling them to bring the tests back to green and unblock other PRs, until they can be fixed.

## Changelog

[Internal] [Removed] - Disable iOS e2e test
Pull Request resolved: https://github.com/facebook/react-native/pull/24962

Differential Revision: D15415872

Pulled By: hramos

fbshipit-source-id: 1a146a2eb36d5bf9b4e1f8cc9daf9b3e4d0cfab1
2019-05-20 10:24:11 -07:00
Héctor Ramos da7d3dfc7d Partially back out #24506, fixing iOS e2e tests (#24788)
Summary:
The iOS End-to-End tests started failing with the updates made to the iOS template's Podfile in 261197d857. Undoing these gets our CI iOS e2e test step back to green.

[iOS] [Removed] - Revert auto-linking related changes to the iOS template Podfile
Pull Request resolved: https://github.com/facebook/react-native/pull/24788

Differential Revision: D15317895

Pulled By: cpojer

fbshipit-source-id: a1f3b84b39c6d341740f742d83fd05a1ab841184
2019-05-13 07:37:07 -07:00
Dulmandakh 661b3b63ec bump react-native-android docker image to 2019-5-7 (#24742)
Summary:
Bump react-native-android Docker image used to 2019-5-7, which contains Buck v2019.05.06.01.

[CI] [Changed] - Bump react-native-android Docker image used to 2019-5-7, which contains Buck v2019.05.06.01
Pull Request resolved: https://github.com/facebook/react-native/pull/24742

Differential Revision: D15243994

Pulled By: hramos

fbshipit-source-id: 515269d535ecb3a46fc4768edb31117a0e731c94
2019-05-07 17:06:28 -07:00
Héctor Ramos 9bd276c06b Rename Detox job, collect all e2e steps under test_end_to_end (#24689)
Summary:
Rename test_detox_end_to_end to test_end_to_end, then move JavaScript and iOS end-to-end tests to this job.

Fixes an issue in the end-to-end tests, but does not yet bring them back fully to green.

[General] [Changed] - Collect e2e tests under test_end_to_end job
Pull Request resolved: https://github.com/facebook/react-native/pull/24689

Differential Revision: D15202242

Pulled By: hramos

fbshipit-source-id: e7a9627896d2990cb6ddd0d3a91b915781ac2417
2019-05-03 14:38:10 -07:00
Héctor Ramos 0a16b53a78 Use Xcode 10.2.0 and iOS 12.2 in iOS tests (#24572)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/24572

Bumps to Xcode 10.2.0 and uses the iOS 12.2 simulator when running tests.

Changelog:

[iOS] [Changed] - iOS tests: Bump Xcode to 10.2.0, iOS to 12.2.

Reviewed By: cpojer

Differential Revision: D15049833

fbshipit-source-id: 40ee039f8be4db1365ad650b45e2e3e0a4ea80f3
2019-04-24 09:33:17 -07:00
empyrical b27d1d3da2 Remove out-of-tree platform tests (#24536)
Summary:
This pull request removes the tests for out-of-tree platforms and the dependency on the package `react-native-dummy` from the React Native repo.

The logic that this was meant to test was moved to the React Native CLI repo, and [it is being tested there](827daa4c16/packages/cli/src/tools/config/__tests__/index-test.js (L125-L152)) as well making this a bit redundant at this point.

The dependency on `react-native-dummy` was also an issue, because when the file structure under `Libraries/` changes, bundler errors could crop up if there wasn't an update made to the file structure of `react-native-dummy/Libraries/`.

This was an issue when [`TabBarIOS` was removed](02697291ff (diff-b9cfc7f2cdf78a7f4b91a753d10865a2)) - `react-native-dummy` was causing Haste errors and was stopping the commit from being able to land, and I needed to cut a new version just for it. With Lean Core, I expect more issues like this happening in the future.

[General] [Removed] - Removed Out-of-Tree platform tests (functionality is tested in the RN-CLI repo now)
Pull Request resolved: https://github.com/facebook/react-native/pull/24536

Differential Revision: D15063320

Pulled By: cpojer

fbshipit-source-id: 2a0467bed326b286623fa3cfa4e0bb6959b66b78
2019-04-24 07:56:30 -07:00
Mike Grabowski 706f67a882 Use latest React Native CLI (#24517)
Summary:
Updates React Native to use latest CLI.

Changes:
- No more `--reactNativePath`, define it once in the configuration file. This reverts the previous PR that added this flag
- Add `platforms` and `commands` - React Native now defines platform like any other package. There's no longer concept of "out-of-tree" platform. All are treated equally. If React Native works, any other platform will work too.
- Updates `jest/hasteImpl.js` to use public CLI interface (`loadConfig`) instead of `findPlugins` and removes a weird conditional that checks for CI presence.

[INTERNAL] - Update React Native CLI
Pull Request resolved: https://github.com/facebook/react-native/pull/24517

Differential Revision: D15044762

Pulled By: cpojer

fbshipit-source-id: 379b61e842e619312c542173219a7d326663cf24
2019-04-24 05:09:10 -07:00
Diego Sanchez 1f6de88230 Revert D14962710: [react-native][nbtd][Sandcastle][Facebook: Run RNTester Unit Tests on Sandcastle] Use Xcode 10.2.0 and iOS 12.2 in iOS tests
Differential Revision:
D14962710

Original commit changeset: 769cfb90aacc

fbshipit-source-id: a62ded9ac74f00332006b960862db5c258daff06
2019-04-23 02:33:55 -07:00