2
0
mirror of https://github.com/ddaodan/bgi-scripts.git synced 2025-11-02 14:04:12 +08:00
Files
bgi-scripts/.github/workflows/build_release_branch.yml

89 lines
2.5 KiB
YAML

name: Scheduled Build and Release
on:
schedule:
# 每天下午18点执行 (UTC时间10点)
- cron: '0 10 * * *'
workflow_dispatch: # 允许手动触发
jobs:
build-and-release:
runs-on: ubuntu-latest
if: github.repository_owner == 'babalae'
permissions:
contents: write
actions: read
steps:
- name: 📥 检出代码仓库
uses: actions/checkout@v4
with:
path: bettergi-scripts-list
fetch-depth: 0
- name: 🚀 配置 Node.js 环境
uses: actions/setup-node@v4
with:
node-version: '22'
- name: 🔨 构建项目并生成文件
run: |
echo "🔄 开始构建项目..."
cd bettergi-scripts-list
echo "📦 执行构建脚本 (强制模式 + Gzip压缩)"
node ./build/build.js --force --gzip
echo "✅ 项目构建完成"
- name: 📋 复制生成的文件到工作目录
run: |
echo "📂 复制 repo.json 和 repo.json.gz 文件..."
cp bettergi-scripts-list/repo.json .
cp bettergi-scripts-list/repo.json.gz .
echo "✅ 文件复制完成"
ls -la *.json*
- name: 🧹 清理工作目录变更
run: |
echo "🔄 清理 bettergi-scripts-list 目录中的变更..."
cd bettergi-scripts-list
git checkout -- .
git clean -fd
echo "✅ 工作目录清理完成"
- name: 🌿 准备 Release 分支
run: |
echo "🔄 开始准备 Release 分支..."
cd bettergi-scripts-list
echo "🗑️ 删除本地 release 分支(如果存在)"
git branch -D release || true
echo "🆕 创建新的 orphan 分支"
git checkout --orphan release
git rm -rf .
echo "📦 检出 main 分支的内容到工作区"
git checkout main -- repo .gitignore
echo "📋 复制生成的文件到 release 分支"
cp ../repo.json .
cp ../repo.json.gz .
echo "📊 显示当前文件状态"
ls -la
echo "✅ Release 分支准备完成"
- name: 🚀 提交并推送到 Release 分支
uses: stefanzweifel/git-auto-commit-action@v5
with:
commit_message: "rebuild release branch"
branch: release
push_options: '--force'
repository: bettergi-scripts-list
file_pattern: .
skip_dirty_check: true
skip_fetch: false
skip_checkout: true
create_branch: false