Files
Cli-Proxy-API-Management-Ce…/.github/workflows/release.yml

88 lines
2.4 KiB
YAML

name: Build and Release
on:
push:
tags:
- 'v*'
jobs:
build-and-release:
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
fetch-depth: 0
fetch-tags: true
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '18'
cache: 'npm'
- name: Install dependencies
run: npm ci
- name: Build all-in-one HTML
run: npm run build
env:
VERSION: ${{ github.ref_name }}
- name: Prepare release assets
run: |
cd dist
mv index.html management.html
ls -lh management.html
- name: Generate release notes
run: |
set -euo pipefail
current_tag="${GITHUB_REF_NAME}"
previous_tag="$(git tag --list 'v*' --sort=-v:refname | grep -v "^${current_tag}$" | head -n 1 || true)"
if [ -n "${previous_tag}" ]; then
range="${previous_tag}..${current_tag}"
title="Changes since ${previous_tag}"
else
range="${current_tag}"
title="Changes"
fi
{
echo "## CLI Proxy API Management Center - ${current_tag}"
echo
echo "### Download and Usage"
echo "1. Download the \`management.html\` file"
echo "2. Open it directly in your browser"
echo "3. All assets (CSS, JavaScript, images) are bundled into this single file"
echo
echo "### Features"
echo "- Single file, no external dependencies required"
echo "- Complete management interface for CLI Proxy API"
echo "- Support for local and remote connections"
echo "- Multi-language support (Chinese/English)"
echo "- Dark/Light theme support"
echo
echo "### ${title}"
echo
git log --pretty=format:"- %h %s" "${range}"
echo
echo
echo "---"
echo "🤖 Generated with GitHub Actions"
} > release-notes.md
- name: Create Release
uses: softprops/action-gh-release@v1
with:
files: dist/management.html
body_path: release-notes.md
draft: false
prerelease: false
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}