From 5ac714c549029a5d653b2c5e6779a4864678b26a Mon Sep 17 00:00:00 2001 From: JJ Kasper Date: Sat, 19 Nov 2022 16:16:23 -0800 Subject: [PATCH 1/2] Eagerly build swc binaries on change --- .github/workflows/build_test_deploy.yml | 17 ++++++++++++++--- packages/next-swc/package.json | 3 ++- scripts/run-for-change.js | 2 +- 3 files changed, 17 insertions(+), 5 deletions(-) diff --git a/.github/workflows/build_test_deploy.yml b/.github/workflows/build_test_deploy.yml index feba8601c2c7..5385a03bcada 100644 --- a/.github/workflows/build_test_deploy.yml +++ b/.github/workflows/build_test_deploy.yml @@ -30,9 +30,12 @@ jobs: # we build a dev binary for use in CI so skip downloading # canary next-swc binaries in the monorepo NEXT_SKIP_NATIVE_POSTINSTALL: 1 + TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }} outputs: docsChange: ${{ steps.docs-change.outputs.DOCS_CHANGE }} isRelease: ${{ steps.check-release.outputs.IS_RELEASE }} + swcChange: ${{ steps.swc-change.outputs.SWC_CHANGE }} + turboToken: ${{ steps.turbo-token.outputs.TURBO_TOKEN }} weekNum: ${{ steps.get-week.outputs.WEEK }} steps: - name: Setup node @@ -56,6 +59,14 @@ jobs: - run: echo ${{steps.docs-change.outputs.DOCS_CHANGE}} + - run: echo "::set-output name=SWC_CHANGE::$(node scripts/run-for-change.js --type next-swc --exec echo 'yup')" + id: swc-change + + - run: echo "::set-output name=TURBO_TOKEN::$(echo ${TURBO_TOKEN:-empty})" + id: turbo-token + + - run: echo ${{steps.swc-change.outputs.SWC_CHANGE}} + - run: npm i -g pnpm@${PNPM_VERSION} - id: get-store-path @@ -1274,7 +1285,7 @@ jobs: build: | npm i -g "@napi-rs/cli@${NAPI_CLI_VERSION}" "turbo@${TURBO_VERSION}" "pnpm@${PNPM_VERSION}" turbo run build-native-no-plugin -- --release --target aarch64-pc-windows-msvc --cargo-flags=--no-default-features - if: ${{ needs.build.outputs.isRelease == 'true' }} + if: ${{ needs.build.outputs.isRelease == 'true' || (needs.build.outputs.swcChange == 'yup' && needs.build.outputs.turboToken != 'empty') }} needs: build name: stable - ${{ matrix.settings.target }} - node@16 runs-on: ${{ matrix.settings.host }} @@ -1367,7 +1378,7 @@ jobs: path: packages/next-swc/native/next-swc.*.node build-native-freebsd: - if: ${{ needs.build.outputs.isRelease == 'true' }} + if: ${{ needs.build.outputs.isRelease == 'true' || (needs.build.outputs.swcChange == 'yup' && needs.build.outputs.turboToken != 'empty') }} needs: build name: stable - x86_64-unknown-freebsd - node@16 runs-on: macos-12 @@ -1459,7 +1470,7 @@ jobs: build-wasm: needs: build - if: ${{ needs.build.outputs.isRelease == 'true' }} + if: ${{ needs.build.outputs.isRelease == 'true' || (needs.build.outputs.swcChange == 'yup' && needs.build.outputs.turboToken != 'empty') }} strategy: matrix: target: [web, nodejs] diff --git a/packages/next-swc/package.json b/packages/next-swc/package.json index 1f08c940721a..dbfddc69cd43 100644 --- a/packages/next-swc/package.json +++ b/packages/next-swc/package.json @@ -6,7 +6,8 @@ "build-native": "napi build --platform -p next-swc-napi --cargo-name next_swc_napi --features plugin --js false native", "build-native-no-plugin": "napi build --platform -p next-swc-napi --cargo-name next_swc_napi --js false native", "build-wasm": "wasm-pack build crates/wasm --scope=next", - "cache-build-native": "echo $(ls native)" + "cache-build-native": "echo $(ls native)", + "bump": "1" }, "napi": { "name": "next-swc", diff --git a/scripts/run-for-change.js b/scripts/run-for-change.js index 846a20c98440..47b5de2d1488 100644 --- a/scripts/run-for-change.js +++ b/scripts/run-for-change.js @@ -15,7 +15,7 @@ const CHANGE_ITEM_GROUPS = { 'CODE_OF_CONDUCT.md', 'readme.md', ], - 'next-swc': ['packages/next-swc', '.github/workflows/build_test_deploy.yml'], + 'next-swc': ['packages/next-swc'], } async function main() { From f57dc33b9beba8b08250b115b50f26f93e8d106d Mon Sep 17 00:00:00 2001 From: JJ Kasper Date: Sat, 19 Nov 2022 16:55:55 -0800 Subject: [PATCH 2/2] remove test change --- packages/next-swc/package.json | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/packages/next-swc/package.json b/packages/next-swc/package.json index dbfddc69cd43..1f08c940721a 100644 --- a/packages/next-swc/package.json +++ b/packages/next-swc/package.json @@ -6,8 +6,7 @@ "build-native": "napi build --platform -p next-swc-napi --cargo-name next_swc_napi --features plugin --js false native", "build-native-no-plugin": "napi build --platform -p next-swc-napi --cargo-name next_swc_napi --js false native", "build-wasm": "wasm-pack build crates/wasm --scope=next", - "cache-build-native": "echo $(ls native)", - "bump": "1" + "cache-build-native": "echo $(ls native)" }, "napi": { "name": "next-swc",