mirror of
https://github.com/AIPexStudio/AIPex.git
synced 2026-05-21 13:54:54 +00:00
92 lines
2.8 KiB
YAML
92 lines
2.8 KiB
YAML
name: "Submit to Web Store"
|
|
on:
|
|
workflow_dispatch:
|
|
inputs:
|
|
publish:
|
|
description: 'Publish to web store (true/false)'
|
|
required: false
|
|
default: 'true'
|
|
type: choice
|
|
options:
|
|
- 'true'
|
|
- 'false'
|
|
push:
|
|
tags:
|
|
- 'v*' # 当推送版本标签时自动触发
|
|
|
|
jobs:
|
|
build:
|
|
runs-on: ubuntu-latest
|
|
permissions:
|
|
contents: read
|
|
packages: write
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- name: Cache pnpm modules
|
|
uses: actions/cache@v3
|
|
with:
|
|
path: ~/.pnpm-store
|
|
key: ${{ runner.os }}-${{ hashFiles('**/pnpm-lock.yaml') }}
|
|
restore-keys: |
|
|
${{ runner.os }}-
|
|
- uses: pnpm/action-setup@v4
|
|
with:
|
|
version: 8
|
|
run_install: true
|
|
- name: Use Node.js 18.x
|
|
uses: actions/setup-node@v4
|
|
with:
|
|
node-version: 18.x
|
|
cache: "pnpm"
|
|
- name: Build the extension
|
|
run: pnpm build
|
|
env:
|
|
# AI 配置环境变量(可选)
|
|
AI_HOST: ${{ secrets.AI_HOST }}
|
|
AI_MODEL: ${{ secrets.AI_MODEL }}
|
|
AI_TOKEN: ${{ secrets.AI_TOKEN }}
|
|
- name: Package the extension into a zip artifact
|
|
run: pnpm package
|
|
- name: Upload package artifacts
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: extension-package
|
|
path: build/
|
|
retention-days: 30
|
|
|
|
- name: Auto-increment version
|
|
run: |
|
|
# 获取当前版本号
|
|
CURRENT_VERSION=$(node -p "require('./package.json').version")
|
|
echo "Current version: $CURRENT_VERSION"
|
|
|
|
# 自动递增补丁版本号
|
|
NEW_VERSION=$(node -p "
|
|
const version = '$CURRENT_VERSION';
|
|
const parts = version.split('.');
|
|
parts[2] = (parseInt(parts[2]) + 1).toString();
|
|
parts.join('.')
|
|
")
|
|
echo "New version: $NEW_VERSION"
|
|
|
|
# 更新 package.json 中的版本号
|
|
npm version $NEW_VERSION --no-git-tag-version
|
|
echo "Updated version to: $NEW_VERSION"
|
|
|
|
- name: Publish to GitHub Packages
|
|
run: |
|
|
echo "@aipexstudio:registry=https://npm.pkg.github.com" >> ~/.npmrc
|
|
echo "//npm.pkg.github.com/:_authToken=${{ secrets.GITHUB_TOKEN }}" >> ~/.npmrc
|
|
pnpm publish:extension
|
|
env:
|
|
NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
|
|
- name: Browser Platform Publish
|
|
if: ${{ github.event.inputs.publish != 'false' }}
|
|
uses: PlasmoHQ/bpp@v3
|
|
with:
|
|
keys: ${{ secrets.SUBMIT_KEYS }}
|
|
artifact: build/chrome-mv3-prod.zip
|
|
# 可选:指定要发布的浏览器
|
|
# browsers: firefox,edge
|