Skip to content

Update publish.yml

Update publish.yml #13

Workflow file for this run

name: Publish Python Package
on:
push:
pull_request:
jobs:
test:
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: "3.11" # Change as needed
- name: Install Dependencies
run: |
python -m pip install --upgrade pip
pip install -e .[dev] # Ensure pytest is in dev dependencies
- name: Run Tests
run: |
pytest --junitxml=pytest-report.xml --cov=eida-a10y #
- name: Upload Pytest Report
uses: actions/upload-artifact@v4
with:
name: pytest-report
path: pytest-report.xml
release-build:
runs-on: ubuntu-latest
needs: test
if: github.ref == 'refs/heads/main' || startsWith(github.ref, 'refs/tags/')
steps:
- name: Checkout Repository
uses: actions/checkout@v4
- name: Install UV
run: |
curl -LsSf https://astral.sh/uv/install.sh | sh
echo "$HOME/.local/bin" >> $GITHUB_PATH # Ensure UV is available
- name: Build Package with UV
run: |
uv build
- name: Upload Built Package
uses: actions/upload-artifact@v4
with:
name: release-dists
path: dist/
pypi-publish:
runs-on: ubuntu-latest
needs:
- release-build
permissions:
id-token: write # Enables OpenID Connect (No API token needed)
contents: read
environment: publish
steps:
- name: Retrieve Built Package
uses: actions/download-artifact@v4
with:
name: release-dists
path: dist/
- name: Publish to PyPI using UV
uses: pypa/[email protected]