From 6ab251620f6a231039cff82b4ca80e9857694fd1 Mon Sep 17 00:00:00 2001 From: Maia Teegarden Date: Mon, 6 Dec 2021 11:26:09 -0800 Subject: [PATCH] Add dev wasm build --- .github/workflows/build_test_deploy.yml | 72 +++++++++++++++++++++++-- 1 file changed, 67 insertions(+), 5 deletions(-) diff --git a/.github/workflows/build_test_deploy.yml b/.github/workflows/build_test_deploy.yml index 0fa1b4e45041..35f425d4f2d0 100644 --- a/.github/workflows/build_test_deploy.yml +++ b/.github/workflows/build_test_deploy.yml @@ -718,7 +718,7 @@ jobs: test-wasm: name: Test the wasm build runs-on: ubuntu-18.04 - needs: [build, build-native-dev, build-wasm] + needs: [build, build-native-dev, build-wasm-dev] steps: - uses: actions/cache@v2 @@ -731,8 +731,10 @@ jobs: - uses: actions/download-artifact@v2 if: ${{needs.build.outputs.docsChange != 'docs only change'}} with: - name: wasm-binaries - path: packages/next-swc/crates/wasm + name: wasm-dev-binary + path: packages/next-swc/crates/wasm/pkg-nodejs + + - run: ls packages/next-swc/crates/wasm - uses: actions/download-artifact@v2 if: ${{needs.build.outputs.docsChange != 'docs only change'}} @@ -1249,7 +1251,7 @@ jobs: build-wasm: needs: build - # if: ${{ needs.build.outputs.isRelease == 'true' }} + if: ${{ needs.build.outputs.isRelease == 'true' }} strategy: matrix: target: [web, nodejs] @@ -1297,4 +1299,64 @@ jobs: name: wasm-binaries path: packages/next-swc/crates/wasm/pkg-* - - run: ls packages/next-swc/crates/wasm + build-wasm-dev: + needs: build + runs-on: ubuntu-latest + steps: + - uses: actions/cache@v2 + if: ${{needs.build.outputs.docsChange != 'docs only change'}} + id: restore-build + with: + path: ./* + key: ${{ github.sha }}-${{ github.run_number }}-${{ github.run_attempt }} + + - name: Setup node + if: ${{needs.build.outputs.docsChange != 'docs only change'}} + uses: actions/setup-node@v2 + with: + node-version: 14 + + - name: Install Rust + if: ${{needs.build.outputs.docsChange != 'docs only change'}} + uses: actions-rs/toolchain@v1 + with: + profile: minimal + toolchain: nightly-2021-11-15 + override: true + target: wasm32-unknown-unknown + + - name: Cache + if: ${{needs.build.outputs.docsChange != 'docs only change'}} + uses: actions/cache@v2 + with: + path: | + ~/.cargo/ + **/target/ + key: ${{ runner.os }}-publish-integration + + - name: Cache wasm binary + if: ${{needs.build.outputs.docsChange != 'docs only change'}} + id: binary-cache + uses: actions/cache@v2 + with: + path: packages/next-swc/crates/wasm/pkg-nodejs + key: dev-wasm-next-swc-nightly-2021-11-15-${{ hashFiles('.github/workflows/build_test_deploy.yml', 'packages/next-swc/**') }} + + - name: Install wasm-pack + if: ${{needs.build.outputs.docsChange != 'docs only change' && steps.binary-cache.outputs.cache-hit != 'true'}} + run: curl https://rustwasm.github.io/wasm-pack/installer/init.sh -sSf | sh + + - name: Build + if: ${{needs.build.outputs.docsChange != 'docs only change' && steps.binary-cache.outputs.cache-hit != 'true'}} + run: (wasm-pack build packages/next-swc/crates/wasm --dev --scope=next --target nodejs) + + - name: Add target to folder name + if: ${{needs.build.outputs.docsChange != 'docs only change' && steps.binary-cache.outputs.cache-hit != 'true'}} + run: mv packages/next-swc/crates/wasm/pkg packages/next-swc/crates/wasm/pkg-nodejs + + - name: Upload artifact + if: ${{needs.build.outputs.docsChange != 'docs only change' && steps.binary-cache.outputs.cache-hit != 'true'}} + uses: actions/upload-artifact@v2 + with: + name: wasm-dev-binary + path: packages/next-swc/crates/wasm/pkg-nodejs