Skip extra swc builds (#47378)
This removes some extra swc builds which are rarely if ever used and are also prone to breaking fairly often due to the extra configuration required to build them. x-ref: [slack thread](https://vercel.slack.com/archives/C04KC8A53T7/p1679434160981059)
This commit is contained in:
parent
5eaaa3fbf7
commit
fed3ffa865
12 changed files with 0 additions and 255 deletions
134
.github/workflows/build_test_deploy.yml
vendored
134
.github/workflows/build_test_deploy.yml
vendored
|
@ -915,7 +915,6 @@ jobs:
|
|||
- build
|
||||
- build-wasm
|
||||
- build-native
|
||||
- build-native-freebsd
|
||||
env:
|
||||
NPM_TOKEN: ${{ secrets.NPM_TOKEN_ELEVATED }}
|
||||
steps:
|
||||
|
@ -1300,45 +1299,6 @@ jobs:
|
|||
export CC_aarch64_unknown_linux_gnu=/usr/aarch64-unknown-linux-gnu/bin/aarch64-unknown-linux-gnu-gcc &&
|
||||
turbo run build-native -- --release --target aarch64-unknown-linux-gnu &&
|
||||
llvm-strip -x packages/next-swc/native/next-swc.*.node
|
||||
- host: ubuntu-latest
|
||||
target: 'armv7-unknown-linux-gnueabihf'
|
||||
setup: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install gcc-arm-linux-gnueabihf g++-arm-linux-gnueabihf -y
|
||||
build: |
|
||||
npm i -g "@napi-rs/cli@${NAPI_CLI_VERSION}" "turbo@${TURBO_VERSION}" && if [ ! -f $(dirname $(which yarn))/pnpm ]; then ln -s $(which yarn) $(dirname $(which yarn))/pnpm;fi
|
||||
turbo run build-native-no-plugin -- --release --target armv7-unknown-linux-gnueabihf
|
||||
arm-linux-gnueabihf-strip packages/next-swc/native/next-swc.*.node
|
||||
- host: ubuntu-latest
|
||||
target: aarch64-linux-android
|
||||
build: |
|
||||
export CLANG_VERSION=`ls ${ANDROID_NDK_LATEST_HOME}/toolchains/llvm/prebuilt/linux-x86_64/lib64/clang | sed 's/ *$//g'`
|
||||
export CARGO_TARGET_AARCH64_LINUX_ANDROID_LINKER="${ANDROID_NDK_LATEST_HOME}/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android24-clang"
|
||||
export CC="${ANDROID_NDK_LATEST_HOME}/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android24-clang"
|
||||
export CXX="${ANDROID_NDK_LATEST_HOME}/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android24-clang++"
|
||||
export AR="${ANDROID_NDK_LATEST_HOME}/toolchains/llvm/prebuilt/linux-x86_64/bin/llvm-ar"
|
||||
export PATH="${ANDROID_NDK_LATEST_HOME}/toolchains/llvm/prebuilt/linux-x86_64/bin:${PATH}"
|
||||
touch "${ANDROID_NDK_LATEST_HOME}/toolchains/llvm/prebuilt/linux-x86_64/lib64/clang/${CLANG_VERSION}/lib/linux/aarch64/libgcc.a"
|
||||
chmod 777 "${ANDROID_NDK_LATEST_HOME}/toolchains/llvm/prebuilt/linux-x86_64/lib64/clang/${CLANG_VERSION}/lib/linux/aarch64/libgcc.a"
|
||||
echo "INPUT(-lunwind)" > "${ANDROID_NDK_LATEST_HOME}/toolchains/llvm/prebuilt/linux-x86_64/lib64/clang/${CLANG_VERSION}/lib/linux/aarch64/libgcc.a"
|
||||
npm i -g "@napi-rs/cli@${NAPI_CLI_VERSION}" "turbo@${TURBO_VERSION}" && if [ ! -f $(dirname $(which yarn))/pnpm ]; then ln -s $(which yarn) $(dirname $(which yarn))/pnpm;fi
|
||||
turbo run build-native -- --release --target aarch64-linux-android
|
||||
${ANDROID_NDK_LATEST_HOME}/toolchains/llvm/prebuilt/linux-x86_64/bin/llvm-strip packages/next-swc/native/next-swc.*.node
|
||||
- host: ubuntu-latest
|
||||
target: armv7-linux-androideabi
|
||||
build: |
|
||||
export CLANG_VERSION=`ls ${ANDROID_NDK_LATEST_HOME}/toolchains/llvm/prebuilt/linux-x86_64/lib64/clang | sed 's/ *$//g'`
|
||||
export CARGO_TARGET_ARMV7_LINUX_ANDROIDEABI_LINKER="${ANDROID_NDK_LATEST_HOME}/toolchains/llvm/prebuilt/linux-x86_64/bin/armv7a-linux-androideabi24-clang"
|
||||
export CC="${ANDROID_NDK_LATEST_HOME}/toolchains/llvm/prebuilt/linux-x86_64/bin/armv7a-linux-androideabi24-clang"
|
||||
export CXX="${ANDROID_NDK_LATEST_HOME}/toolchains/llvm/prebuilt/linux-x86_64/bin/armv7a-linux-androideabi24-clang++"
|
||||
export AR="${ANDROID_NDK_LATEST_HOME}/toolchains/llvm/prebuilt/linux-x86_64/bin/llvm-ar"
|
||||
export PATH="${ANDROID_NDK_LATEST_HOME}/toolchains/llvm/prebuilt/linux-x86_64/bin:${PATH}"
|
||||
touch "${ANDROID_NDK_LATEST_HOME}/toolchains/llvm/prebuilt/linux-x86_64/lib64/clang/${CLANG_VERSION}/lib/linux/arm/libgcc.a"
|
||||
chmod 777 "${ANDROID_NDK_LATEST_HOME}/toolchains/llvm/prebuilt/linux-x86_64/lib64/clang/${CLANG_VERSION}/lib/linux/arm/libgcc.a"
|
||||
echo "INPUT(-lunwind)" > "${ANDROID_NDK_LATEST_HOME}/toolchains/llvm/prebuilt/linux-x86_64/lib64/clang/${CLANG_VERSION}/lib/linux/arm/libgcc.a"
|
||||
npm i -g "@napi-rs/cli@${NAPI_CLI_VERSION}" "turbo@${TURBO_VERSION}" "pnpm@${PNPM_VERSION}"
|
||||
turbo run build-native-no-plugin -- --release --target armv7-linux-androideabi
|
||||
${ANDROID_NDK_LATEST_HOME}/toolchains/llvm/prebuilt/linux-x86_64/bin/llvm-strip packages/next-swc/native/next-swc.*.node
|
||||
- host: ubuntu-latest
|
||||
target: 'aarch64-unknown-linux-musl'
|
||||
docker: ghcr.io/napi-rs/napi-rs/nodejs-rust:stable-2022-10-24-alpine
|
||||
|
@ -1441,100 +1401,6 @@ jobs:
|
|||
name: next-swc-binaries
|
||||
path: packages/next-swc/native/next-swc.*.node
|
||||
|
||||
build-native-freebsd:
|
||||
if: ${{ needs.build.outputs.isRelease == 'true' || (needs.build.outputs.turboToken != 'empty') }}
|
||||
needs: build
|
||||
name: stable - x86_64-unknown-freebsd - node@16
|
||||
runs-on: macos-12
|
||||
env:
|
||||
TURBO_TEAM: 'vercel'
|
||||
TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }}
|
||||
TURBO_REMOTE_ONLY: 'true'
|
||||
steps:
|
||||
- name: tune mac network
|
||||
run: sudo sysctl -w net.link.generic.system.hwcksum_tx=0 && sudo sysctl -w net.link.generic.system.hwcksum_rx=0
|
||||
- uses: actions/checkout@v3
|
||||
|
||||
- name: Setup node
|
||||
uses: actions/setup-node@v3
|
||||
with:
|
||||
node-version: 16
|
||||
check-latest: true
|
||||
|
||||
- run: npm i -g turbo@${{ env.TURBO_VERSION }} pnpm@${PNPM_VERSION}
|
||||
|
||||
- name: Delete useless files
|
||||
run: |
|
||||
rm -rf bench
|
||||
rm -rf docs
|
||||
rm -rf errors
|
||||
rm -rf examples
|
||||
rm -rf test
|
||||
|
||||
- run: node scripts/normalize-version-bump.js
|
||||
|
||||
# attempt pulling existing turbo cache, this must be done
|
||||
# outside of the freeBSD vm as there isn't a turbo build
|
||||
# for freeBSD currently
|
||||
- run: node ./scripts/pull-freebsd-cache.js
|
||||
|
||||
- name: check build exists
|
||||
run: if [ -f packages/next-swc/native/next-swc.freebsd-x64.node ]; then echo "BUILD_EXISTS=yes" >> $GITHUB_OUTPUT; else echo "BUILD_EXISTS=no" >> $GITHUB_OUTPUT; fi
|
||||
id: build-exists
|
||||
|
||||
- run: echo "${{steps.build-exists.outputs.BUILD_EXISTS}}"
|
||||
|
||||
- name: Build
|
||||
id: build
|
||||
uses: vmactions/freebsd-vm@v0
|
||||
if: ${{ steps.build-exists.outputs.BUILD_EXISTS == 'no' }}
|
||||
env:
|
||||
DEBUG: napi:*
|
||||
RUSTUP_HOME: /usr/local/rustup
|
||||
CARGO_HOME: /usr/local/cargo
|
||||
RUSTUP_IO_THREADS: 1
|
||||
# Disable LTO, or the lld may crash with OOM
|
||||
CARGO_PROFILE_RELEASE_LTO: false
|
||||
with:
|
||||
envs: DEBUG RUSTUP_HOME CARGO_HOME RUSTUP_IO_THREADS CARGO_PROFILE_RELEASE_LTO NAPI_CLI_VERSION RUST_TOOLCHAIN PNPM_VERSION VM_RELEASE
|
||||
usesh: true
|
||||
sync: rsync
|
||||
copyback: false
|
||||
mem: 6000
|
||||
prepare: |
|
||||
pkg install -y -f curl node libnghttp2
|
||||
curl -qL https://www.npmjs.com/install.sh | sh
|
||||
npm i -g pnpm@${PNPM_VERSION} "@napi-rs/cli@${NAPI_CLI_VERSION}"
|
||||
curl https://sh.rustup.rs -sSf --output rustup.sh
|
||||
sh rustup.sh -y --profile minimal --default-toolchain stable
|
||||
export PATH="/usr/local/cargo/bin:$PATH"
|
||||
echo "~~~~ rustc --version ~~~~"
|
||||
rustc --version
|
||||
echo "~~~~ node -v ~~~~"
|
||||
node -v
|
||||
run: |
|
||||
export PATH="/usr/local/cargo/bin:$PATH"
|
||||
pwd
|
||||
ls -lah
|
||||
whoami
|
||||
env
|
||||
freebsd-version
|
||||
GITHUB_EVENT_PATH='' pnpm --filter=@next/swc run build-native-no-plugin --platform --release --target x86_64-unknown-freebsd
|
||||
rm -rf node_modules
|
||||
rm -rf packages/next-swc/target
|
||||
|
||||
- name: cache build
|
||||
if: ${{ steps.build-exists.outputs.BUILD_EXISTS == 'no' }}
|
||||
run: pnpm turbo run --force cache-build-native -- --platform --release --target x86_64-unknown-freebsd
|
||||
|
||||
- name: Upload artifact
|
||||
if: ${{ needs.build.outputs.isRelease == 'true' }}
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: next-swc-binaries
|
||||
path: packages/next-swc/native/next-swc.*.node
|
||||
if-no-files-found: error
|
||||
|
||||
build-wasm:
|
||||
needs: build
|
||||
if: ${{ needs.build.outputs.isRelease == 'true' || (needs.build.outputs.turboToken != 'empty') }}
|
||||
|
|
|
@ -1,3 +0,0 @@
|
|||
# `@next/swc-android-arm-eabi`
|
||||
|
||||
This is the **android-arm-eabi** binary for `@next/swc`
|
|
@ -1,18 +0,0 @@
|
|||
{
|
||||
"name": "@next/swc-android-arm-eabi",
|
||||
"version": "0.0.0",
|
||||
"os": [
|
||||
"android"
|
||||
],
|
||||
"cpu": [
|
||||
"arm"
|
||||
],
|
||||
"main": "next-swc.android-arm-eabi.node",
|
||||
"files": [
|
||||
"next-swc.android-arm-eabi.node"
|
||||
],
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">= 10"
|
||||
}
|
||||
}
|
|
@ -1,3 +0,0 @@
|
|||
# `@next/swc-android-arm64`
|
||||
|
||||
This is the **android-arm64** binary for `@next/swc`
|
|
@ -1,18 +0,0 @@
|
|||
{
|
||||
"name": "@next/swc-android-arm64",
|
||||
"version": "0.0.0",
|
||||
"os": [
|
||||
"android"
|
||||
],
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
"main": "next-swc.android-arm64.node",
|
||||
"files": [
|
||||
"next-swc.android-arm64.node"
|
||||
],
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">= 10"
|
||||
}
|
||||
}
|
|
@ -1,3 +0,0 @@
|
|||
# `@next/swc-freebsd-x64`
|
||||
|
||||
This is the **x86_64-unknown-freebsd** binary for `@next/swc`
|
|
@ -1,18 +0,0 @@
|
|||
{
|
||||
"name": "@next/swc-freebsd-x64",
|
||||
"version": "0.0.0",
|
||||
"os": [
|
||||
"freebsd"
|
||||
],
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
"main": "next-swc.freebsd-x64.node",
|
||||
"files": [
|
||||
"next-swc.freebsd-x64.node"
|
||||
],
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">= 10"
|
||||
}
|
||||
}
|
|
@ -1,3 +0,0 @@
|
|||
# `@next/swc-linux-arm-gnueabihf`
|
||||
|
||||
This is the **linux-arm-gnueabihf** binary for `@next/swc`
|
|
@ -1,18 +0,0 @@
|
|||
{
|
||||
"name": "@next/swc-linux-arm-gnueabihf",
|
||||
"version": "0.0.0",
|
||||
"os": [
|
||||
"linux"
|
||||
],
|
||||
"cpu": [
|
||||
"arm"
|
||||
],
|
||||
"main": "next-swc.linux-arm-gnueabihf.node",
|
||||
"files": [
|
||||
"next-swc.linux-arm-gnueabihf.node"
|
||||
],
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">= 10"
|
||||
}
|
||||
}
|
|
@ -19,11 +19,7 @@
|
|||
"additional": [
|
||||
"i686-pc-windows-msvc",
|
||||
"aarch64-unknown-linux-gnu",
|
||||
"armv7-unknown-linux-gnueabihf",
|
||||
"aarch64-apple-darwin",
|
||||
"aarch64-linux-android",
|
||||
"arm-linux-androideabi",
|
||||
"x86_64-unknown-freebsd",
|
||||
"x86_64-unknown-linux-musl",
|
||||
"aarch64-unknown-linux-musl",
|
||||
"aarch64-pc-windows-msvc"
|
||||
|
|
|
@ -41,11 +41,8 @@ import fs from 'fs-extra'
|
|||
name: 'dummy-package',
|
||||
version: '1.0.0',
|
||||
optionalDependencies: {
|
||||
'@next/swc-android-arm64': 'canary',
|
||||
'@next/swc-android-arm-eabi': 'canary',
|
||||
'@next/swc-darwin-arm64': 'canary',
|
||||
'@next/swc-darwin-x64': 'canary',
|
||||
'@next/swc-linux-arm-gnueabihf': 'canary',
|
||||
'@next/swc-linux-arm64-gnu': 'canary',
|
||||
'@next/swc-linux-arm64-musl': 'canary',
|
||||
'@next/swc-linux-x64-gnu': 'canary',
|
||||
|
|
|
@ -1,30 +0,0 @@
|
|||
#!/usr/bin/env node
|
||||
// @ts-check
|
||||
|
||||
const { execSync } = require('child_process')
|
||||
|
||||
;(async function () {
|
||||
const turboResult = execSync(
|
||||
`pnpm turbo run cache-build-native --dry=json -- --platform --release --target x86_64-unknown-freebsd`
|
||||
).toString()
|
||||
|
||||
const turboData = JSON.parse(turboResult)
|
||||
|
||||
const task = turboData.tasks.find((t) => t.command !== '<NONEXISTENT>')
|
||||
|
||||
if (!task) {
|
||||
console.warn(`Failed to find related turbo task`, turboResult)
|
||||
return
|
||||
}
|
||||
|
||||
// pull cache if it was available
|
||||
if (task.cacheState.local || task.cacheState.remote) {
|
||||
const pullResult = execSync(
|
||||
`pnpm turbo run cache-build-native -- --platform --release --target x86_64-unknown-freebsd`
|
||||
).toString()
|
||||
console.log(pullResult)
|
||||
} else {
|
||||
console.warn(`No turbo cache was available, continuing...`)
|
||||
console.warn(task)
|
||||
}
|
||||
})()
|
Loading…
Reference in a new issue