Conversation
|
@ocefpaf Is some of this the new way to do packaging, in particular removing the setup.* files? Stresses me out. Did you do it correctly? |
Yes. See https://peps.python.org/pep-0518/ and https://peps.python.org/pep-0517/ for more info. Python packaging rarely requires a setup.py nowadays.
Sorry for the stress. Feel free to close it. Regarding correctness. We can add a packaging tests here, build sdist and wheel for upload, to ensure things work. |
No! That's not what I meant, I meant that I don't feel in a good position to check it and it always feels a bit like magic. You're right, a test would be a good way! And thanks for the resources, I need to keep updating my understanding of how things work. |
The release GitHub Actions now:
That should help avoid any regressions. |
QuLogic
left a comment
There was a problem hiding this comment.
I seem to have not posted this somehow.
.github/workflows/release.yaml
Outdated
| run: > | ||
| cd dist | ||
| && python -m twine check * | ||
| && python -m pip install *.whl | ||
| && cp --recursive ../tests . | ||
| && python -m pytest -rxs tests |
There was a problem hiding this comment.
I don't think you need the && if you don't fold everything into one line:
| run: > | |
| cd dist | |
| && python -m twine check * | |
| && python -m pip install *.whl | |
| && cp --recursive ../tests . | |
| && python -m pytest -rxs tests | |
| run: | | |
| cd dist | |
| python -m twine check * | |
| python -m pip install *.whl | |
| cp --recursive ../tests . | |
| pytest -rxs tests |
There was a problem hiding this comment.
I believe that, if something errors out, it continues with the next command in your form.
There was a problem hiding this comment.
The default shell is bash -e, which will fail the whole thing on the first command that fails.
And as a test:
$ bash -e <<EOF
false
echo yes
EOF
prints nothing as the first command failed.
I was chasing a red-herring due to a bad pinned version in an environment and ended up adding more Pythons to the test matrix here. No need code, just boilerplate updates.