mirror of
https://github.com/VisActor/VTable
synced 2024-11-22 01:52:03 +00:00
117 lines
3.8 KiB
YAML
117 lines
3.8 KiB
YAML
name: Release CI
|
||
|
||
on:
|
||
push:
|
||
branches:
|
||
- 'release/[0-9]+.[0-9]+.[0-9]+'
|
||
|
||
jobs:
|
||
build:
|
||
runs-on: macOS-latest # 如果用了electron,记得改成 macOS-latest
|
||
permissions:
|
||
contents: write
|
||
pull-requests: write
|
||
|
||
strategy:
|
||
matrix:
|
||
node-version: [18.x]
|
||
# See supported Node.js release schedule at https://nodejs.org/en/about/releases/
|
||
|
||
steps:
|
||
- uses: actions/checkout@v3
|
||
- run: |
|
||
git config user.name ${{ github.actor }}
|
||
git config user.email ${{ github.actor }}@users.noreply.github.com
|
||
|
||
- name: Use Node.js ${{ matrix.node-version }}
|
||
uses: actions/setup-node@v3
|
||
with:
|
||
node-version: ${{ matrix.node-version }}
|
||
cache: 'npm'
|
||
cache-dependency-path: './common/config/rush/pnpm-lock.yaml'
|
||
|
||
# Install rush
|
||
- name: Install rush
|
||
run: node common/scripts/install-run-rush.js install --bypass-policy
|
||
|
||
- name: Parse semver version from branch name
|
||
id: semver_parser
|
||
uses: xile611/read-package-version-action@main
|
||
with:
|
||
path: packages/vtable
|
||
semver_string: ${{ github.ref_name }}
|
||
semver_pattern: '^release/(.*)$' # ^v?(.*)$ by default
|
||
|
||
- name: update nextBump of version policies
|
||
uses: xile611/set-next-bump-of-rush@main
|
||
with:
|
||
release_version: ${{ steps.semver_parser.outputs.full }}
|
||
write_next_bump: true
|
||
|
||
- name: Update version
|
||
run: node common/scripts/install-run-rush.js version --bump
|
||
|
||
- name: Build packages
|
||
env:
|
||
NODE_OPTIONS: "--max_old_space_size=4096"
|
||
run: node common/scripts/install-run-rush.js build --only tag:package
|
||
|
||
# - name: Run Bugserver
|
||
# working-directory: ./packages/vtable
|
||
# env:
|
||
# BUG_SERVER_TOKEN: ${{ secrets.BUG_SERVER_TOKEN }}
|
||
# run: node ../../common/scripts/install-run-rushx.js ci
|
||
|
||
- name: Publish to npm
|
||
env:
|
||
NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}}
|
||
NPM_AUTH_TOKEN: ${{secrets.NPM_TOKEN}}
|
||
run: node common/scripts/install-run-rush.js publish --publish --include-all
|
||
|
||
- name: Update shrinkwrap
|
||
run: node common/scripts/install-run-rush.js update
|
||
|
||
- name: Get npm version
|
||
id: package-version
|
||
uses: xile611/read-package-version-action@v2.1
|
||
with:
|
||
path: packages/vtable
|
||
|
||
- name: Commit & Push changes
|
||
uses: actions-js/push@master
|
||
with:
|
||
github_token: ${{ secrets.GITHUB_TOKEN }}
|
||
message: 'build: prelease version ${{ steps.package-version.outputs.current_version }}'
|
||
branch: ${{ github.ref_name }}
|
||
|
||
- name: Collect changelog of rush
|
||
uses: xile611/collect-rush-changlog@main
|
||
id: changelog
|
||
with:
|
||
version: ${{ steps.package-version.outputs.current_version }}
|
||
|
||
- name: Create Release for Tag
|
||
id: release_tag
|
||
uses: ncipollo/release-action@v1.12.0
|
||
env:
|
||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||
with:
|
||
tag: v${{ steps.package-version.outputs.current_version }}
|
||
commit: main
|
||
prerelease: false
|
||
body: |
|
||
${{ steps.changelog.outputs.markdown }}
|
||
draft: true #
|
||
|
||
- name: Create Pull Request
|
||
uses: dustinirving/create-pr@v1.0.2
|
||
with:
|
||
token: ${{ secrets.GITHUB_TOKEN }}
|
||
title: '[Auto release] release ${{ steps.package-version.outputs.current_version }}'
|
||
base: main
|
||
head: ${{ github.ref_name }}
|
||
labels: release # default labels, the action will throw error if not specified
|
||
reviewers: fangsmile,Rui-Sun # default reviewers, the action will throw error if not specified
|
||
body: |
|
||
${{ steps.changelog.outputs.markdown }}
|