Cosmetic improvement to repository #9
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Publish to PyPI | |
on: | |
push: | |
tags: | |
- "v*" | |
permissions: | |
contents: write | |
jobs: | |
build-n-publish: | |
if: github.event.base_ref == 'refs/heads/main' || github.event.base_ref == 'refs/heads/master' | |
name: Publish to PyPI | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout source | |
uses: actions/checkout@v3 | |
with: | |
submodules: true | |
# versioneer.py requires the latest tag to be reachable. Here we | |
# fetch the complete history to get access to the tags. | |
# A shallow clone can work when the following issue is resolved: | |
# https://github.com/actions/checkout/issues/338 | |
fetch-depth: 0 | |
- name: Set up Python | |
uses: actions/setup-python@v4 | |
with: | |
python-version: "3.10" | |
- name: Build source and wheel distributions | |
run: | | |
python -m pip install --upgrade pip wheel twine tomli | |
python setup.py sdist bdist_wheel | |
twine check --strict dist/* | |
- name: Sanity check build | |
run: | | |
python -m pip install dist/*.gz | |
# python -c "import sample_package; print(sample_package.__version__)" | |
- name: Publish distribution 📦 to Test PyPI | |
uses: pypa/gh-action-pypi-publish@release/v1 | |
with: | |
password: ${{ secrets.TEST_PYPI_API_TOKEN }} | |
repository-url: https://test.pypi.org/legacy/ | |
- name: Publish distribution 📦 to PyPI | |
if: startsWith(github.ref, 'refs/tags') | |
uses: pypa/gh-action-pypi-publish@release/v1 | |
with: | |
password: ${{ secrets.PYPI_API_TOKEN }} | |
- name: Create GitHub Release | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
tag: ${{ github.ref_name }} | |
run: | | |
gh release create "$tag" \ | |
--repo="$GITHUB_REPOSITORY" \ | |
--title="${GITHUB_REPOSITORY#*/} ${tag#v}" \ | |
--generate-notes |