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