Revert "Next swc publish flow (#27932)"
This reverts commit 94fc6f0832
.
This commit is contained in:
parent
6014b6e0f8
commit
8ac3254d25
14 changed files with 102 additions and 251 deletions
124
.github/workflows/build_native.yml
vendored
124
.github/workflows/build_native.yml
vendored
|
@ -1,82 +1,154 @@
|
|||
on: workflow_dispatch
|
||||
on:
|
||||
workflow_dispatch:
|
||||
pull_request:
|
||||
types: [opened, synchronize]
|
||||
paths:
|
||||
- 'packages/next/build/swc/**'
|
||||
|
||||
name: Build next-swc native binaries
|
||||
|
||||
jobs:
|
||||
build-native:
|
||||
build:
|
||||
strategy:
|
||||
matrix:
|
||||
os: [ubuntu-18.04, macos-latest, windows-latest]
|
||||
description: [default]
|
||||
include:
|
||||
- os: ubuntu-18.04
|
||||
target: x86_64-unknown-linux-gnu
|
||||
- os: windows-latest
|
||||
target: x86_64-pc-windows-msvc
|
||||
- os: macos-latest
|
||||
target: x86_64-apple-darwin
|
||||
- os: macos-latest
|
||||
target: aarch64-apple-darwin
|
||||
description: m1
|
||||
|
||||
name: next-swc - ${{ matrix.os }} - ${{ matrix.target }} - node@14
|
||||
name: stable - ${{ matrix.os }} - node@14
|
||||
runs-on: ${{ matrix.os }}
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
- name: Setup node
|
||||
uses: actions/setup-node@v2
|
||||
with:
|
||||
node-version: 14
|
||||
check-latest: true
|
||||
|
||||
- name: Install
|
||||
uses: actions-rs/toolchain@v1
|
||||
with:
|
||||
toolchain: stable
|
||||
profile: minimal
|
||||
toolchain: nightly-2021-03-25
|
||||
target: ${{ matrix.target }}
|
||||
|
||||
- name: Cache cargo registry
|
||||
uses: actions/cache@v1
|
||||
with:
|
||||
path: ~/.cargo/registry
|
||||
key: stable-${{ matrix.os }}-node@14-cargo-registry-trimmed-${{ hashFiles('**/Cargo.lock') }}
|
||||
|
||||
- name: Cache cargo index
|
||||
uses: actions/cache@v1
|
||||
with:
|
||||
path: ~/.cargo/git
|
||||
key: stable-${{ matrix.os }}-node@14-cargo-index-trimmed-${{ hashFiles('**/Cargo.lock') }}
|
||||
- name: Cache native binary
|
||||
id: binary-cache
|
||||
uses: actions/cache@v2
|
||||
|
||||
- name: Cache NPM dependencies
|
||||
uses: actions/cache@v1
|
||||
with:
|
||||
path: packages/next/native/**
|
||||
key: next-swc-nightly-2021-03-25-${{ matrix.target }}-${{ hashFiles('packages/next/build/swc/**') }}
|
||||
path: node_modules
|
||||
key: npm-cache-${{ matrix.os }}-node@14-${{ hashFiles('yarn.lock') }}
|
||||
|
||||
- name: 'Install dependencies'
|
||||
run: yarn install --frozen-lockfile --registry https://registry.npmjs.org --network-timeout 300000
|
||||
|
||||
- name: 'Build'
|
||||
if: steps.binary-cache.outputs.cache-hit != true
|
||||
run: yarn build-native --target ${{ matrix.target }}
|
||||
run: yarn --cwd packages/next build-native
|
||||
env:
|
||||
MACOSX_DEPLOYMENT_TARGET: '10.13'
|
||||
working-directory: packages/next
|
||||
|
||||
- name: Upload artifact
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: next-swc-binaries
|
||||
path: packages/next/native/next-swc.*.node
|
||||
path: packages/next/native
|
||||
|
||||
- name: Clear the cargo caches
|
||||
run: |
|
||||
cargo install cargo-cache --no-default-features --features ci-autoclean
|
||||
cargo-cache
|
||||
|
||||
build-apple-silicon:
|
||||
name: stable - aarch64-apple-darwin - node@14
|
||||
runs-on: macos-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
- name: Setup node
|
||||
uses: actions/setup-node@v2
|
||||
with:
|
||||
node-version: 14
|
||||
|
||||
- name: Install Rust
|
||||
uses: actions-rs/toolchain@v1
|
||||
with:
|
||||
profile: minimal
|
||||
override: true
|
||||
toolchain: nightly-2021-03-25
|
||||
target: aarch64-apple-darwin
|
||||
|
||||
- name: Install dependencies
|
||||
run: yarn install --frozen-lockfile --registry https://registry.npmjs.org --network-timeout 300000
|
||||
|
||||
- name: Cross build aarch64
|
||||
run: yarn --cwd packages/next build-native --target aarch64-apple-darwin
|
||||
|
||||
- name: Upload artifact
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: next-swc-binaries
|
||||
path: packages/next/native
|
||||
|
||||
- name: Clear the cargo caches
|
||||
run: |
|
||||
cargo install cargo-cache --no-default-features --features ci-autoclean
|
||||
cargo-cache
|
||||
|
||||
commit:
|
||||
needs: build-native
|
||||
needs: [build, build-apple-silicon]
|
||||
runs-on: ubuntu-18.04
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
if: ${{ github.event_name == 'workflow_dispatch' }}
|
||||
- uses: actions/download-artifact@v2
|
||||
with:
|
||||
name: next-swc-binaries
|
||||
path: packages/next/native
|
||||
if: ${{ github.event_name == 'workflow_dispatch' }}
|
||||
- uses: EndBug/add-and-commit@v7
|
||||
with:
|
||||
add: 'packages/next/native --force'
|
||||
message: 'Build next-swc binaries'
|
||||
if: ${{ github.event_name == 'workflow_dispatch' }}
|
||||
|
||||
check:
|
||||
needs: [build, build-apple-silicon]
|
||||
runs-on: ubuntu-18.04
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
if: ${{ github.event_name == 'pull_request' }}
|
||||
- uses: actions/download-artifact@v2
|
||||
with:
|
||||
name: next-swc-binaries
|
||||
path: packages/next/native
|
||||
if: ${{ github.event_name == 'pull_request' }}
|
||||
- run: git diff --exit-code
|
||||
if: ${{ github.event_name == 'pull_request' }}
|
||||
|
||||
test:
|
||||
runs-on: ubuntu-18.04
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
if: ${{ github.event_name == 'pull_request' }}
|
||||
- name: Install
|
||||
if: ${{ github.event_name == 'pull_request' }}
|
||||
uses: actions-rs/toolchain@v1
|
||||
with:
|
||||
toolchain: nightly-2021-03-25
|
||||
profile: minimal
|
||||
- run: cd packages/next/build/swc && cargo test
|
||||
if: ${{ github.event_name == 'pull_request' }}
|
||||
|
|
93
.github/workflows/build_test_deploy.yml
vendored
93
.github/workflows/build_test_deploy.yml
vendored
|
@ -1,7 +1,6 @@
|
|||
on:
|
||||
push:
|
||||
branches: [canary]
|
||||
tags: [v*]
|
||||
pull_request:
|
||||
types: [opened, synchronize]
|
||||
|
||||
|
@ -47,7 +46,7 @@ jobs:
|
|||
checkPrecompiled:
|
||||
name: Check Pre-compiled
|
||||
runs-on: ubuntu-latest
|
||||
needs: [build, build-native]
|
||||
needs: build
|
||||
env:
|
||||
NEXT_TELEMETRY_DISABLED: 1
|
||||
steps:
|
||||
|
@ -57,10 +56,6 @@ jobs:
|
|||
with:
|
||||
path: ./*
|
||||
key: ${{ github.sha }}
|
||||
- uses: actions/download-artifact@v2
|
||||
with:
|
||||
name: next-swc-binaries
|
||||
path: packages/next/native
|
||||
- run: ./scripts/check-pre-compiled.sh
|
||||
if: ${{needs.build.outputs.docsChange != 'docs only change'}}
|
||||
|
||||
|
@ -245,10 +240,9 @@ jobs:
|
|||
if: ${{needs.build.outputs.docsChange != 'docs only change'}}
|
||||
|
||||
publishRelease:
|
||||
if: ${{ startsWith(github.ref, 'refs/tags/v') }}
|
||||
name: Potentially publish release
|
||||
runs-on: ubuntu-latest
|
||||
needs: [build, build-native]
|
||||
needs: build
|
||||
env:
|
||||
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
|
||||
steps:
|
||||
|
@ -257,11 +251,7 @@ jobs:
|
|||
with:
|
||||
path: ./*
|
||||
key: ${{ github.sha }}
|
||||
- uses: actions/download-artifact@v2
|
||||
with:
|
||||
name: next-swc-binaries
|
||||
path: packages/next/native
|
||||
- run: ./scripts/prepublish-native.js
|
||||
|
||||
- run: ./scripts/publish-release.sh
|
||||
|
||||
releaseStats:
|
||||
|
@ -278,80 +268,3 @@ jobs:
|
|||
- uses: ./.github/actions/next-stats-action
|
||||
env:
|
||||
PR_STATS_COMMENT_TOKEN: ${{ secrets.PR_STATS_COMMENT_TOKEN }}
|
||||
|
||||
build-native:
|
||||
strategy:
|
||||
matrix:
|
||||
os: [ubuntu-18.04, macos-latest, windows-latest]
|
||||
description: [default]
|
||||
include:
|
||||
- os: ubuntu-18.04
|
||||
target: x86_64-unknown-linux-gnu
|
||||
- os: windows-latest
|
||||
target: x86_64-pc-windows-msvc
|
||||
- os: macos-latest
|
||||
target: x86_64-apple-darwin
|
||||
- os: macos-latest
|
||||
target: aarch64-apple-darwin
|
||||
description: m1
|
||||
|
||||
name: next-swc - ${{ matrix.os }} - ${{ matrix.target }} - node@14
|
||||
runs-on: ${{ matrix.os }}
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Setup node
|
||||
uses: actions/setup-node@v2
|
||||
with:
|
||||
node-version: 14
|
||||
check-latest: true
|
||||
- name: Install
|
||||
uses: actions-rs/toolchain@v1
|
||||
with:
|
||||
profile: minimal
|
||||
toolchain: nightly-2021-03-25
|
||||
target: ${{ matrix.target }}
|
||||
- name: Cache cargo registry
|
||||
uses: actions/cache@v1
|
||||
with:
|
||||
path: ~/.cargo/registry
|
||||
key: stable-${{ matrix.os }}-node@14-cargo-registry-trimmed-${{ hashFiles('**/Cargo.lock') }}
|
||||
- name: Cache cargo index
|
||||
uses: actions/cache@v1
|
||||
with:
|
||||
path: ~/.cargo/git
|
||||
key: stable-${{ matrix.os }}-node@14-cargo-index-trimmed-${{ hashFiles('**/Cargo.lock') }}
|
||||
- name: Cache native binary
|
||||
id: binary-cache
|
||||
uses: actions/cache@v2
|
||||
with:
|
||||
path: packages/next/native/**
|
||||
key: next-swc-nightly-2021-03-25-${{ matrix.target }}-${{ hashFiles('packages/next/build/swc/**') }}
|
||||
- name: 'Build'
|
||||
if: steps.binary-cache.outputs.cache-hit != true
|
||||
run: yarn build-native --target ${{ matrix.target }}
|
||||
env:
|
||||
MACOSX_DEPLOYMENT_TARGET: '10.13'
|
||||
working-directory: packages/next
|
||||
- name: Upload artifact
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: next-swc-binaries
|
||||
path: packages/next/native/next-swc.*.node
|
||||
- name: Clear the cargo caches
|
||||
run: |
|
||||
cargo install cargo-cache --no-default-features --features ci-autoclean
|
||||
cargo-cache
|
||||
|
||||
test-native:
|
||||
name: Unit Test Native Code
|
||||
runs-on: ubuntu-18.04
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Install
|
||||
uses: actions-rs/toolchain@v1
|
||||
with:
|
||||
toolchain: nightly-2021-03-25
|
||||
profile: minimal
|
||||
- run: cd packages/next/build/swc && cargo test
|
||||
|
|
|
@ -1,3 +0,0 @@
|
|||
# `next-swc-darwin-arm64`
|
||||
|
||||
This is the **aarch64-apple-darwin** binary for `next-swc`
|
|
@ -1,18 +0,0 @@
|
|||
{
|
||||
"name": "next-swc-darwin-arm64",
|
||||
"version": "0.0.0",
|
||||
"os": [
|
||||
"darwin"
|
||||
],
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
"main": "next-swc.darwin-arm64.node",
|
||||
"files": [
|
||||
"next-swc.darwin-arm64.node"
|
||||
],
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">= 10"
|
||||
}
|
||||
}
|
|
@ -1,3 +0,0 @@
|
|||
# `next-swc-darwin-x64`
|
||||
|
||||
This is the **x86_64-apple-darwin** binary for `next-swc`
|
|
@ -1,18 +0,0 @@
|
|||
{
|
||||
"name": "next-swc-darwin-x64",
|
||||
"version": "0.0.0",
|
||||
"os": [
|
||||
"darwin"
|
||||
],
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
"main": "next-swc.darwin-x64.node",
|
||||
"files": [
|
||||
"next-swc.darwin-x64.node"
|
||||
],
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">= 10"
|
||||
}
|
||||
}
|
|
@ -1,3 +0,0 @@
|
|||
# `next-swc-linux-x64-gnu`
|
||||
|
||||
This is the **x86_64-unknown-linux-gnu** binary for `next-swc`
|
|
@ -1,18 +0,0 @@
|
|||
{
|
||||
"name": "next-swc-linux-x64-gnu",
|
||||
"version": "0.0.0",
|
||||
"os": [
|
||||
"linux"
|
||||
],
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
"main": "next-swc.linux-x64-gnu.node",
|
||||
"files": [
|
||||
"next-swc.linux-x64-gnu.node"
|
||||
],
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">= 10"
|
||||
}
|
||||
}
|
|
@ -1,3 +0,0 @@
|
|||
# `next-swc-win32-x64-msvc`
|
||||
|
||||
This is the **x86_64-pc-windows-msvc** binary for `next-swc`
|
|
@ -1,18 +0,0 @@
|
|||
{
|
||||
"name": "next-swc-win32-x64-msvc",
|
||||
"version": "0.0.0",
|
||||
"os": [
|
||||
"win32"
|
||||
],
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
"main": "next-swc.win32-x64-msvc.node",
|
||||
"files": [
|
||||
"next-swc.win32-x64-msvc.node"
|
||||
],
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">= 10"
|
||||
}
|
||||
}
|
Binary file not shown.
Binary file not shown.
|
@ -54,7 +54,7 @@
|
|||
"types": "tsc --declaration --emitDeclarationOnly --declarationDir dist",
|
||||
"typescript": "tsc --noEmit --declaration",
|
||||
"ncc-compiled": "ncc cache clean && taskr ncc",
|
||||
"build-native": "npx -p @napi-rs/cli napi build --platform --release --cargo-cwd build/swc native"
|
||||
"build-native": "napi build --platform --release --cargo-cwd build/swc native"
|
||||
},
|
||||
"taskr": {
|
||||
"requires": [
|
||||
|
|
|
@ -1,50 +0,0 @@
|
|||
#!/usr/bin/env node
|
||||
|
||||
const path = require('path')
|
||||
const { readFile, readdir, writeFile } = require('fs/promises')
|
||||
const { copy } = require('fs-extra')
|
||||
|
||||
const cwd = process.cwd()
|
||||
|
||||
;(async function () {
|
||||
let version = JSON.parse(await readFile(path.join(cwd, 'lerna.json'))).version
|
||||
|
||||
// Copy binaries to package folders, update version, and copy package folders to packages directory
|
||||
let nativePackagesDir = path.join(cwd, 'packages/next/build/swc/npm')
|
||||
let nativePackages = await readdir(nativePackagesDir)
|
||||
for (let nativePackage of nativePackages) {
|
||||
let binaryName = `next-swc.${nativePackage.substr(9)}.node`
|
||||
await copy(
|
||||
path.join(cwd, 'packages/next/native', binaryName),
|
||||
path.join(nativePackagesDir, nativePackage, binaryName)
|
||||
)
|
||||
let pkg = JSON.parse(
|
||||
await readFile(
|
||||
path.join(nativePackagesDir, nativePackage, 'package.json')
|
||||
)
|
||||
)
|
||||
pkg.version = version
|
||||
await writeFile(
|
||||
path.join(nativePackagesDir, nativePackage, 'package.json'),
|
||||
JSON.stringify(pkg, null, 2)
|
||||
)
|
||||
}
|
||||
await copy(
|
||||
path.join(cwd, 'packages/next/build/swc/npm'),
|
||||
path.join(cwd, 'packages')
|
||||
)
|
||||
|
||||
// Update optional dependencies versions
|
||||
let nextPkg = JSON.parse(
|
||||
await readFile(path.join(cwd, 'packages/next/package.json'))
|
||||
)
|
||||
for (let name of nativePackages) {
|
||||
let optionalDependencies = nextPkg.optionalDependencies || {}
|
||||
optionalDependencies[name] = version
|
||||
nextPkg.optionalDependencies = optionalDependencies
|
||||
}
|
||||
await writeFile(
|
||||
path.join(path.join(cwd, 'packages/next/package.json')),
|
||||
JSON.stringify(nextPkg, null, 2)
|
||||
)
|
||||
})()
|
Loading…
Reference in a new issue