Skip to content

Update dependency coverage to v7.10.2 #44

Update dependency coverage to v7.10.2

Update dependency coverage to v7.10.2 #44

Workflow file for this run

name: Latest release
env:
CACHE_VERSION: 1
DEFAULT_PYTHON: "3.13"
# Only run on merges
on:
pull_request:
types: closed
branches:
- main
jobs:
publishing:
name: Build and publish Python 🐍 distributions 📦 to PyPI
runs-on: ubuntu-latest
environment: pypi
permissions:
contents: read # Required by actions/checkout
id-token: write # Needed for OIDC-based Trusted Publishing
# Only trigger on merges, not just closes
if: github.event.pull_request.merged == true
steps:
- name: Check out committed code
uses: actions/checkout@v4
- name: Prepare uv
run: |
pip install uv
uv venv --seed venv
. venv/bin/activate
uv pip install toml
- name: Check for existing package on PyPI
id: check_package
run: |
. venv/bin/activate
PACKAGE_VERSION=$(python -c "import toml; print(toml.load('pyproject.toml')['project']['version'])")
PACKAGE_NAME=$(python -c "import toml; print(toml.load('pyproject.toml')['project']['name'])")
echo "Checking for package: $PACKAGE_NAME==$PACKAGE_VERSION"
if curl -s "https://pypi.org/pypi/$PACKAGE_NAME/json" | jq -r '.releases | keys[]' | grep -q "^$PACKAGE_VERSION$"; then
echo "Package version already exists. Skipping upload."
echo "should_publish=false" >> $GITHUB_OUTPUT
else
echo "Package version does not exist. Proceeding with upload."
echo "should_publish=true" >> $GITHUB_OUTPUT
fi
- name: Build
if: steps.check_package.outputs.should_publish == 'true'
run: |
. venv/bin/activate
uv build
- name: Publish distribution 📦 to PyPI
if: steps.check_package.outputs.should_publish == 'true'
run: |
. venv/bin/activate
uv publish