Some checks failed
Test examples / Test Examples (20) (push) Has been cancelled
Test examples / Test Examples (22) (push) Has been cancelled
Lock Threads / action (push) Has been cancelled
Trigger Release / start (push) Has been cancelled
Stale issue handler / stale (push) Has been cancelled
Update Font Data / create-pull-request (push) Has been cancelled
build-and-deploy / deploy-target (push) Has been cancelled
build-and-deploy / build (push) Has been cancelled
build-and-deploy / stable - aarch64-unknown-linux-musl - node@16 (push) Has been cancelled
build-and-deploy / stable - x86_64-unknown-linux-musl - node@16 (push) Has been cancelled
build-and-deploy / stable - aarch64-unknown-linux-gnu - node@16 (push) Has been cancelled
build-and-deploy / stable - x86_64-unknown-linux-gnu - node@16 (push) Has been cancelled
build-and-deploy / stable - aarch64-pc-windows-msvc - node@16 (push) Has been cancelled
build-and-deploy / stable - x86_64-pc-windows-msvc - node@16 (push) Has been cancelled
build-and-deploy / stable - aarch64-apple-darwin - node@16 (push) Has been cancelled
build-and-deploy / stable - x86_64-apple-darwin - node@16 (push) Has been cancelled
build-and-deploy / build-wasm (nodejs) (push) Has been cancelled
build-and-deploy / build-wasm (web) (push) Has been cancelled
build-and-deploy / Deploy preview tarball (push) Has been cancelled
build-and-deploy / Potentially publish release (push) Has been cancelled
build-and-deploy / publish-turbopack-npm-packages (push) Has been cancelled
build-and-deploy / Deploy examples (push) Has been cancelled
build-and-deploy / thank you, build (push) Has been cancelled
build-and-deploy / Upload Turbopack Bytesize metrics to Datadog (push) Has been cancelled
Rspack Next.js development integration tests / Rspack integration tests (push) Has been cancelled
Rspack Next.js production integration tests / Rspack integration tests (push) Has been cancelled
Turbopack Next.js development integration tests / Next.js integration tests (push) Has been cancelled
Turbopack Next.js production integration tests / Next.js integration tests (push) Has been cancelled
Update Rspack test manifest / Update and upload Rspack development test manifest (push) Has been cancelled
Update Rspack test manifest / Update and upload Rspack production test manifest (push) Has been cancelled
Upload bundler test manifests to areweturboyet.com / Upload test results (push) Has been cancelled
Update React / create-pull-request (push) Has been cancelled
test-e2e-project-reset-cron / reset-test-project (push) Has been cancelled
Notify about the top 15 issues/PRs/feature requests (most reacted) in the last 90 days / run (push) Has been cancelled
107 lines
3.1 KiB
YAML
107 lines
3.1 KiB
YAML
on:
|
|
schedule:
|
|
# run every day at 23:15
|
|
- cron: '15 23 * * *'
|
|
|
|
workflow_dispatch:
|
|
inputs:
|
|
releaseType:
|
|
description: stable, canary, beta, or release candidate?
|
|
required: true
|
|
type: choice
|
|
options:
|
|
- canary
|
|
- stable
|
|
- release-candidate
|
|
- beta
|
|
|
|
semverType:
|
|
description: semver type?
|
|
type: choice
|
|
options:
|
|
- patch
|
|
- minor
|
|
- major
|
|
|
|
force:
|
|
description: create a new release even if there are no new commits
|
|
default: false
|
|
type: boolean
|
|
|
|
name: Trigger Release
|
|
|
|
env:
|
|
NAPI_CLI_VERSION: 2.18.4
|
|
TURBO_VERSION: 2.8.11
|
|
NODE_LTS_VERSION: 20
|
|
|
|
jobs:
|
|
start:
|
|
if: github.repository_owner == 'vercel'
|
|
runs-on: ubuntu-latest
|
|
env:
|
|
NEXT_TELEMETRY_DISABLED: 1
|
|
# we build a dev binary for use in CI so skip downloading
|
|
# canary next-swc binaries in the monorepo
|
|
NEXT_SKIP_NATIVE_POSTINSTALL: 1
|
|
|
|
environment: release-${{ github.event.inputs.releaseType || 'canary' }}
|
|
steps:
|
|
- name: Setup node
|
|
uses: actions/setup-node@v4
|
|
with:
|
|
node-version: 20
|
|
check-latest: true
|
|
|
|
- name: Clone Next.js repository
|
|
run: git clone https://github.com/vercel/next.js.git --depth=25 --single-branch --branch ${GITHUB_REF_NAME:-canary} .
|
|
|
|
- name: Check token
|
|
run: gh auth status
|
|
# This sometimes fails for unknown reasons.
|
|
# Ignoring failures for now to check if a failure truly implies a failed publish.
|
|
continue-on-error: true
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.RELEASE_BOT_GITHUB_TOKEN }}
|
|
|
|
- name: Get commit of the latest tag
|
|
run: echo "LATEST_TAG_COMMIT=$(git rev-list -n 1 $(git describe --tags --abbrev=0))" >> $GITHUB_ENV
|
|
|
|
- name: Get latest commit
|
|
run: echo "LATEST_COMMIT=$(git rev-parse HEAD)" >> $GITHUB_ENV
|
|
|
|
- name: Check if new commits since last tag
|
|
if: ${{ github.event.inputs.releaseType != 'stable' && github.event.inputs.force != true }}
|
|
run: |
|
|
if [ "$LATEST_TAG_COMMIT" = "$LATEST_COMMIT" ]; then
|
|
echo "No new commits. Exiting..."
|
|
exit 1
|
|
fi
|
|
|
|
# https://github.com/actions/virtual-environments/issues/1187
|
|
- name: tune linux network
|
|
run: sudo ethtool -K eth0 tx off rx off
|
|
|
|
- name: Setup corepack
|
|
run: |
|
|
npm i -g corepack@0.31
|
|
corepack enable
|
|
pnpm --version
|
|
|
|
- id: get-store-path
|
|
run: echo STORE_PATH=$(pnpm store path) >> $GITHUB_OUTPUT
|
|
|
|
- uses: actions/cache@v4
|
|
timeout-minutes: 5
|
|
id: cache-pnpm-store
|
|
with:
|
|
path: ${{ steps.get-store-path.outputs.STORE_PATH }}
|
|
key: pnpm-store-v2-${{ hashFiles('pnpm-lock.yaml') }}
|
|
# Do not use restore-keys since it leads to indefinite growth of the cache.
|
|
|
|
- run: pnpm install
|
|
|
|
- run: node ./scripts/start-release.js --release-type ${{ github.event.inputs.releaseType || 'canary' }} --semver-type ${{ github.event.inputs.semverType }}
|
|
env:
|
|
RELEASE_BOT_GITHUB_TOKEN: ${{ secrets.RELEASE_BOT_GITHUB_TOKEN }}
|