jest-community / jest-snapshots-svg

Take a React component tree, and render it into an SVG.
MIT License
220 stars 23 forks source link

Using jest-snapshot-svg and yarn could break CI #43

Closed jsdario closed 6 years ago

jsdario commented 6 years ago

I am using both bitrise and travis-ci, and it's breaking all my non-iOS images. I am programming on a Mac, so my yarn.lock using native dependencies is probably going to look different from a Windows or Linux build.

However on Bitrise I am compiling correctly for Android, so I assume there is a dependency that we could circumvent. If this is the case and I could help out, let me know. I'll keep researching in the meantime. fsevents is my first candidate, given that its installation is being skipped on linux images.

Stacktrace on Bitrise Linux for building Android image:

make: Entering directory '/bitrise/src/node_modules/yoga-layout/build'
  COPY Release/obj.target/nbind/geni/symbols.txt
  CXX(target) Release/obj.target/nbind/sources/yoga/Yoga.o
../sources/yoga/Yoga.cpp: In function ‘bool YGFloatIsUndefined(float)’:
../sources/yoga/Yoga.cpp:136:21: error: ‘isnan’ was not declared in this scope
   return isnan(value);
                     ^
../sources/yoga/Yoga.cpp:136:21: note: suggested alternative:
In file included from /usr/include/c++/5/random:38:0,
                 from /usr/include/c++/5/bits/stl_algo.h:66,
                 from /usr/include/c++/5/algorithm:62,
                 from ../sources/yoga/Yoga.cpp:12:
/usr/include/c++/5/cmath:641:5: note:   ‘std::isnan’
     isnan(_Tp __x)
     ^
nbind.target.mk:133: recipe for target 'Release/obj.target/nbind/sources/yoga/Yoga.o' failed
make: Leaving directory '/bitrise/src/node_modules/yoga-layout/build'
make: *** [Release/obj.target/nbind/sources/yoga/Yoga.o] Error 1

Stacktrace on Travis CI Linux build for node apps

make: Entering directory `/home/travis/build/jsdario/yeti/node_modules/yoga-layout/build'
  COPY Release/obj.target/nbind/geni/symbols.txt
  CXX(target) Release/obj.target/nbind/sources/yoga/Yoga.o
g++: error: unrecognized command line option ‘-std=c++14’
make: *** [Release/obj.target/nbind/sources/yoga/Yoga.o] Error 1
make: Leaving directory `/home/travis/build/jsdario/yeti/node_modules/yoga-layout/build'

(Thanks for replying so immediately in the past, I assume this requires further research so I am leaving it documented)

orta commented 6 years ago

Yoga is a c lib, so it sounds like that isn’t compiling on npm install

Sent from my iPhone

On Jan 11, 2018, at 7:04 AM, Jesús Darío notifications@github.com wrote:

I am using both bitrise and travis-ci, and it's breaking all my non-iOS images. I am programming on a Mac, so my yarn.lock using native dependencies is probably going to look different from a Windows or Linux build.

However on Bitrise I am compiling correctly for Android, so I assume there is a dependency that we could circumvent. If this is the case and I could help out, let me know. I'll keep researching in the meantime. fsevents is my first candidate, given that its installation is being skipped on linux images.

Stacktrace on Bitrise Linux for building Android image:

make: Entering directory '/bitrise/src/node_modules/yoga-layout/build' COPY Release/obj.target/nbind/geni/symbols.txt CXX(target) Release/obj.target/nbind/sources/yoga/Yoga.o ../sources/yoga/Yoga.cpp: In function ‘bool YGFloatIsUndefined(float)’: ../sources/yoga/Yoga.cpp:136:21: error: ‘isnan’ was not declared in this scope return isnan(value); ^ ../sources/yoga/Yoga.cpp:136:21: note: suggested alternative: In file included from /usr/include/c++/5/random:38:0, from /usr/include/c++/5/bits/stl_algo.h:66, from /usr/include/c++/5/algorithm:62, from ../sources/yoga/Yoga.cpp:12: /usr/include/c++/5/cmath:641:5: note: ‘std::isnan’ isnan(_Tp __x) ^ nbind.target.mk:133: recipe for target 'Release/obj.target/nbind/sources/yoga/Yoga.o' failed make: Leaving directory '/bitrise/src/node_modules/yoga-layout/build' make: *** [Release/obj.target/nbind/sources/yoga/Yoga.o] Error 1 Stacktrace on Travis CI Linux build for node apps

make: Entering directory /home/travis/build/jsdario/yeti/node_modules/yoga-layout/build' COPY Release/obj.target/nbind/geni/symbols.txt CXX(target) Release/obj.target/nbind/sources/yoga/Yoga.o g++: error: unrecognized command line option ‘-std=c++14’ make: *** [Release/obj.target/nbind/sources/yoga/Yoga.o] Error 1 make: Leaving directory/home/travis/build/jsdario/yeti/node_modules/yoga-layout/build' (Thanks for replying so immediately in the past, I assume this requires further research so I am leaving it documented)

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub, or mute the thread.

jacobp100 commented 6 years ago

Is this when you're trying to install your node packages?

I know on Windows, it's impossible to install the yoga package. It would be really nice to have a yoga-layout-prebuilt package, like canvas-prebuilt.

jsdario commented 6 years ago

Yes indeed. Should I open an issue on facebook/yoga to that end?

jacobp100 commented 6 years ago

You could try! I'll close this, because we can't do a whole lot about yoga not installing.