anntzer / defopt

Effortless argument parser
https://pypi.org/project/defopt/
MIT License
214 stars 11 forks source link

Add noxfile #93

Closed Spectre5 closed 2 years ago

Spectre5 commented 3 years ago

This PR comes without any previous discussion, so please feel free to just close this if it is undesired.

This adds a noxfile to automatically run the tests, coverage, and docs. I've setup the Nox sessions to run essentially the same thing that is done in GitHub actions and the same way that read the docs should be building the docs. Using Nox was helpful in my last PR.

If you're unfamiliar with Nox, it is similar to tox but uses a Python file to run the various sessions. So with this, you can just run nox to run all tests on each Python version (use pyenv to manage them) and build the documentation locally.

https://nox.thea.codes/en/stable/index.html

I personally use pipx to install and manage nox.

anntzer commented 3 years ago

Can you rebase the PR to exclude the commits related to you previous PR? Unfortunately it looks like the manual merge up is confusing the github interface.

Spectre5 commented 3 years ago

Ok, think I got it fixed

Spectre5 commented 3 years ago

Pushed two more changes:

Spectre5 commented 3 years ago

I'm not sure what happened here. I didn't close this, it isn't merged, and I can't reopen it.

Edit - ok, I accidentally had force-pushed after a reset without re-committing the two changed files! Fixed that.

Spectre5 commented 2 years ago

Ok, I've used COVERAGE_FILE in the latest build. I've also added running with the oldest supported versions (same as those in the build.yml file). This means the tests takes twice as long, but they are fairly quick. Another option would be to not run the old version tests by default, only if supplied another argument, e.g. nox --old or something. Could use the posargs to check for --old or else skip those tests, or remove the parameterization and have a separate settion "tests_old" that is not run by default. Then it could be run by executing nox -s tests_old.