diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 57cc42d..02f56e9 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -49,8 +49,25 @@ jobs: - name: Run tests run: pytest + # Start from an empty dist/ so only this release's files can be uploaded - name: Build sdist and wheel - run: python -m build + run: | + rm -rf dist + python -m build + + - name: Check only this version was built + env: + TAG: ${{ github.event.release.tag_name }} + run: | + VERSION="${TAG#v}" + ls -l dist/ + if [ "$(ls dist | wc -l)" -ne 2 ] \ + || [ ! -f "dist/gene_fetch-${VERSION}.tar.gz" ] \ + || [ ! -f "dist/gene_fetch-${VERSION}-py3-none-any.whl" ]; then + echo "::error::dist/ must contain exactly gene_fetch-${VERSION}.tar.gz and gene_fetch-${VERSION}-py3-none-any.whl" + exit 1 + fi + echo "✓ dist/ contains only version ${VERSION}" - name: Check distribution metadata run: twine check --strict dist/* @@ -80,3 +97,6 @@ jobs: - name: Publish to PyPI uses: pypa/gh-action-pypi-publish@release/v1 + with: + # Skip files already on PyPI, so a partly-failed release can be re-run + skip-existing: true diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..6f22605 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +dist/ +__pycache__/ +*.egg-info/ +.venv/ diff --git a/dist/gene_fetch-1.0.16-py3-none-any.whl b/dist/gene_fetch-1.0.16-py3-none-any.whl deleted file mode 100644 index 1c54d52..0000000 Binary files a/dist/gene_fetch-1.0.16-py3-none-any.whl and /dev/null differ diff --git a/dist/gene_fetch-1.0.16.tar.gz b/dist/gene_fetch-1.0.16.tar.gz deleted file mode 100644 index 7b929bd..0000000 Binary files a/dist/gene_fetch-1.0.16.tar.gz and /dev/null differ diff --git a/dist/gene_fetch-1.0.17-py3-none-any.whl b/dist/gene_fetch-1.0.17-py3-none-any.whl deleted file mode 100644 index abdab5d..0000000 Binary files a/dist/gene_fetch-1.0.17-py3-none-any.whl and /dev/null differ diff --git a/dist/gene_fetch-1.0.17.tar.gz b/dist/gene_fetch-1.0.17.tar.gz deleted file mode 100644 index 0789672..0000000 Binary files a/dist/gene_fetch-1.0.17.tar.gz and /dev/null differ diff --git a/dist/gene_fetch-1.0.18-py3-none-any.whl b/dist/gene_fetch-1.0.18-py3-none-any.whl deleted file mode 100644 index 5acb204..0000000 Binary files a/dist/gene_fetch-1.0.18-py3-none-any.whl and /dev/null differ diff --git a/dist/gene_fetch-1.0.18.tar.gz b/dist/gene_fetch-1.0.18.tar.gz deleted file mode 100644 index a870886..0000000 Binary files a/dist/gene_fetch-1.0.18.tar.gz and /dev/null differ diff --git a/dist/gene_fetch-1.0.19-py3-none-any.whl b/dist/gene_fetch-1.0.19-py3-none-any.whl deleted file mode 100644 index 943df43..0000000 Binary files a/dist/gene_fetch-1.0.19-py3-none-any.whl and /dev/null differ diff --git a/dist/gene_fetch-1.0.19.tar.gz b/dist/gene_fetch-1.0.19.tar.gz deleted file mode 100644 index 919a4eb..0000000 Binary files a/dist/gene_fetch-1.0.19.tar.gz and /dev/null differ diff --git a/dist/gene_fetch-1.0.20-py3-none-any.whl b/dist/gene_fetch-1.0.20-py3-none-any.whl deleted file mode 100644 index a165a07..0000000 Binary files a/dist/gene_fetch-1.0.20-py3-none-any.whl and /dev/null differ diff --git a/dist/gene_fetch-1.0.20.tar.gz b/dist/gene_fetch-1.0.20.tar.gz deleted file mode 100644 index 1b6bce3..0000000 Binary files a/dist/gene_fetch-1.0.20.tar.gz and /dev/null differ