511867ceec
Follow up to https://github.com/vercel/next.js/pull/59134
92 lines
2.4 KiB
YAML
92 lines
2.4 KiB
YAML
on:
|
|
schedule:
|
|
# run every day at 23:15
|
|
- cron: '15 23 * * *'
|
|
|
|
workflow_dispatch:
|
|
inputs:
|
|
releaseType:
|
|
description: stable or canary?
|
|
required: true
|
|
type: choice
|
|
options:
|
|
- canary
|
|
- stable
|
|
|
|
semverType:
|
|
description: semver type?
|
|
type: choice
|
|
options:
|
|
- patch
|
|
- minor
|
|
- major
|
|
|
|
secrets:
|
|
RELEASE_BOT_GITHUB_TOKEN:
|
|
required: true
|
|
|
|
name: Trigger Release
|
|
|
|
env:
|
|
NAPI_CLI_VERSION: 2.14.7
|
|
TURBO_VERSION: 1.10.9
|
|
NODE_LTS_VERSION: 20
|
|
|
|
jobs:
|
|
start:
|
|
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@v3
|
|
with:
|
|
node-version: 18
|
|
check-latest: true
|
|
|
|
- run: git clone https://github.com/vercel/next.js.git --depth=25 .
|
|
|
|
- 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
|
|
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
|
|
|
|
- run: corepack enable && pnpm --version
|
|
|
|
- id: get-store-path
|
|
run: echo STORE_PATH=$(pnpm store path) >> $GITHUB_OUTPUT
|
|
|
|
- uses: actions/cache@v3
|
|
timeout-minutes: 5
|
|
id: cache-pnpm-store
|
|
with:
|
|
path: ${{ steps.get-store-path.outputs.STORE_PATH }}
|
|
key: pnpm-store-${{ hashFiles('pnpm-lock.yaml') }}
|
|
restore-keys: |
|
|
pnpm-store-
|
|
pnpm-store-${{ hashFiles('pnpm-lock.yaml') }}
|
|
|
|
- run: pnpm install
|
|
|
|
- run: pnpm run build
|
|
|
|
- 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 }}
|