eclipse / paho.mqtt.python

paho.mqtt.python
Other
2.13k stars 723 forks source link

CI: Test on newer Pythons; enable Python dev mode #771

Closed akx closed 6 months ago

akx commented 6 months ago

See https://docs.python.org/3.12/library/devmode.html#devmode for what PYTHONDEVMODE does.

akx commented 6 months ago

@PierreF Rebased, ready for review.

PierreF commented 6 months ago

The PR looks fine, we just broke "python setup.py test" command. I'm not sure whether is really used (I think the the release process, which might use use). Anyway, I'll have a look at #774 which should both cause few conflict with this PR and remove "setup.py" completely.

cclauss commented 6 months ago

https://setuptools.pypa.io/en/latest/deprecated/commands.html

running python setup.py directly as a script is considered deprecated. This also means that users should avoid running commands directly via python setup.py <command>.

akx commented 6 months ago

Yeah, breaking setup.py test was on purpose – there's no reference to it anywhere in the repo (other than in the makefile), so I figured it wasn't really needed (anymore)... But yeah, #774 will get rid of setup.py altogether.

PierreF commented 6 months ago

Confirmed that setup.py is not used for release, at least not how I do release (which I should document somewhere).

My process is currently:

Therefor this PR seems fine for me.

akx commented 6 months ago

My process is currently: ...

If it helps, the procedure I've built for python-babel is pretty slick these days – everything is done on GitHub Actions, and I just okay the release (via the release GHA environment requiring an accept gate). See https://github.com/python-babel/babel/blob/master/.github/workflows/ci.yml

PierreF commented 6 months ago

That true that making a release on CI is better than locally, as it ensure your local environment don't affect the release. I take not of your workflow and will consider it.