From a0b503d99cfcfdbf775b216b1d9ec4fcf4054d2e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kamil=20Paduszyn=CC=81ski?= Date: Thu, 2 Nov 2023 13:27:50 +0100 Subject: [PATCH 1/4] =?UTF-8?q?=E2=9E=95=20Add=20`nox`?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pyproject.toml | 1 + 1 file changed, 1 insertion(+) diff --git a/pyproject.toml b/pyproject.toml index 04ebbbd..7dd16d2 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -13,6 +13,7 @@ dependencies = [] [project.optional-dependencies] dev = [ + "nox", "pre-commit", ] lint = [ From e0ab1cb8640560360b1afed17426d511209e89ad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kamil=20Paduszyn=CC=81ski?= Date: Thu, 2 Nov 2023 13:39:04 +0100 Subject: [PATCH 2/4] =?UTF-8?q?=F0=9F=94=A7=20Define=20Nox=20sessions=20in?= =?UTF-8?q?=20`noxfile.py`?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- noxfile.py | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 noxfile.py diff --git a/noxfile.py b/noxfile.py new file mode 100644 index 0000000..c0b2ba8 --- /dev/null +++ b/noxfile.py @@ -0,0 +1,35 @@ +import nox + +# Nox sessions and configuration +# https://nox.thea.codes/en/stable/config.html + + +@nox.session() +def black(session: nox.Session) -> None: + session.install("black") + session.run("black", "--check", "--diff", ".") + + +@nox.session() +def mypy(session: nox.Session) -> None: + session.install("-e", ".") + session.install("mypy") + session.run("mypy", "--install-types", "--non-interactive", ".") + + +@nox.session() +def ruff(session: nox.Session) -> None: + session.install("ruff") + session.run("ruff", "check", "--diff", ".") + + +@nox.session( + python=[ + "3.10", + "3.11", + "3.12", + ] +) +def test(session: nox.Session) -> None: + session.install("-e", ".[test]") + session.run("pytest") From 1b70a32b568dabd63078c9140551889fa3bdd57a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kamil=20Paduszyn=CC=81ski?= Date: Thu, 2 Nov 2023 13:39:25 +0100 Subject: [PATCH 3/4] =?UTF-8?q?=F0=9F=99=88=20Exclude=20the=20Nox=20cache?= =?UTF-8?q?=20from=20version=20control?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.gitignore b/.gitignore index 39ee305..9e809d1 100644 --- a/.gitignore +++ b/.gitignore @@ -24,3 +24,6 @@ dist/ # Coverage .coverage coverage.xml + +# Nox +.nox From 2e642ebd30aba370be10fda26c521a7be95007ce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kamil=20Paduszyn=CC=81ski?= Date: Thu, 2 Nov 2023 13:40:44 +0100 Subject: [PATCH 4/4] =?UTF-8?q?=F0=9F=93=9D=20Add=20the=20Nox=20badge?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 4409ff3..36c5d41 100644 --- a/README.md +++ b/README.md @@ -2,6 +2,7 @@ [![pre-commit](https://img.shields.io/badge/pre--commit-enabled-brightgreen?style=flat-square&logo=pre-commit)][pre-commit.ci] +[![nox](https://img.shields.io/badge/%F0%9F%A6%8A-Nox-D85E00.svg?style=flat-square)][nox] [![ruff](https://img.shields.io/endpoint?style=flat-square&url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json)][ruff] [![mypy](https://img.shields.io/badge/type--checked-mypy-blue?style=flat-square)][mypy] [![black](https://img.shields.io/badge/code%20style-black-black?style=flat-square)][black] @@ -36,5 +37,6 @@ Released under the [MIT License][license]. [gitmoji-website]: https://gitmoji.dev [license]: https://github.com/paduszyk/python-gitmojis/blob/main/LICENSE [mypy]: https://github.com/python/mypy +[nox]: https://github.com/wntrblm/nox [pre-commit.ci]: https://results.pre-commit.ci/latest/github/paduszyk/python-gitmojis/main [ruff]: https://github.com/astral-sh/ruff