From e9ebd35ab2c309e5e3683f78819d3a8114a99b79 Mon Sep 17 00:00:00 2001 From: Rob Hogan Date: Tue, 22 Mar 2022 16:09:23 +0000 Subject: [PATCH 01/12] Build and verify emhermesc.js with GitHub action --- .github/workflows/build-emhermesc.yml | 98 +++++++++++++++++++ .../metro-hermes-compiler/hermes-revision | 1 + .../src/emhermesc.js.header | 10 ++ 3 files changed, 109 insertions(+) create mode 100644 .github/workflows/build-emhermesc.yml create mode 100644 packages/metro-hermes-compiler/hermes-revision create mode 100644 packages/metro-hermes-compiler/src/emhermesc.js.header diff --git a/.github/workflows/build-emhermesc.yml b/.github/workflows/build-emhermesc.yml new file mode 100644 index 0000000000..6429bf9c6c --- /dev/null +++ b/.github/workflows/build-emhermesc.yml @@ -0,0 +1,98 @@ +name: Build and commit/verify emhermesc.js + +on: + push: + branches: + - "main" + paths: + - "packages/metro-hermes-compiler/**" + - ".github/workflows/build-emhermesc.yml" + pull_request: + paths: + - "packages/metro-hermes-compiler/**" + - ".github/workflows/build-emhermesc.yml" + +jobs: + build-emhermesc-js: + runs-on: ubuntu-latest + + steps: + - name: Checkout code (PR) + uses: actions/checkout@v2.0.0 + # https://github.com/stefanzweifel/git-auto-commit-action#checkout-the-correct-branch + if: github.event_name == 'pull_request' + with: + ref: ${{ github.head_ref }} + + - name: Checkout code (Push) + uses: actions/checkout@v2.0.0 + if: github.event_name == 'push' + + - name: Determine target revision from packages/metro-hermes-compiler/hermes-revision + run: echo "HERMES_REVISION=`cat packages/metro-hermes-compiler/hermes-revision`" >> $GITHUB_ENV + + - name: Clone hermes at ${{ env.HERMES_REVISION }} + run: | + mkdir $RUNNER_TEMP/hermes && curl \ + -L https://api.github.com/repos/facebook/hermes/tarball/${{ env.HERMES_REVISION }} \ + | tar xzf - -C $RUNNER_TEMP/hermes \ + && echo "HERMES_CHECKOUT=`ls -d $RUNNER_TEMP/hermes/*`" >> $GITHUB_ENV + + - name: Setup Ninja + uses: seanmiddleditch/gha-setup-ninja@856654e80dd21909aec244cd01bb96e5c841d64f + with: + destination: ${{ runner.temp }}/ninja + + - name: Configure build_host_hermes + run: python3 $HERMES_CHECKOUT/utils/build/configure.py $RUNNER_TEMP/build_host_hermes + + - name: Build build_host_hermes + run: cmake --build $RUNNER_TEMP/build_host_hermes --target hermesc + + - name: Setup Emscripten SDK + uses: mymindstorm/setup-emsdk@v11 + + - name: Configure Emscripten hermes build + run: | + cmake $HERMES_CHECKOUT \ + -B $RUNNER_TEMP/embuild \ + -DCMAKE_TOOLCHAIN_FILE=$EMSDK/upstream/emscripten/cmake/Modules/Platform/Emscripten.cmake \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_EXE_LINKER_FLAGS=" \ + -s BINARYEN_ASYNC_COMPILATION=0 \ + -s ENVIRONMENT=node \ + -s EXPORT_NAME=createHermesc \ + -s EXTRA_EXPORTED_RUNTIME_METHODS=[cwrap,ccall] \ + -s MODULARIZE=1 \ + -s NODERAWFS=1 \ + -s WASM=1 \ + -s ALLOW_MEMORY_GROWTH=1 \ + -s NODEJS_CATCH_EXIT=0 \ + -s NODEJS_CATCH_REJECTION=0 \ + -s WASM_ASYNC_COMPILATION=0 \ + -s SINGLE_FILE=1 \ + " \ + -DIMPORT_HERMESC:PATH="$RUNNER_TEMP/build_host_hermes/ImportHermesc.cmake" + + - name: Build emhermesc + run: cmake --build $RUNNER_TEMP/embuild --target emhermesc + + - name: Concatenate with emhermesc.js.header and move to packages/metro-hermes-compiler/src/emhermesc.js + run: | + cat packages/metro-hermes-compiler/src/emhermesc.js.header $RUNNER_TEMP/embuild/bin/emhermesc.js \ + > packages/metro-hermes-compiler/src/emhermesc.js + + - name: Upload emhermesc.js as a CI artifact + uses: actions/upload-artifact@v3 + with: + name: emhermesc.js + path: packages/metro-hermes-compiler/src/emhermesc.js + + - name: Commit updated emhermesc.js (PR only) + uses: stefanzweifel/git-auto-commit-action@d0487b9fa3a792b5e90562c27541eedecc2548b4 + if: github.event_name == 'pull_request' + with: + commit_message: "Auto: Build emhermesc.js from hermes/${{ env.HERMES_REVISION }}" + + - name: Fail if emhermesc.js is out of sync with hermes-revision + run: if [ -n "$(git status --porcelain)" ]; then exit 1; fi diff --git a/packages/metro-hermes-compiler/hermes-revision b/packages/metro-hermes-compiler/hermes-revision new file mode 100644 index 0000000000..4d7676e774 --- /dev/null +++ b/packages/metro-hermes-compiler/hermes-revision @@ -0,0 +1 @@ +45e487103aa121bdaab14653abe29d720702d930 \ No newline at end of file diff --git a/packages/metro-hermes-compiler/src/emhermesc.js.header b/packages/metro-hermes-compiler/src/emhermesc.js.header new file mode 100644 index 0000000000..6b1a60620d --- /dev/null +++ b/packages/metro-hermes-compiler/src/emhermesc.js.header @@ -0,0 +1,10 @@ +/** + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + * + * @generated + */ + +/* eslint-disable */ From a944b4dbdc640dbb47c59ed8f83fd355b4611720 Mon Sep 17 00:00:00 2001 From: Rob Hogan Date: Wed, 23 Mar 2022 14:54:40 +0000 Subject: [PATCH 02/12] Rename hermes-revision -> hermes-github-ref --- .github/workflows/build-emhermesc.yml | 8 ++++---- .../{hermes-revision => hermes-github-ref} | 0 2 files changed, 4 insertions(+), 4 deletions(-) rename packages/metro-hermes-compiler/{hermes-revision => hermes-github-ref} (100%) diff --git a/.github/workflows/build-emhermesc.yml b/.github/workflows/build-emhermesc.yml index 6429bf9c6c..9466e2577e 100644 --- a/.github/workflows/build-emhermesc.yml +++ b/.github/workflows/build-emhermesc.yml @@ -28,13 +28,13 @@ jobs: uses: actions/checkout@v2.0.0 if: github.event_name == 'push' - - name: Determine target revision from packages/metro-hermes-compiler/hermes-revision - run: echo "HERMES_REVISION=`cat packages/metro-hermes-compiler/hermes-revision`" >> $GITHUB_ENV + - name: Determine target revision from packages/metro-hermes-compiler/hermes-github-ref + run: echo "HERMES_GITHUB_REF=`cat packages/metro-hermes-compiler/hermes-github-ref`" >> $GITHUB_ENV - - name: Clone hermes at ${{ env.HERMES_REVISION }} + - name: Download hermes at ${{ env.HERMES_GITHUB_REF }} run: | mkdir $RUNNER_TEMP/hermes && curl \ - -L https://api.github.com/repos/facebook/hermes/tarball/${{ env.HERMES_REVISION }} \ + -L https://api.github.com/repos/facebook/hermes/tarball/${{ env.HERMES_GITHUB_REF }} \ | tar xzf - -C $RUNNER_TEMP/hermes \ && echo "HERMES_CHECKOUT=`ls -d $RUNNER_TEMP/hermes/*`" >> $GITHUB_ENV diff --git a/packages/metro-hermes-compiler/hermes-revision b/packages/metro-hermes-compiler/hermes-github-ref similarity index 100% rename from packages/metro-hermes-compiler/hermes-revision rename to packages/metro-hermes-compiler/hermes-github-ref From 405b4d727dfdb76e467098b5895a153bc44967d6 Mon Sep 17 00:00:00 2001 From: Rob Hogan Date: Wed, 23 Mar 2022 15:19:23 +0000 Subject: [PATCH 03/12] Update `metro-hermes-compiler/README.md` with GH Action build process --- packages/metro-hermes-compiler/README.md | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/packages/metro-hermes-compiler/README.md b/packages/metro-hermes-compiler/README.md index 57f6368242..9775ae466d 100644 --- a/packages/metro-hermes-compiler/README.md +++ b/packages/metro-hermes-compiler/README.md @@ -4,15 +4,14 @@ This experimental module provides a high-level API to work with the Hermes bytec ## How to build HBC -A pre-configured emscripten environment can be used through this [Docker image](https://hub.docker.com/r/trzeci/emscripten/). Docker can be installed via its [desktop app](https://docs.docker.com/docker-for-mac/). Make sure to increase resource limits (16G RAM, as much CPU as possible). +[`./src/emhermesc.js`](https://github.com/rh389/metro/blob/main/packages/metro-hermes-compiler/src/emhermesc.js) is built by a [GitHub action on the Metro repository](https://github.com/rh389/metro/blob/main/.github/workflows/build-emhermesc.yml). It works by: -``` -cd path/to/hermes/checkout -docker run -i -t --rm -v `pwd`:`pwd` trzeci/emscripten bash -apt-get update -y && apt-get install -y icu-devtools -cd path/to/hermes/checkout -cmake . -DCMAKE_TOOLCHAIN_FILE=/emsdk_portable/emscripten/sdk/cmake/Modules/Platform/Emscripten.cmake -DCMAKE_BUILD_TYPE=Release -make -j emhermesc -``` +1. Checking out the [`facebook/hermes`](https://github.com/facebook/hermes) repo at a particular GitHub `ref` (commit or tag) specified by [`./hermes-github-ref`](https://github.com/rh389/metro/blob/main/packages/metro-hermes-compiler/hermes-github-ref) +2. Following the two stage process outlined at [`facebook/hermes/doc/Emscripten.md`](https://github.com/facebook/hermes/blob/17d632d0802a0a3fb97a962ede6a6291e5029c84/doc/Emscripten.md) to build with Emscripten and CMake, and +3. Prepending our custom header from [`./src/emhermesc.js.header`](https://github.com/rh389/metro/blob/main/packages/metro-hermes-compiler/src/emhermesc.js.header). -After the build process finishes the Hermes Bytecode Compiler JavaScript file will be available in the `bin` folder. +To update the build, open a GitHub PR (or export one from Phabricator) that changes the contents of `hermes-github-ref` to the new target `ref`. The GH action should run on the PR and then push a new commit to the PR branch (if it has access) with the updated `emhermesc.js` - that's it! + +The PR can then be (re-)imported and pushed. The action will run again on a push to `main` to verify that `hermes-github-ref` and `emhermesc.js` are in sync. + +**If** the action is able to build `emhermesc.js` but doesn't have permission to push to the PR branch, or fails validation on `main`, you can still use the build output and update it manually - you'll find it uploaded as an artifact on the action instance. \ No newline at end of file From eb9ee5762d1b4088fdb7a67a5d29224157667f41 Mon Sep 17 00:00:00 2001 From: Rob Hogan Date: Thu, 24 Mar 2022 14:01:26 +0000 Subject: [PATCH 04/12] See what happens if we don't checkout github.head_ref for PRs --- .github/workflows/build-emhermesc.yml | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/.github/workflows/build-emhermesc.yml b/.github/workflows/build-emhermesc.yml index 9466e2577e..8fbddb80f2 100644 --- a/.github/workflows/build-emhermesc.yml +++ b/.github/workflows/build-emhermesc.yml @@ -17,14 +17,7 @@ jobs: runs-on: ubuntu-latest steps: - - name: Checkout code (PR) - uses: actions/checkout@v2.0.0 - # https://github.com/stefanzweifel/git-auto-commit-action#checkout-the-correct-branch - if: github.event_name == 'pull_request' - with: - ref: ${{ github.head_ref }} - - - name: Checkout code (Push) + - name: Checkout code uses: actions/checkout@v2.0.0 if: github.event_name == 'push' From 3c1a0c61266c45cb0b13dd79ffaa0e38a3ff45d6 Mon Sep 17 00:00:00 2001 From: Rob Hogan Date: Thu, 24 Mar 2022 17:16:20 +0000 Subject: [PATCH 05/12] Take only the first line of hermes-github-ref and allow it to have a terminating newline --- .github/workflows/build-emhermesc.yml | 2 +- packages/metro-hermes-compiler/hermes-github-ref | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build-emhermesc.yml b/.github/workflows/build-emhermesc.yml index 8fbddb80f2..8da6310071 100644 --- a/.github/workflows/build-emhermesc.yml +++ b/.github/workflows/build-emhermesc.yml @@ -22,7 +22,7 @@ jobs: if: github.event_name == 'push' - name: Determine target revision from packages/metro-hermes-compiler/hermes-github-ref - run: echo "HERMES_GITHUB_REF=`cat packages/metro-hermes-compiler/hermes-github-ref`" >> $GITHUB_ENV + run: echo "HERMES_GITHUB_REF=`head -n 1 packages/metro-hermes-compiler/hermes-github-ref`" >> $GITHUB_ENV - name: Download hermes at ${{ env.HERMES_GITHUB_REF }} run: | diff --git a/packages/metro-hermes-compiler/hermes-github-ref b/packages/metro-hermes-compiler/hermes-github-ref index 4d7676e774..382ea3ef3e 100644 --- a/packages/metro-hermes-compiler/hermes-github-ref +++ b/packages/metro-hermes-compiler/hermes-github-ref @@ -1 +1 @@ -45e487103aa121bdaab14653abe29d720702d930 \ No newline at end of file +45e487103aa121bdaab14653abe29d720702d930 From 6cf9e82333099ce4cc5d4e1ccf9fe5dfbd8cbac4 Mon Sep 17 00:00:00 2001 From: Rob Hogan Date: Thu, 24 Mar 2022 17:18:49 +0000 Subject: [PATCH 06/12] Remove conditional on checkout --- .github/workflows/build-emhermesc.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/build-emhermesc.yml b/.github/workflows/build-emhermesc.yml index 8da6310071..cce868a651 100644 --- a/.github/workflows/build-emhermesc.yml +++ b/.github/workflows/build-emhermesc.yml @@ -19,7 +19,6 @@ jobs: steps: - name: Checkout code uses: actions/checkout@v2.0.0 - if: github.event_name == 'push' - name: Determine target revision from packages/metro-hermes-compiler/hermes-github-ref run: echo "HERMES_GITHUB_REF=`head -n 1 packages/metro-hermes-compiler/hermes-github-ref`" >> $GITHUB_ENV From 5e8b49fc4998389bb8ab548df181e7cbc6e56ca0 Mon Sep 17 00:00:00 2001 From: Rob Hogan Date: Fri, 25 Mar 2022 14:28:54 +0000 Subject: [PATCH 07/12] Use head_ref to checkout PRs, use actions/checkout for hermes --- .github/workflows/build-emhermesc.yml | 26 +++++++++++++++++--------- 1 file changed, 17 insertions(+), 9 deletions(-) diff --git a/.github/workflows/build-emhermesc.yml b/.github/workflows/build-emhermesc.yml index cce868a651..669aa08dbf 100644 --- a/.github/workflows/build-emhermesc.yml +++ b/.github/workflows/build-emhermesc.yml @@ -17,18 +17,26 @@ jobs: runs-on: ubuntu-latest steps: - - name: Checkout code + - name: Checkout code (PR) + uses: actions/checkout@v2.0.0 + # https://github.com/stefanzweifel/git-auto-commit-action#checkout-the-correct-branch + if: github.event_name == 'pull_request' + with: + repository: ${{ github.repository }} + ref: ${{ github.head_ref }} + + - name: Checkout code (Push) uses: actions/checkout@v2.0.0 - name: Determine target revision from packages/metro-hermes-compiler/hermes-github-ref run: echo "HERMES_GITHUB_REF=`head -n 1 packages/metro-hermes-compiler/hermes-github-ref`" >> $GITHUB_ENV - - name: Download hermes at ${{ env.HERMES_GITHUB_REF }} - run: | - mkdir $RUNNER_TEMP/hermes && curl \ - -L https://api.github.com/repos/facebook/hermes/tarball/${{ env.HERMES_GITHUB_REF }} \ - | tar xzf - -C $RUNNER_TEMP/hermes \ - && echo "HERMES_CHECKOUT=`ls -d $RUNNER_TEMP/hermes/*`" >> $GITHUB_ENV + - name: Checkout facebook/hermes at ${{ env.HERMES_GITHUB_REF }} + uses: actions/checkout@v3 + with: + repository: facebook/hermes + ref: ${{ env.HERMES_GITHUB_REF }} + path: ${{ runner.temp }}/hermes - name: Setup Ninja uses: seanmiddleditch/gha-setup-ninja@856654e80dd21909aec244cd01bb96e5c841d64f @@ -36,7 +44,7 @@ jobs: destination: ${{ runner.temp }}/ninja - name: Configure build_host_hermes - run: python3 $HERMES_CHECKOUT/utils/build/configure.py $RUNNER_TEMP/build_host_hermes + run: python3 $RUNNER_TEMP/hermes/utils/build/configure.py $RUNNER_TEMP/build_host_hermes - name: Build build_host_hermes run: cmake --build $RUNNER_TEMP/build_host_hermes --target hermesc @@ -46,7 +54,7 @@ jobs: - name: Configure Emscripten hermes build run: | - cmake $HERMES_CHECKOUT \ + cmake $RUNNER_TEMP/hermes \ -B $RUNNER_TEMP/embuild \ -DCMAKE_TOOLCHAIN_FILE=$EMSDK/upstream/emscripten/cmake/Modules/Platform/Emscripten.cmake \ -DCMAKE_BUILD_TYPE=Release \ From f0c06c029cfb4feeb5a51cd6d0d01cda7742f554 Mon Sep 17 00:00:00 2001 From: Rob Hogan Date: Fri, 25 Mar 2022 15:02:42 +0000 Subject: [PATCH 08/12] Use workspace dir --- .github/workflows/build-emhermesc.yml | 34 ++++++++++++++------------- 1 file changed, 18 insertions(+), 16 deletions(-) diff --git a/.github/workflows/build-emhermesc.yml b/.github/workflows/build-emhermesc.yml index 669aa08dbf..4b13abbd02 100644 --- a/.github/workflows/build-emhermesc.yml +++ b/.github/workflows/build-emhermesc.yml @@ -24,38 +24,39 @@ jobs: with: repository: ${{ github.repository }} ref: ${{ github.head_ref }} + path: metro - name: Checkout code (Push) uses: actions/checkout@v2.0.0 + with: + path: metro - name: Determine target revision from packages/metro-hermes-compiler/hermes-github-ref - run: echo "HERMES_GITHUB_REF=`head -n 1 packages/metro-hermes-compiler/hermes-github-ref`" >> $GITHUB_ENV + run: echo "HERMES_GITHUB_REF=`head -n 1 metro/packages/metro-hermes-compiler/hermes-github-ref`" >> $GITHUB_ENV - name: Checkout facebook/hermes at ${{ env.HERMES_GITHUB_REF }} uses: actions/checkout@v3 with: repository: facebook/hermes ref: ${{ env.HERMES_GITHUB_REF }} - path: ${{ runner.temp }}/hermes + path: hermes - name: Setup Ninja uses: seanmiddleditch/gha-setup-ninja@856654e80dd21909aec244cd01bb96e5c841d64f - with: - destination: ${{ runner.temp }}/ninja - - name: Configure build_host_hermes - run: python3 $RUNNER_TEMP/hermes/utils/build/configure.py $RUNNER_TEMP/build_host_hermes + - name: Configure build_host_hermesc + run: python3 ./hermes/utils/build/configure.py ./build_host_hermesc - - name: Build build_host_hermes - run: cmake --build $RUNNER_TEMP/build_host_hermes --target hermesc + - name: Build build_host_hermesc + run: cmake --build ./build_host_hermesc --target hermesc - name: Setup Emscripten SDK uses: mymindstorm/setup-emsdk@v11 - name: Configure Emscripten hermes build run: | - cmake $RUNNER_TEMP/hermes \ - -B $RUNNER_TEMP/embuild \ + cmake hermes \ + -B embuild \ -DCMAKE_TOOLCHAIN_FILE=$EMSDK/upstream/emscripten/cmake/Modules/Platform/Emscripten.cmake \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_EXE_LINKER_FLAGS=" \ @@ -72,27 +73,28 @@ jobs: -s WASM_ASYNC_COMPILATION=0 \ -s SINGLE_FILE=1 \ " \ - -DIMPORT_HERMESC:PATH="$RUNNER_TEMP/build_host_hermes/ImportHermesc.cmake" + -DIMPORT_HERMESC:PATH="$GITHUB_WORKSPACE/build_host_hermesc/ImportHermesc.cmake" - name: Build emhermesc - run: cmake --build $RUNNER_TEMP/embuild --target emhermesc + run: cmake --build embuild --target emhermesc - name: Concatenate with emhermesc.js.header and move to packages/metro-hermes-compiler/src/emhermesc.js run: | - cat packages/metro-hermes-compiler/src/emhermesc.js.header $RUNNER_TEMP/embuild/bin/emhermesc.js \ - > packages/metro-hermes-compiler/src/emhermesc.js + cat metro/packages/metro-hermes-compiler/src/emhermesc.js.header embuild/bin/emhermesc.js \ + > metro/packages/metro-hermes-compiler/src/emhermesc.js - name: Upload emhermesc.js as a CI artifact uses: actions/upload-artifact@v3 with: name: emhermesc.js - path: packages/metro-hermes-compiler/src/emhermesc.js + path: metro/packages/metro-hermes-compiler/src/emhermesc.js - name: Commit updated emhermesc.js (PR only) uses: stefanzweifel/git-auto-commit-action@d0487b9fa3a792b5e90562c27541eedecc2548b4 if: github.event_name == 'pull_request' with: commit_message: "Auto: Build emhermesc.js from hermes/${{ env.HERMES_REVISION }}" + repository: 'metro' - name: Fail if emhermesc.js is out of sync with hermes-revision - run: if [ -n "$(git status --porcelain)" ]; then exit 1; fi + run: if [ -n "$(cd metro && git status --porcelain)" ]; then exit 1; fi From 8cc6a1e226ce89504ab1df4d72032f242cff2ead Mon Sep 17 00:00:00 2001 From: Rob Hogan Date: Fri, 25 Mar 2022 23:40:07 +0000 Subject: [PATCH 09/12] Use github.event.pull_request.head.repo.full_name --- .github/workflows/build-emhermesc.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-emhermesc.yml b/.github/workflows/build-emhermesc.yml index 4b13abbd02..e15b0d5602 100644 --- a/.github/workflows/build-emhermesc.yml +++ b/.github/workflows/build-emhermesc.yml @@ -22,7 +22,7 @@ jobs: # https://github.com/stefanzweifel/git-auto-commit-action#checkout-the-correct-branch if: github.event_name == 'pull_request' with: - repository: ${{ github.repository }} + repository: ${{ github.event.pull_request.head.repo.full_name }} ref: ${{ github.head_ref }} path: metro From e92ec8ce2c6b02fae3f9c58424ff7946b28e9f63 Mon Sep 17 00:00:00 2001 From: Rob Hogan Date: Fri, 25 Mar 2022 23:50:58 +0000 Subject: [PATCH 10/12] Update build-emhermesc.yml --- .github/workflows/build-emhermesc.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/build-emhermesc.yml b/.github/workflows/build-emhermesc.yml index e15b0d5602..26d89a011e 100644 --- a/.github/workflows/build-emhermesc.yml +++ b/.github/workflows/build-emhermesc.yml @@ -28,6 +28,7 @@ jobs: - name: Checkout code (Push) uses: actions/checkout@v2.0.0 + if: github.event_name == 'push' with: path: metro From db67ef500f0c9e4f3724aa744745eaead8f42189 Mon Sep 17 00:00:00 2001 From: Rob Hogan <102418547+rh389@users.noreply.github.com> Date: Sat, 26 Mar 2022 12:49:20 +0000 Subject: [PATCH 11/12] Update hermes-github-ref --- packages/metro-hermes-compiler/hermes-github-ref | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/metro-hermes-compiler/hermes-github-ref b/packages/metro-hermes-compiler/hermes-github-ref index 382ea3ef3e..fd2726c91d 100644 --- a/packages/metro-hermes-compiler/hermes-github-ref +++ b/packages/metro-hermes-compiler/hermes-github-ref @@ -1 +1 @@ -45e487103aa121bdaab14653abe29d720702d930 +v0.11.0 From b12cb8916448642873222369be04336463b5d35f Mon Sep 17 00:00:00 2001 From: Rob Hogan <2590098+robhogan@users.noreply.github.com> Date: Sun, 27 Mar 2022 18:17:08 +0100 Subject: [PATCH 12/12] Add permissions key --- .github/workflows/build-emhermesc.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/build-emhermesc.yml b/.github/workflows/build-emhermesc.yml index 26d89a011e..1a17fab9ca 100644 --- a/.github/workflows/build-emhermesc.yml +++ b/.github/workflows/build-emhermesc.yml @@ -12,6 +12,10 @@ on: - "packages/metro-hermes-compiler/**" - ".github/workflows/build-emhermesc.yml" +permissions: + contents: write + pull-requests: write + jobs: build-emhermesc-js: runs-on: ubuntu-latest