Manage native build toolchain (#1506)
Summary: Pull Request resolved: https://github.com/facebook/yoga/pull/1506 In order to build the website, you must build a Yoga binary. This usually requires installing native toolchains. We have warning messages for these right now, but an even better solution is to just manage the dependencies ourselves. This does that, bringing in specific CMake and Ninja binaries from NPM, and caching a local copy of Emscripten during the build. A downside is that the CMake packages are chunky, so we add 130MB to node_modules (for a repo total around 350MB). This also delays acquiring Emscripten (which is even chunkier) in CI builds until it is needed, and I added some caching for it as well. The upside of JS users being able to run and test (inc the website) without installing and managing their own versions of toolchains is a real time-saver though, and is probably worth it. Differential Revision: D52013026 fbshipit-source-id: 9b974bea1f13d46a5949ff7c84cccab04e199340
This commit is contained in:
committed by
Facebook GitHub Bot
parent
1ea575684d
commit
90df05c4f3
14
.github/workflows/validate-js.yml
vendored
14
.github/workflows/validate-js.yml
vendored
@@ -24,6 +24,9 @@ jobs:
|
||||
- name: Setup
|
||||
uses: ./.github/actions/setup-js
|
||||
|
||||
- name: Restore emsdk
|
||||
uses: ./.github/actions/cache-emsdk
|
||||
|
||||
- name: yarn benchmark
|
||||
run: yarn benchmark
|
||||
working-directory: javascript
|
||||
@@ -40,8 +43,11 @@ jobs:
|
||||
- name: Setup
|
||||
uses: ./.github/actions/setup-js
|
||||
|
||||
- name: Restore emsdk
|
||||
uses: ./.github/actions/cache-emsdk
|
||||
|
||||
- name: yarn build
|
||||
run: yarn build
|
||||
run: yarn build --verbose
|
||||
working-directory: javascript
|
||||
|
||||
test:
|
||||
@@ -56,6 +62,9 @@ jobs:
|
||||
- name: Setup
|
||||
uses: ./.github/actions/setup-js
|
||||
|
||||
- name: Restore emsdk
|
||||
uses: ./.github/actions/cache-emsdk
|
||||
|
||||
- name: yarn test
|
||||
run: yarn test
|
||||
working-directory: javascript
|
||||
@@ -94,6 +103,9 @@ jobs:
|
||||
- name: Setup
|
||||
uses: ./.github/actions/setup-js
|
||||
|
||||
- name: Restore emsdk
|
||||
uses: ./.github/actions/cache-emsdk
|
||||
|
||||
- name: yarn pack
|
||||
run: yarn pack --filename yoga-layout.tar.gz
|
||||
working-directory: javascript
|
||||
|
Reference in New Issue
Block a user