Skip to content

Commit

Permalink
ci: add alpha release yml
Browse files Browse the repository at this point in the history
  • Loading branch information
cycleccc committed Oct 11, 2024
1 parent 739f925 commit 85a0843
Show file tree
Hide file tree
Showing 3 changed files with 90 additions and 23 deletions.
5 changes: 0 additions & 5 deletions .changeset/empty-forks-design.md

This file was deleted.

18 changes: 0 additions & 18 deletions .changeset/pre.json

This file was deleted.

90 changes: 90 additions & 0 deletions .github/workflows/alpha-release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,90 @@
name: Release

on:
push:
branches:
- alpha

permissions:
id-token: write
contents: write
pull-requests: write

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

jobs:
release:
name: Release
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [18]

steps:
# 检出代码库
- name: Checkout repo
uses: actions/checkout@v4
with:
fetch-depth: 0

# 设置 Node.js 版本
- name: Setup Node ${{ matrix.node-version }}
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
registry-url: 'https://registry.npmjs.org/'

# 启用 Corepack 以支持 Yarn 4
- name: Enable Corepack
run: corepack enable

# 准备 Yarn 4.x
- name: Prepare Yarn
run: corepack prepare yarn@4.4.1 --activate

# 加载依赖缓存
- name: Load cached dependencies
uses: actions/cache@v4.1.1
id: cache
with:
path: |
**/node_modules
**/.turbo
/home/runner/.cache/Cypress
key: ${{ runner.os }}-node-${{ matrix.node-version }}-${{ hashFiles('**/package-lock.json') }}

# 安装依赖
- name: Install dependencies
run: yarn install

# 构建项目
- name: Build packages
run: yarn build

# 运行单元测试
- name: Unit test
run: yarn run test

# 运行 E2E 测试
- name: E2E test
uses: cypress-io/github-action@v6
with:
browser: chrome
start: yarn run example
wait-on: 'http://localhost:8881/examples/default-mode.html'

# 创建 Release PR 或发布测试版本到 npm
- name: Create Release PR or publish stable version to npm
id: changesets
uses: changesets/action@v1
with:
createGithubReleases: false
publish: yarn changeset publish --tag alpha --access=public
title: ${{ github.ref_name == 'master' && 'Publish a new stable version' || 'Publish a new pre-release version' }}
commit: >-
${{ github.ref_name == 'master' && 'chore(release): publish a new release version' || 'chore(release): publish a new pre-release version' }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}

0 comments on commit 85a0843

Please sign in to comment.