Skip to content

release-build

release-build #3

name: release-build
on:
workflow_dispatch:
push:
tags:
- '*.*.*'
jobs:
release-build:
runs-on: ubuntu-latest
permissions:
contents: write # 用于创建 GitHub Release
steps:
- uses: actions/checkout@v4
- name: Load secret
uses: 1password/load-secrets-action@v2
with:
export-env: true
env:
OP_SERVICE_ACCOUNT_TOKEN: ${{ secrets.OP_SERVICE_ACCOUNT_TOKEN }}
PERSONAL_ACCESS_TOKEN: op://shawndengdev/github_access_token/credential
PYPI_TOKEN: op://shawndengdev/pypi_token/credential
- uses: actions/setup-python@v5
with:
python-version: "3.12"
- name: Install uv
uses: astral-sh/setup-uv@v5
with:
version: ">=0.4.0"
- name: Install dependencies
run: uv sync --extra dev
- name: Build and test
run: |
uvx nox -s lint
uvx nox -s test
uvx nox -s build
- name: Publish to PyPI
env:
UV_PUBLISH_TOKEN: ${{ env.PYPI_TOKEN }}
run: uv publish
- name: Release
uses: softprops/action-gh-release@v2
with:
files: |
dist/*.tar.gz
dist/*.whl
generate_release_notes: true
env:
GITHUB_TOKEN: ${{ env.PERSONAL_ACCESS_TOKEN }}