Skip to content

chore: 替换 release workflow 为 tag-triggered 全自动流程 #1

chore: 替换 release workflow 为 tag-triggered 全自动流程

chore: 替换 release workflow 为 tag-triggered 全自动流程 #1

Workflow file for this run

name: Release
on:
push:
tags:
- 'v*'
permissions:
contents: write
jobs:
release:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v5
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
cache: 'npm'
- name: Install dependencies
run: npm ci
- name: Run all tests
run: npm run test:all
- name: Build all
run: npm run build:all
- name: Flatten dist for release
run: |
mkdir -p dist-release
for file in $(find dist -name "*.js"); do
relative_path=${file#dist/}
new_name=$(echo "$relative_path" | sed 's/\//-/g')
cp "$file" "dist-release/$new_name"
done
- name: Create Release & Upload Assets
uses: softprops/action-gh-release@v2
with:
name: Release ${{ github.ref_name }}
generate_release_notes: true
files: dist-release/*.js