Skip to content

refactor: 添加新功能和配置,重构部分代码 (#68) #228

refactor: 添加新功能和配置,重构部分代码 (#68)

refactor: 添加新功能和配置,重构部分代码 (#68) #228

Workflow file for this run

name: Release and Publish # 工作流名称
on:
push:
branches:
- npm # 当推送到 npm 分支时触发
permissions:
contents: write # 设置写权限
pull-requests: write # 设置拉取请求权限
jobs:
release-please:
runs-on: ubuntu-latest
steps:
# Step 1: 检查 release-please 并创建发布版本
- name: Release with release-please
uses: google-github-actions/release-please-action@v3
id: release
with:
release-type: node
package-name: karin-plugin-ling
default-branch: npm
# Step 2: 检出代码仓库
- name: Checkout repository
uses: actions/checkout@v4
if: ${{ steps.release.outputs.release_created }}
# Step 3: 设置 Node.js 环境
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 20
registry-url: "https://registry.npmjs.org"
if: ${{ steps.release.outputs.release_created }}
# Step 4: 安装依赖
- name: Install dependencies
run: |
npm install --save-dev node-karin
npm install
if: ${{ steps.release.outputs.release_created }}
# Step 5: 编译代码
- name: Build project
run: npm run build
if: ${{ steps.release.outputs.release_created }}
# Step 6: 移除开发依赖
- name: Remove devDependencies
run: |
sudo apt-get install jq
jq 'del(.devDependencies)' package.json > package.json.tmp
mv package.json.tmp package.json
if: ${{ steps.release.outputs.release_created }}
# Step 7: 发布到 npm
- name: Publish to npm
run: npm run pub
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
if: ${{ steps.release.outputs.release_created }}
# Step 8: 删除指定文件夹并准备推送到 dev 分支
- name: Clean files for dev branch
run: |
# 删除指定的文件夹
git config user.name "github-actions[bot]"
git config user.email "github-actions[bot]@users.noreply.github.com"
# 切换到 dev 分支(如果不存在则创建)
git checkout -B dev
rm -rf node_modules src .github package-lock.yaml
# 强制添加 lib 文件夹和关键文件
git add -A
git add -f lib/
git commit -m "chore: 同步代码到 dev 分支"
git push origin HEAD:dev --force
if: ${{ steps.release.outputs.release_created }}