new file: .gitea/workflows/publish.yml
Publish Python package to PyPI / publish (push) Successful in 29s
Publish Python package to PyPI / publish (push) Successful in 29s
new file: .github/workflows/python-publish.yml new file: .gitignore new file: LICENSE modified: README.md modified: certbot_dns_netbox/dns_netbox.py modified: pyproject.toml
This commit is contained in:
1 parent
91562ae538
commit
f1e7737a07
7 files changed
+189
-40
No files matched your search
@@ -0,0 +1,42 @@
|
||||
name: Publish Python package to PyPI
|
||||
|
||||
on:
|
||||
push:
|
||||
tags:
|
||||
- "v*"
|
||||
|
||||
jobs:
|
||||
publish:
|
||||
runs-on: self-hosted
|
||||
|
||||
steps:
|
||||
- name: Check out repository
|
||||
uses: https://github.com/actions/checkout@v4
|
||||
|
||||
- name: Create virtual environment
|
||||
run: python3 -m venv .venv
|
||||
|
||||
- name: Install build tools
|
||||
run: .venv/bin/pip install --upgrade build twine
|
||||
|
||||
- name: Verify tag matches package version
|
||||
run: |
|
||||
TAG="${GITHUB_REF_NAME}"
|
||||
VERSION="$(grep -m1 '^version = ' pyproject.toml | cut -d '"' -f2)"
|
||||
if [ "$TAG" != "v$VERSION" ]; then
|
||||
echo "::error::Tag ${TAG} does not match package version v${VERSION}"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
- name: Build package
|
||||
run: .venv/bin/python3 -m build
|
||||
|
||||
- name: Check package
|
||||
run: .venv/bin/python3 -m twine check dist/*
|
||||
|
||||
- name: Publish to PyPI
|
||||
env:
|
||||
TWINE_USERNAME: __token__
|
||||
TWINE_PASSWORD: ${{ secrets.PYPI_API_TOKEN }}
|
||||
TWINE_NON_INTERACTIVE: "1"
|
||||
run: .venv/bin/python3 -m twine upload dist/*
|
||||
Reference in new issue
Block a user