Skip to content
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

☂️✅ Green CI: Re-enabling disabled tests #23561

Closed
hramos opened this issue Feb 20, 2019 · 24 comments
Closed

☂️✅ Green CI: Re-enabling disabled tests #23561

hramos opened this issue Feb 20, 2019 · 24 comments
Assignees
Labels
Help Wanted :octocat: Issues ideal for external contributors. ☂️ Umbrella To label issues that serve as coordination point and drivers for tasks in the react-native repo p: Facebook Partner: Facebook Partner 🔩Test Infrastructure Test infrastructure and continuous integration. Type: Discussion Long running discussion.

Comments

@hramos
Copy link
Contributor

hramos commented Feb 20, 2019

We have a handful of tests that have been disabled on Circle CI over the years. It's time to get these back up and running so we can merge PRs and cut new releases with confidence.

This is an umbrella task intended to track all the work necessary to re-enable these tests. This issue is being kept up to date so new items will be added and completed ones will be (re)moved. Some of the items will spawn separate issues to track work. If you don't see a name assigned to any of the below items and you would like to help out, please volunteer in the comments and reach out to me to get started!

What needs to be re-enabled?

These tests are configured as aliases in the Circle CI config. I'm happy to help with the Circle CI side of things, but for now you can focus on making sure the command/script (e.g. ./scripts/run-ci-e2e-tests.js --ios) succeeds locally.

Circle CI Job Test Name Test Script Fix?
test_android Android e2e node ./scripts/run-ci-e2e-tests.js --android
test_ios iOS e2e node ./scripts/run-ci-e2e-tests.js --ios
test_js JS e2e node ./scripts/run-ci-e2e-tests.js --js #28392
test_ios Podspecs ./scripts/process-podspecs.sh
@hramos hramos added Help Wanted :octocat: Issues ideal for external contributors. Type: Discussion Long running discussion. 🔩Test Infrastructure Test infrastructure and continuous integration. p: Facebook Partner: Facebook Partner labels Feb 20, 2019
@hramos hramos changed the title ✅ Green CI: Fix and re-enable tests on Circle CI ☂️✅ Green CI: Fix and re-enable tests on Circle CI Feb 20, 2019
@ericlewis
Copy link
Contributor

  • CocoaPods Podspecs tests

@hramos is there more detail on what this should do?

@hramos
Copy link
Contributor Author

hramos commented Feb 20, 2019

I haven’t looked into it recently. There’s a PR out right now that reworks how CocoaPods is supported in this repo, so it’s an open question whether this test is still necessary or sufficient.

Edit: oh, it’s your PR :) Feel free to remove / provide an updated replacement for testing our CocoaPods support as part of your PR.

facebook-github-bot pushed a commit that referenced this issue Feb 21, 2019
Summary:
Do not run disabled tests, even when the commit / PR is pushed by hramos. See the existing functionality at https://circleci.com/gh/facebook/react-native/73844?utm_campaign=vcs-integration-link&utm_medium=referral&utm_source=github-build-link:

