63 lines
1.4 KiB
YAML
63 lines
1.4 KiB
YAML
on:
|
|
push:
|
|
tags:
|
|
- 'v*'
|
|
workflow_dispatch:
|
|
|
|
name: Auto Release
|
|
|
|
jobs:
|
|
build-and-publish-to-github-release:
|
|
runs-on: ubuntu-latest
|
|
permissions:
|
|
contents: write
|
|
steps:
|
|
- name: Checkout repository
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Dashboard Build
|
|
run: |
|
|
cd dashboard
|
|
npm install
|
|
npm run build
|
|
echo "COMMIT_SHA=$(git rev-parse HEAD)" >> $GITHUB_ENV
|
|
echo ${{ github.ref_name }} > dist/assets/version
|
|
zip -r dist.zip dist
|
|
|
|
- name: Fetch Changelog
|
|
run: |
|
|
echo "changelog=changelogs/${{github.ref_name}}.md" >> "$GITHUB_ENV"
|
|
|
|
- name: Create GitHub Release
|
|
uses: ncipollo/release-action@v1
|
|
with:
|
|
bodyFile: ${{ env.changelog }}
|
|
artifacts: "dashboard/dist.zip"
|
|
|
|
build-and-publish-to-pypi:
|
|
# 构建并发布到 PyPI
|
|
runs-on: ubuntu-latest
|
|
needs: build-and-publish-to-github-release
|
|
steps:
|
|
- name: Checkout repository
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Set up Python
|
|
uses: actions/setup-python@v4
|
|
with:
|
|
python-version: '3.10'
|
|
|
|
- name: Install uv
|
|
run: |
|
|
python -m pip install uv
|
|
|
|
- name: Build package
|
|
run: |
|
|
uv build
|
|
|
|
- name: Publish to PyPI
|
|
env:
|
|
UV_PUBLISH_TOKEN: ${{ secrets.PYPI_TOKEN }}
|
|
run: |
|
|
uv publish
|