Cybersecurity-Projects/PROJECTS/beginner/metadata-scrubber-tool/.github/workflows/publish.yml

39 lines
881 B
YAML

name: Publish to PyPI
on:
release:
types: [published]
jobs:
# The Safety Check
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: astral-sh/setup-uv@v5
- run: uv python install 3.10
- run: uv sync --all-extras --dev
- run: uv run pytest -x
# The Publisher
# This ONLY runs if 'test' passes successfully.
publish:
needs: test # <--- The Dependency You Requested
runs-on: ubuntu-latest
environment: pypi
permissions:
id-token: write # IMPORTANT: Required for Trusted Publishing
steps:
- uses: actions/checkout@v4
- name: Install uv
uses: astral-sh/setup-uv@v5
- name: Build package
run: uv build
- name: Publish to PyPI
# We use the official PyPA action for OIDC security
uses: pypa/gh-action-pypi-publish@release/v1