bump: version 0.13.2 → 0.13.3 #5
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: 🚀 Release Build & Publish | |
on: | |
push: | |
tags: | |
- '[0-9]+.[0-9]+.[0-9]+' # 匹配类似 1.0.0, 2.1.3 等格式的标签 | |
permissions: | |
contents: write # 用于创建 release | |
id-token: write # 用于发布到 PyPI | |
jobs: | |
test: | |
runs-on: ubuntu-latest | |
env: | |
UV_INDEX_HOMELAB_USERNAME: ${{ secrets.PYPI_SERVER_USERNAME }} | |
UV_INDEX_HOMELAB_PASSWORD: ${{ secrets.PYPI_SERVER_PASSWORD }} | |
PYPI_SERVER_USERNAME: ${{ secrets.PYPI_SERVER_USERNAME }} | |
PYPI_SERVER_PASSWORD: ${{ secrets.PYPI_SERVER_PASSWORD }} | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install Task | |
uses: arduino/setup-task@v2 | |
- name: Install uv | |
uses: astral-sh/setup-uv@v5 | |
- name: init environment and test | |
run: | | |
task init # 初始化项目环境 | |
task lint # 运行代码检查 | |
- name: Run tests | |
run: task test:all # 运行所有测试 | |
publish-pypi: | |
needs: test | |
runs-on: ubuntu-latest | |
permissions: | |
contents: write | |
id-token: write | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install Task | |
uses: arduino/setup-task@v2 | |
- name: Install uv | |
uses: astral-sh/setup-uv@v5 | |
- name: Build package | |
run: task build | |
- name: Publish to PyPI | |
env: | |
UV_PUBLISH_TOKEN: ${{ secrets.PYPI_TOKEN }} | |
run: task publish:pypi | |
publish-private-pypi: | |
needs: test | |
runs-on: ubuntu-latest | |
permissions: | |
contents: write | |
env: | |
UV_INDEX_HOMELAB_USERNAME: ${{ secrets.PYPI_SERVER_USERNAME }} | |
UV_INDEX_HOMELAB_PASSWORD: ${{ secrets.PYPI_SERVER_PASSWORD }} | |
PYPI_SERVER_USERNAME: ${{ secrets.PYPI_SERVER_USERNAME }} | |
PYPI_SERVER_PASSWORD: ${{ secrets.PYPI_SERVER_PASSWORD }} | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install Task | |
uses: arduino/setup-task@v2 | |
- name: Install uv | |
uses: astral-sh/setup-uv@v5 | |
- name: Build and publish to PyPI Server | |
run: task deploy:pypi-server | |
release: | |
needs: [test, publish-pypi, publish-private-pypi] | |
runs-on: ubuntu-latest | |
permissions: | |
contents: write | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install Task | |
uses: arduino/setup-task@v2 | |
- name: Install uv | |
uses: astral-sh/setup-uv@v5 | |
- name: Build package for release | |
run: task build | |
- name: Release | |
uses: softprops/action-gh-release@v2 | |
with: | |
tag_name: ${{ github.ref_name }} | |
name: Release ${{ github.ref_name }} | |
files: | | |
dist/*.tar.gz | |
dist/*.whl | |
generate_release_notes: true | |
env: | |
GITHUB_TOKEN: ${{ secrets.PERSONAL_ACCESS_TOKEN }} |