Skip to content

Commit

Permalink
chore: Update publish github workflow to check package versions befor…
Browse files Browse the repository at this point in the history
…e publishing (#19)
  • Loading branch information
zakiali authored Sep 4, 2024
1 parent 1c440d6 commit bdee4f7
Showing 1 changed file with 18 additions and 0 deletions.
18 changes: 18 additions & 0 deletions .github/workflows/pypi_release.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,26 @@ jobs:
- name: Build with UV
run: uvx --from build pyproject-build --installer uv

- name: Check version
id: check_version
run: |
PACKAGE_NAME=$(grep '^name =' pyproject.toml | sed -E 's/name = "(.*)"/\1/')
TAG_VERSION=$(echo "$GITHUB_REF" | sed -E 's/refs\/tags\/v(.+)/\1/')
CURRENT_VERSION=$(curl -s https://pypi.org/pypi/$PACKAGE_NAME/json | jq -r .info.version)
PROJECT_VERSION=$(grep '^version =' pyproject.toml | sed -E 's/version = "(.*)"/\1/')
if [ "$TAG_VERSION" != "$PROJECT_VERSION" ]; then
echo "Tag version does not match version in pyproject.toml"
exit 1
fi
if python -c "from packaging.version import parse as parse_version; exit(0 if parse_version('$TAG_VERSION') > parse_version('$CURRENT_VERSION') else 1)"; then
echo "new_version=true" >> $GITHUB_OUTPUT
else
exit 1
fi
- name: Publish
uses: pypa/[email protected]
if: steps.check_version.outputs.new_version == 'true'
with:
user: __token__
password: ${{ secrets.PYPI_TOKEN_TEMP }}
Expand Down

0 comments on commit bdee4f7

Please sign in to comment.