Skip to content

chore: 更新依赖和配置,添加静默下载功能及日志记录器支持 #74

chore: 更新依赖和配置,添加静默下载功能及日志记录器支持

chore: 更新依赖和配置,添加静默下载功能及日志记录器支持 #74

Workflow file for this run

name: release
on:
push:
branches:
- main
# 赋予 release-please-action 权限
permissions:
contents: write
pull-requests: write
jobs:
# 设置 release-please 任务
release-please:
# 设置任务运行环境为 ubuntu-latest
runs-on: ubuntu-latest
outputs:
releases_created: ${{ steps.release.outputs.release_created }}
puppeteer_release: ${{ steps.release.outputs['packages/puppeteer--release_created'] }}
puppeteer_core_release: ${{ steps.release.outputs['packages/puppeteer-core--release_created'] }}
plugin_puppeteer_release: ${{ steps.release.outputs['packages/karin-plugin-puppeteer--release_created'] }}
puppeteer_server_release: ${{ steps.release.outputs['packages/puppeteer-server--release_created'] }}
create_puppeteer_release: ${{ steps.release.outputs['packages/create-puppeteer--release_created'] }}
steps:
# 使用 release-please-action 动作来自动创建发布 PR
- uses: googleapis/release-please-action@v4
id: release
with:
config-file: .release-please-config.json
manifest-file: .release-please-manifest.json
# 调试步骤 - 输出所有release-please-action的输出变量
- name: 输出发布状态
run: |
echo "release_created: ${{ steps.release.outputs.release_created }}"
echo "releases_created: ${{ steps.release.outputs.releases_created }}"
echo "puppeteer_release: ${{ steps.release.outputs['packages/puppeteer--release_created'] }}"
echo "puppeteer_core_release: ${{ steps.release.outputs['packages/puppeteer-core--release_created'] }}"
echo "plugin_puppeteer_release: ${{ steps.release.outputs['packages/karin-plugin-puppeteer--release_created'] }}"
echo "puppeteer_server_release: ${{ steps.release.outputs['packages/puppeteer-server--release_created'] }}"
echo "create_puppeteer_release: ${{ steps.release.outputs['packages/create-puppeteer--release_created'] }}"
# 只有当实际创建了发布时才执行发布任务
publish:
needs: release-please
# 同时检查单数和复数形式,确保兼容性
if: ${{ needs.release-please.outputs.releases_created == 'true' || needs.release-please.outputs.release_created == 'true' }}
runs-on: ubuntu-latest
steps:
- name: 检出代码
uses: actions/checkout@v4
- name: 设置 node
uses: actions/setup-node@v4
with:
node-version: 20
registry-url: 'https://registry.npmjs.org'
- name: 设置 pnpm
uses: pnpm/action-setup@v2
with:
version: 9
# 安装所有依赖
- name: 安装依赖
run: pnpm install
# 全局编译
- name: 编译所有包
run: pnpm run build
# 发布 puppeteer 包
- name: 发布 puppeteer 包
if: ${{ needs.release-please.outputs.puppeteer_release == 'true' }}
env:
NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}}
working-directory: packages/puppeteer
run: pnpm run pub
# 发布 puppeteer-core 包
- name: 发布 puppeteer-core 包
if: ${{ needs.release-please.outputs.puppeteer_core_release == 'true' }}
env:
NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}}
working-directory: packages/puppeteer-core
run: pnpm run pub
# 发布 plugin-puppeteer 包
- name: 发布 plugin-puppeteer 包
if: ${{ needs.release-please.outputs.plugin_puppeteer_release == 'true' }}
env:
NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}}
working-directory: packages/karin-plugin-puppeteer
run: pnpm run pub
# 发布 puppeteer-server 包
- name: 发布 puppeteer-server 包
if: ${{ needs.release-please.outputs.puppeteer_server_release == 'true' }}
env:
NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}}
working-directory: packages/puppeteer-server
run: pnpm run pub
# 发布 create-puppeteer 包
- name: 发布 create-puppeteer 包
if: ${{ needs.release-please.outputs.create_puppeteer_release == 'true' }}
env:
NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}}
working-directory: packages/create-puppeteer
run: pnpm run pub
# 同步所有包
- name: 同步所有包
run: pnpm run sync