Summary: Pull Request resolved: https://github.com/facebook/yoga/pull/1164 Yoga CI in GitHub is currently running using Node 8, released in 2017. It has long been out of support, and is not able to install many of the packages in the updated lockfile due to version restrictions in the new packages. Node 12 is able to install the current lockfile. Although it is old enough that security support has ended for it 5 months ago, `yoga-layout` currently fails to install on Node 12+, because a dependency, `nbind`, was reliant on V8 internals that have changed between versions, and has not published a version supporting anything later than Node 10. There are unpublished commits in the official repo which add Node 12 support. So, we use that version when developing against the website, to jump us to something more up to date, without rewriting or removing all of the JS bindings quite yet. Reviewed By: yungsters Differential Revision: D40036466 fbshipit-source-id: e1b775d87854250bd74fa17ca7ba939b32aa3bd8
59 lines
2.0 KiB
YAML
59 lines
2.0 KiB
YAML
name: CI
|
|
|
|
on: [push, pull_request]
|
|
|
|
jobs:
|
|
website:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- name: Setup Node.js
|
|
uses: actions/setup-node@v1
|
|
with:
|
|
node-version: 12.x
|
|
- name: Install dependencies
|
|
run: yarn install --frozen-lockfile --ignore-scripts
|
|
working-directory: website
|
|
- name: Build
|
|
run: yarn build
|
|
working-directory: website
|
|
- name: Deploy
|
|
if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/main' }}
|
|
uses: peaceiris/actions-gh-pages@v3
|
|
with:
|
|
github_token: ${{ secrets.GITHUB_TOKEN }}
|
|
publish_branch: gh-pages
|
|
publish_dir: website/public
|
|
cname: yogalayout.com
|
|
keep_files: true
|
|
user_name: 'Yoga-bot'
|
|
user_email: 'yogabot@fb.com'
|
|
android:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- name: set up JDK 1.8
|
|
uses: actions/setup-java@v1
|
|
with:
|
|
java-version: 1.8
|
|
- name: Install NDK 21
|
|
run: echo "y" | sudo /usr/local/lib/android/sdk/tools/bin/sdkmanager --install "ndk;21.0.6113669" "ndk;20.0.5594570" --sdk_root=${ANDROID_SDK_ROOT}
|
|
- name: Install dependencies
|
|
run: |
|
|
if [[ -n "${{ secrets.encrypted_d27e803291ff_iv }}" ]]; then
|
|
openssl aes-256-cbc -K ${{ secrets.encrypted_d27e803291ff_key }} -iv {{ secrets.encrypted_d27e803291ff_iv }} -in scripts/setup-keys.enc -d >> gradle.properties;
|
|
fi
|
|
sudo apt-get update
|
|
sudo apt-get install -y ninja-build
|
|
pushd $HOME
|
|
git clone --depth 1 https://github.com/facebook/buck.git
|
|
cd buck
|
|
ant
|
|
popd
|
|
echo "$HOME/buck/bin" >> $GITHUB_PATH
|
|
export PATH=$PATH:$HOME/buck/bin/
|
|
buck --version
|
|
- name: Build
|
|
# TODO: Run the tests here again. They're currently crashing the JVM in GitHub Actions for some reason.
|
|
run: ./gradlew :yoga-layout:assembleDebug
|