/ .github / workflows / publish.yml
publish.yml
 1  name: Publish to PyPI
 2  
 3  on:
 4    release:
 5      types: [published]
 6  
 7  permissions:
 8    id-token: write
 9  
10  jobs:
11    build:
12      runs-on: ubuntu-latest
13      steps:
14        - uses: actions/checkout@v4
15  
16        - uses: actions/setup-python@v5
17          with:
18            python-version: "3.12"
19  
20        - uses: actions/setup-node@v4
21          with:
22            node-version: "20"
23  
24        - name: Build frontend
25          env:
26            CI: false
27          run: |
28            cd frontend
29            npm ci
30            npm run build
31  
32        - name: Install uv
33          uses: astral-sh/setup-uv@v4
34  
35        - name: Build package
36          run: uv build
37  
38        - name: Publish to PyPI
39          uses: pypa/gh-action-pypi-publish@release/v1