![screen shot 2019-02-20 at 8 21 39 am](https://user-images.githubusercontent.com/165856/53106776-90ecb600-34e8-11e9-9b02-a7f3990407b2.png)

There are a handful of tests that are known to be broken in Circle CI. This has been the case since at least Fall 2017, when we migrated to Circle 2.0. These tests haven't been fixed for several reasons, one of them being that once they were removed from the Circle CI config, the pressure to fix them has been lowered.

Last year, I added these disabled tests back to Circle CI, but used a script to prevent them from running unless the job was initiated by myself. This would allow us to get good signal from Circle CI without polluting results with known failing tests, while still showing me which tests needed some work before getting re-enabled again.

In practice, this functionality is introducing more friction as I work on fixing new CI failures: my own fixup PRs are marked as failing due to these "disabled tests" (see test_android on #23558). To ensure we don't lose track of these failures, I've created an umbrella issue at #23561.
Pull Request resolved: #23562

Differential Revision: D14161172

Pulled By: cpojer

fbshipit-source-id: 040500dcb433d3127c64a42b31f94af6bbaa6ed1
@gregoryfm
Copy link
Contributor

@hramos I'd like to help with this ./scripts/run-ci-e2e-tests.js --js

facebook-github-bot pushed a commit that referenced this issue Feb 21, 2019
Summary:
As part of #23561 this is an attempt at fixing iOS.

[iOS] [Fixed] - e2e test
Pull Request resolved: #23566

Differential Revision: D14162780

Pulled By: cpojer

fbshipit-source-id: b55d32e30f88370100f7fbddf9dfb208280844f4
mbardauskas pushed a commit to mbardauskas/react-native that referenced this issue Feb 21, 2019
Summary:
Do not run disabled tests, even when the commit / PR is pushed by hramos. See the existing functionality at https://circleci.com/gh/facebook/react-native/73844?utm_campaign=vcs-integration-link&utm_medium=referral&utm_source=github-build-link:

![screen shot 2019-02-20 at 8 21 39 am](https://user-images.githubusercontent.com/165856/53106776-90ecb600-34e8-11e9-9b02-a7f3990407b2.png)

There are a handful of tests that are known to be broken in Circle CI. This has been the case since at least Fall 2017, when we migrated to Circle 2.0. These tests haven't been fixed for several reasons, one of them being that once they were removed from the Circle CI config, the pressure to fix them has been lowered.

Last year, I added these disabled tests back to Circle CI, but used a script to prevent them from running unless the job was initiated by myself. This would allow us to get good signal from Circle CI without polluting results with known failing tests, while still showing me which tests needed some work before getting re-enabled again.

In practice, this functionality is introducing more friction as I work on fixing new CI failures: my own fixup PRs are marked as failing due to these "disabled tests" (see test_android on facebook#23558). To ensure we don't lose track of these failures, I've created an umbrella issue at facebook#23561.
Pull Request resolved: facebook#23562

Differential Revision: D14161172

Pulled By: cpojer

fbshipit-source-id: 040500dcb433d3127c64a42b31f94af6bbaa6ed1
mbardauskas pushed a commit to mbardauskas/react-native that referenced this issue Feb 21, 2019
Summary:
As part of facebook#23561 this is an attempt at fixing iOS.

[iOS] [Fixed] - e2e test
Pull Request resolved: facebook#23566

Differential Revision: D14162780

Pulled By: cpojer

fbshipit-source-id: b55d32e30f88370100f7fbddf9dfb208280844f4
@hramos
Copy link
Contributor Author

hramos commented Feb 21, 2019

@gregoryfm it looks like @ericlewis is already taking a stab at this, through #23571.

@ericlewis
Copy link
Contributor

Any help with android e2e would be much appreciated tho!

facebook-github-bot pushed a commit that referenced this issue Feb 21, 2019
Summary:
Part of #23561. Small refactor to use 1 marker for the different tests, as it doesn't matter where it is- so long as we can detect it.

[General] [Fixed] - turn on JS e2e tests
Pull Request resolved: #23571

Differential Revision: D14172069

Pulled By: hramos

fbshipit-source-id: cdde369a09d3528d05fec01d015613b3397714e6
@ericlewis
Copy link
Contributor

ericlewis commented Feb 27, 2019

@hramos I think the iOS portion is complete too, it’s e2e test consists of setting up a project via react-native init and confirming that we are indeed using the master branch template & that the snapshot lines up. This should indicate a successful react native init on iOS, and in theory, a successful e2e usage of the react-native experience most have.

@ericlewis
Copy link
Contributor

The js e2e tests consist of us being able to bundle the js successfully, and has been completed as well, as marked. But wanted to note how it works for transparency purposes.

@casperboone
Copy link
Contributor

casperboone commented Mar 11, 2019

Working on fixing the android e2e tests! Once I've made some (more) progress, I'll give an update :)

facebook-github-bot pushed a commit that referenced this issue Mar 18, 2019
Summary:
This PRs makes an attempt at fixing the set up of the Android end to end tests, and the tests themselves. The end goal is to re-enable the tests on CircleCI (see #23561 for more details).

The goal of this PR is to the end to end tests to a working state. Better tests can be added at a later point.

I changed the tests using the menu button. These tests made something silently crash/hang, after which it was no longer possible to get an element or even get the source. A fix for this needs further investigation.

Also, I enabled the tests in the CircleCI config, however CircleCI is currently failing on them with the following error:
```
info Running /opt/android/platform-tools/adb -s emulator-5554 reverse tcp:8081 tcp:8081
error: closed
info Could not run adb reverse: Command failed: /opt/android/platform-tools/adb -s emulator-5554 reverse tcp:8081 tcp:8081
info Starting the app on emulator-5554 (/opt/android/platform-tools/adb -s emulator-5554 shell am start -n com.endtoendtest/com.endtoendtest.MainActivity)...
Starting: Intent { cmp=com.endtoendtest/.MainActivity }

Too long with no output (exceeded 10m0s)
```
Some help here would be appreciated. An alternative is to not enable the tests yet on CircleCI in this PR.

[Android] [fixed] - Fix and update end to end tests for Android
Pull Request resolved: #23958

Differential Revision: D14502884

Pulled By: hramos

fbshipit-source-id: 4316c3fd817451d332e64a10d88389b74a60d3dd
@cpojer
Copy link
Contributor

cpojer commented Mar 19, 2019

@casperboone @ericlewis thanks so much for your help on this.

@hramos do you think you could give an update about what we still would like to do? I think there is probably a bunch more integration work for Facebook to keep things green but I'm not entirely up-to-date on what that work may be.

@hramos hramos self-assigned this Apr 27, 2019
facebook-github-bot pushed a commit that referenced this issue May 20, 2019
Summary:
Fixes the e2e detox build step by manually overriding `PROJECT_ROOT` for the project's JS bundle build step.

After seeing [quite](#18472 (comment)) [a](#18472 (comment)) [few](#15432 (comment)) [comments](https://stackoverflow.com/a/49506072) suggesting running some variant of the `react-native bundle` manually on your own so as to build the jsbundle required as part of the build step for RNTester project...

The main issue I found was that the working directory in which `react-native-xcode.sh` executed the CLI bundle step was not correct. The `PROJECT_ROOT` was not resolving to the root of the `react-native` project directory, but instead to something to the effect of `/Users/gibson.cheng/IdeaProjects/react-native/../..` - of which of course the build step would not be able to find the `react-native` project to run the build against.

I'm not sure if new generated `react-native` projects require this manual override, so I only applied it to the RNTester project. Reviewers are welcome to correct my understanding and solutioning to this matter :)

hramos, if this works, perhaps there would not be a need to push through with #24936. Also, this  contributes to #23561.

## Changelog

[Internal] [Fixed] - Fix build-ios-e2e build step
Pull Request resolved: #24953

Differential Revision: D15415850

Pulled By: hramos

fbshipit-source-id: baaff09f81f01be4da1608e0b2898d037db35c23
@hramos
Copy link
Contributor Author

hramos commented May 30, 2019

Thanks for all your help getting these tests fixed.

I'm posting an update to clarify what needs to be done before this issue can be closed. The podspec tests and Android end-to-end tests remain disabled, and we could use some help getting them green again.

iOS: Podspec tests

These are failing because the yoga pod cannot be built (expand to see logs):

While building module 'yoga' imported from /var/folders/82/w8hcc_tj7yq80482srkc1r2x0bj21j/T/CocoaPods-Lint-20190530-11880-m4ez3b-yoga/App/main.m:3: In file included from :1: In file included from /Users/hramos/Library/Developer/Xcode/DerivedData/App-fcnbolkgqgfrrdcvttlgzjkxdyvg/Build/Products/Release-iphonesimulator/yoga/yoga.framework/Headers/yoga-umbrella.h:13: /Users/hramos/Library/Developer/Xcode/DerivedData/App-fcnbolkgqgfrrdcvttlgzjkxdyvg/Build/Products/Release-iphonesimulator/yoga/yoga.framework/Headers/CompactValue.h:11:10: fatal error: 'cmath' file not found #include ^~~~~~~ 1 error generated. /var/folders/82/w8hcc_tj7yq80482srkc1r2x0bj21j/T/CocoaPods-Lint-20190530-11880-m4ez3b-yoga/App/main.m:3:9: fatal error: could not build module 'yoga' @import yoga; ~~~~~~~^~~~ 2 errors generated.
WriteAuxiliaryFile /Users/hramos/Library/Developer/Xcode/DerivedData/App-fcnbolkgqgfrrdcvttlgzjkxdyvg/Build/Intermediates.noindex/App.build/Release-iphonesimulator/App.build/Objects-normal/i386/App.LinkFileList (in target: App)
    cd /var/folders/82/w8hcc_tj7yq80482srkc1r2x0bj21j/T/CocoaPods-Lint-20190530-11880-m4ez3b-yoga
    write-file /Users/hramos/Library/Developer/Xcode/DerivedData/App-fcnbolkgqgfrrdcvttlgzjkxdyvg/Build/Intermediates.noindex/App.build/Release-iphonesimulator/App.build/Objects-normal/i386/App.LinkFileList

** BUILD FAILED **


The following build commands failed:
    CompileC /Users/hramos/Library/Developer/Xcode/DerivedData/App-fcnbolkgqgfrrdcvttlgzjkxdyvg/Build/Intermediates.noindex/App.build/Release-iphonesimulator/App.build/Objects-normal/i386/main.o /var/folders/82/w8hcc_tj7yq80482srkc1r2x0bj21j/T/CocoaPods-Lint-20190530-11880-m4ez3b-yoga/App/main.m normal i386 objective-c com.apple.compilers.llvm.clang.1_0.compiler
    CompileC /Users/hramos/Library/Developer/Xcode/DerivedData/App-fcnbolkgqgfrrdcvttlgzjkxdyvg/Build/Intermediates.noindex/App.build/Release-iphonesimulator/App.build/Objects-normal/x86_64/main.o /var/folders/82/w8hcc_tj7yq80482srkc1r2x0bj21j/T/CocoaPods-Lint-20190530-11880-m4ez3b-yoga/App/main.m normal x86_64 objective-c com.apple.compilers.llvm.clang.1_0.compiler
(2 failures)

Testing with xcodebuild.
-> yoga (1000.0.0.React)
- WARN | source: Git sources should specify a tag.
- WARN | [iOS] license: Unable to find a license file
- ERROR | [iOS] xcodebuild: Returned an unsuccessful exit code.
- NOTE | xcodebuild: note: Using new build system
- NOTE | [iOS] xcodebuild: note: Planning build
- NOTE | [iOS] xcodebuild: note: Constructing build description
- NOTE | [iOS] xcodebuild: warning: Capabilities for App may not function correctly because its entitlements use a placeholder team ID. To resolve this, select a development team in the build settings editor. (in target 'App')
- NOTE | xcodebuild: /Users/hramos/Library/Developer/Xcode/DerivedData/App-fcnbolkgqgfrrdcvttlgzjkxdyvg/Build/Products/Release-iphonesimulator/yoga/yoga.framework/Headers/CompactValue.h:11:10: fatal error: 'cmath' file not found
- NOTE | xcodebuild: /var/folders/82/w8hcc_tj7yq80482srkc1r2x0bj21j/T/CocoaPods-Lint-20190530-11880-m4ez3b-yoga/App/main.m:3:9: fatal error: could not build module 'yoga'

[!] yoga did not pass validation, due to 1 error.
You can use the --no-clean option to inspect any issue.

/Library/Ruby/Gems/2.3.0/gems/cocoapods-1.6.1/lib/cocoapods/command/lib/lint.rb:92:in block in run' /Library/Ruby/Gems/2.3.0/gems/cocoapods-1.6.1/lib/cocoapods/command/lib/lint.rb:60:in each'
/Library/Ruby/Gems/2.3.0/gems/cocoapods-1.6.1/lib/cocoapods/command/lib/lint.rb:60:in run' /Library/Ruby/Gems/2.3.0/gems/claide-1.0.2/lib/claide/command.rb:334:in run'
/Library/Ruby/Gems/2.3.0/gems/cocoapods-1.6.1/lib/cocoapods/command.rb:52:in run' /Library/Ruby/Gems/2.3.0/gems/cocoapods-1.6.1/bin/pod:55:in <top (required)>'

The failure can be reproduced by running ./scripts/process-podspecs.sh on macOS.

@hramos hramos changed the title ☂️✅ Green CI: Fix and re-enable tests on Circle CI ☂️✅ Green CI: Re-enable Podspec, end-to-end tests on Circle CI Jun 13, 2019
vovkasm pushed a commit to vovkasm/react-native that referenced this issue Aug 12, 2019
Summary:
Fixes the e2e detox build step by manually overriding `PROJECT_ROOT` for the project's JS bundle build step.

After seeing [quite](facebook#18472 (comment)) [a](facebook#18472 (comment)) [few](facebook#15432 (comment)) [comments](https://stackoverflow.com/a/49506072) suggesting running some variant of the `react-native bundle` manually on your own so as to build the jsbundle required as part of the build step for RNTester project...

The main issue I found was that the working directory in which `react-native-xcode.sh` executed the CLI bundle step was not correct. The `PROJECT_ROOT` was not resolving to the root of the `react-native` project directory, but instead to something to the effect of `/Users/gibson.cheng/IdeaProjects/react-native/../..` - of which of course the build step would not be able to find the `react-native` project to run the build against.

I'm not sure if new generated `react-native` projects require this manual override, so I only applied it to the RNTester project. Reviewers are welcome to correct my understanding and solutioning to this matter :)

hramos, if this works, perhaps there would not be a need to push through with facebook#24936. Also, this  contributes to facebook#23561.

## Changelog

[Internal] [Fixed] - Fix build-ios-e2e build step
Pull Request resolved: facebook#24953

Differential Revision: D15415850

Pulled By: hramos

fbshipit-source-id: baaff09f81f01be4da1608e0b2898d037db35c23
(cherry picked from commit adc0878)
M-i-k-e-l pushed a commit to M-i-k-e-l/react-native that referenced this issue Mar 10, 2020
Summary:
Fixes the e2e detox build step by manually overriding `PROJECT_ROOT` for the project's JS bundle build step.

After seeing [quite](facebook#18472 (comment)) [a](facebook#18472 (comment)) [few](facebook#15432 (comment)) [comments](https://stackoverflow.com/a/49506072) suggesting running some variant of the `react-native bundle` manually on your own so as to build the jsbundle required as part of the build step for RNTester project...

The main issue I found was that the working directory in which `react-native-xcode.sh` executed the CLI bundle step was not correct. The `PROJECT_ROOT` was not resolving to the root of the `react-native` project directory, but instead to something to the effect of `/Users/gibson.cheng/IdeaProjects/react-native/../..` - of which of course the build step would not be able to find the `react-native` project to run the build against.

I'm not sure if new generated `react-native` projects require this manual override, so I only applied it to the RNTester project. Reviewers are welcome to correct my understanding and solutioning to this matter :)

hramos, if this works, perhaps there would not be a need to push through with facebook#24936. Also, this  contributes to facebook#23561.

## Changelog

[Internal] [Fixed] - Fix build-ios-e2e build step
Pull Request resolved: facebook#24953

Differential Revision: D15415850

Pulled By: hramos

fbshipit-source-id: baaff09f81f01be4da1608e0b2898d037db35c23
@hramos hramos changed the title ☂️✅ Green CI: Re-enable Podspec, end-to-end tests on Circle CI ☂️✅ Green CI: Re-enabling disabled tests Mar 24, 2020
@hramos
Copy link
Contributor Author

hramos commented Mar 24, 2020

I've updated the root issue with the latest list of disabled tests. I have opened #28392 to make it easier to re-enable tests and iterate on them on your PRs.

@hramos
Copy link
Contributor Author

hramos commented Mar 24, 2020

JavaScript end-to-end tests

These run as part of the test_js job, and are disabled by default. To run them, edit .circleci/config.yml and set run_disabled_tests to true under the test_js workflow at the end of the file (pending #28392 getting merged):

workflows:
  version: 2

  tests:
    jobs:
...
      - test_js:
          run_disabled_tests: true
          requires:
            - setup_js

Why it's failing

react-native $ node ./scripts/run-ci-e2e-tests.js --js
...
error Cannot find module './Libraries/polyfills/console.js'

The e2e script creates a react-native package and initializes a new app based on the contents of the template/ directory. As part of this process, the script copies over the root's metro.config.js and rn-get-polyfills.js files. However, when rn-get-polyfills.js is interpreted, there are no files at /private/tmp/react-native-RDAxYTVQ/template/Libraries/polyfills/.

@hramos
Copy link
Contributor Author

hramos commented Mar 25, 2020

iOS end-to-end tests

These run as part of the test_ios job, and are disabled by default. To run them, edit .circleci/config.yml and set run_disabled_tests to true under the test_ios workflow at the end of the file (pending #28392 getting merged):

workflows:
  version: 2

  tests:
    jobs:
...
      - test_ios:
          run_disabled_tests: true
          requires:
            - setup_ios

Why it's failing

react-native $ node ./scripts/run-ci-e2e-tests.js --ios
...
▸ Building Pods/Flipper [Debug]
▸ Check Dependencies
▸ Building Pods/FlipperKit [Debug]
▸ Check Dependencies
▸ Building Pods/Pods-HelloWorld [Debug]
▸ Check Dependencies
▸ Building Pods/Pods-HelloWorld-HelloWorldTests [Debug]
▸ Check Dependencies
▸ Building HelloWorld/HelloWorld [Debug]
▸ Check Dependencies
▸ Running script 'Start Packager'
▸ Linking HelloWorld
⚠️  ld: directory not found for option '-L-L/Users/distiller/Library/Developer/Xcode/DerivedData/HelloWorld-ddyeadlplgsjokalhojpfxozuuyp/Build/Products/Debug-iphonesimulator/CocoaAsyncSocket'

❌  ld: library not found for -lCocoaAsyncSocket



❌  clang: error: linker command failed with exit code 1 (use -v to see invocation)


Testing failed:
	HelloWorld:
		Linker command failed with exit code 1 (use -v to see invocation)
	Testing cancelled because the build failed.

@hramos
Copy link
Contributor Author

hramos commented Mar 25, 2020

CocoaPods Podspecs tests

These run as part of the test_ios job, and are disabled by default. They lint the Podspec files in the repository.

To run them, edit .circleci/config.yml and set run_disabled_tests to true under the test_ios workflow at the end of the file (pending #28392 getting merged):

workflows:
  version: 2

  tests:
    jobs:
...
      - test_ios:
          run_disabled_tests: true
          requires:
            - setup_ios

Why it's failing

The script refers to a subspec that no longer exists, _ignore_me_subspec_for_linting_:

react-native $ ./scripts/process-podspecs.sh
+ pod lib lint --subspec=_ignore_me_subspec_for_linting_ --verbose --allow-warnings --fail-fast --private --swift-version=3.0 --sources=https://example.com/react-test.git,https://github.com/CocoaPods/Specs.git

  CDN: trunk Relative path: CocoaPods-version.yml exists! Returning local because checking is only perfomed in repo update
[!] Unable to find a specification named `React/_ignore_me_subspec_for_linting_` in `React (1000.0.0)`.

This was removed in 2321b3f#diff-66230b3e029caa37b0fbdc8cbd47f4ab. Re-enabling this test will require adding back the _ignore_me_subspec_for_linting_ subspec to React.podspec or React-Core.podspec. Maybe @alloy knows?

@hramos
Copy link
Contributor Author

hramos commented Mar 25, 2020

Android end-to-end tests

These run as part of the test_android job, and are disabled by default. To run them, edit .circleci/config.yml and set run_disabled_tests to true under the test_android workflow at the end of the file (pending #28392 getting merged):

workflows:
  version: 2

  tests:
    jobs:
...
      - test_android:
          run_disabled_tests: true
          requires:
            - setup_android

Why it's failing

react-native $ node ./scripts/run-ci-e2e-tests.js --android
...
>>>>> Install end-to-end framework



Command failed, 2 retries left
Command failed, 1 retries left
Command failed, 0 retries left
Failed to install appium

@hramos
Copy link
Contributor Author

hramos commented Mar 26, 2020

#28392 fixes the JavaScript e2e tests.

@alloy
Copy link
Contributor

alloy commented Mar 26, 2020

Great stuff @hramos, I’ll dive into these soon too 👍

@timkuilman
Copy link

iOS end-to-end tests

These run as part of the test_ios job, and are disabled by default. To run them, edit .circleci/config.yml and set run_disabled_tests to true under the test_ios workflow at the end of the file (pending #28392 getting merged):

workflows:
  version: 2

  tests:
    jobs:
...
      - test_ios:
          run_disabled_tests: true
          requires:
            - setup_ios

Why it's failing

react-native $ node ./scripts/run-ci-e2e-tests.js --ios
...
▸ Building Pods/Flipper [Debug]
▸ Check Dependencies
▸ Building Pods/FlipperKit [Debug]
▸ Check Dependencies
▸ Building Pods/Pods-HelloWorld [Debug]
▸ Check Dependencies
▸ Building Pods/Pods-HelloWorld-HelloWorldTests [Debug]
▸ Check Dependencies
▸ Building HelloWorld/HelloWorld [Debug]
▸ Check Dependencies
▸ Running script 'Start Packager'
▸ Linking HelloWorld
⚠️  ld: directory not found for option '-L-L/Users/distiller/Library/Developer/Xcode/DerivedData/HelloWorld-ddyeadlplgsjokalhojpfxozuuyp/Build/Products/Debug-iphonesimulator/CocoaAsyncSocket'

❌  ld: library not found for -lCocoaAsyncSocket



❌  clang: error: linker command failed with exit code 1 (use -v to see invocation)


Testing failed:
	HelloWorld:
		Linker command failed with exit code 1 (use -v to see invocation)
	Testing cancelled because the build failed.

After upgrading a project with version 0.61.2 to 0.62.0 building the app fails with the same error.

@hramos
Copy link
Contributor Author

hramos commented Apr 1, 2020

That's right, @timkuilman, these tests are broken on master.

@timkuilman
Copy link

I'm sorry I wasn't very clear. After doing the upgrade as explained in the React Native Upgrade tool my app was no longer building. I'm not referring to the test.

In my case, the error was fixed by enforcing the new build system of XCode. I had these lines from ios/appName.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings

	<key>BuildSystemType</key>
	<string>Original</string>

@tinyCoder32
Copy link

Hi, I have the same issue here: "ld: library not found for -lCocoaAsyncSocket", " 0.62.2".

@tinyCoder32
Copy link

For me it only worked when I added:

$(TOOLCHAIN_DIR)/usr/lib/swift5.0/$(PLATFORM_NAME) to the Library Search Paths.

lottie-react-native/lottie-react-native#575 (comment)

@kelset
Copy link
Contributor

kelset commented Jun 18, 2021

@hramos is it still worth keeping this issue open? Is it still relevant?

@kelset
Copy link
Contributor

kelset commented Nov 29, 2022

I'm not sure why GH gave me a notification for this issue given that there's no activity (?)
but this is a stale issue that we can close so I'll do just that :D

@kelset kelset closed this as completed Nov 29, 2022
@kelset kelset added the ☂️ Umbrella To label issues that serve as coordination point and drivers for tasks in the react-native repo label Dec 7, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Help Wanted :octocat: Issues ideal for external contributors. ☂️ Umbrella To label issues that serve as coordination point and drivers for tasks in the react-native repo p: Facebook Partner: Facebook Partner 🔩Test Infrastructure Test infrastructure and continuous integration. Type: Discussion Long running discussion.
Projects
None yet
Development

No branches or pull requests

9 participants