mirror of
https://git.bjxgj.com/xgj/xgj-actions.git
synced 2025-10-14 06:33:37 +08:00
70 lines
1.9 KiB
YAML
70 lines
1.9 KiB
YAML
name: 'Web项目发布构建'
|
||
description: '自动化Web项目发布流程,支持版本管理和发布'
|
||
author: 'Your Organization'
|
||
|
||
branding:
|
||
icon: 'tag'
|
||
color: 'green'
|
||
|
||
inputs:
|
||
release-command:
|
||
description: '发布命令,例如 npm run release -- --release -V'
|
||
required: false
|
||
default: 'npm run release -- --release -V'
|
||
|
||
node-debug:
|
||
description: '是否启用Node.js调试模式 (true/false)'
|
||
required: false
|
||
default: 'false'
|
||
|
||
outputs:
|
||
version:
|
||
description: '发布的版本号'
|
||
value: ${{ steps.get_var.outputs.version }}
|
||
|
||
version-with-dash:
|
||
description: '版本号(点号替换为横线)'
|
||
value: ${{ steps.get_var.outputs.version_with_dash }}
|
||
|
||
runs:
|
||
using: 'composite'
|
||
steps:
|
||
- name: 发布构建
|
||
shell: bash
|
||
run: |
|
||
echo "🚀 开始发布构建..."
|
||
echo "执行命令: ${{ inputs.release-command }}"
|
||
${{ inputs.release-command }}
|
||
echo "✅ 发布构建完成"
|
||
env:
|
||
NODE_DEBUG: ${{ inputs.node-debug == 'true' && 'release-it:*' || '' }}
|
||
|
||
- name: 获取版本信息
|
||
id: get_var
|
||
shell: bash
|
||
run: |
|
||
echo "📝 获取版本信息..."
|
||
|
||
if [[ ! -f "/tmp/last-version" ]]; then
|
||
echo "❌ 错误: 版本文件 /tmp/last-version 不存在"
|
||
echo "请确保发布命令正确执行并生成了版本文件"
|
||
exit 1
|
||
fi
|
||
|
||
VERSION=$(cat /tmp/last-version)
|
||
VERSION_WITH_DASH=$(echo "$VERSION" | sed 's/\./-/g')
|
||
|
||
echo "version=$VERSION" >> $GITHUB_OUTPUT
|
||
echo "version_with_dash=$VERSION_WITH_DASH" >> $GITHUB_OUTPUT
|
||
|
||
echo "📦 发布版本: $VERSION"
|
||
echo "📦 带横线版本: $VERSION_WITH_DASH"
|
||
|
||
- name: 发布总结
|
||
shell: bash
|
||
run: |
|
||
echo "🎉 发布流程完成!"
|
||
echo ""
|
||
echo "📋 发布信息:"
|
||
echo " - 版本号: ${{ steps.get_var.outputs.version }}"
|