From 43ff1a3ee104352e26e4404071743321f75194fc Mon Sep 17 00:00:00 2001 From: Stephen Kent Date: Sun, 27 Feb 2022 13:31:29 -0800 Subject: [PATCH 1/6] Add py.typed to template for PEP-561 compliance --- {{cookiecutter.project_name}}/py.typed | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 {{cookiecutter.project_name}}/py.typed diff --git a/{{cookiecutter.project_name}}/py.typed b/{{cookiecutter.project_name}}/py.typed new file mode 100644 index 0000000..e69de29 From ba1f804434e595957fa15ba7bd4a6447e83b3d84 Mon Sep 17 00:00:00 2001 From: Stephen Kent Date: Sun, 27 Feb 2022 15:31:33 -0800 Subject: [PATCH 2/6] Update coverage thresholds in template --- {{cookiecutter.project_name}}/.coveragerc | 2 +- {{cookiecutter.project_name}}/codecov.yml | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) create mode 100644 {{cookiecutter.project_name}}/codecov.yml diff --git a/{{cookiecutter.project_name}}/.coveragerc b/{{cookiecutter.project_name}}/.coveragerc index f922c58..42cd158 100644 --- a/{{cookiecutter.project_name}}/.coveragerc +++ b/{{cookiecutter.project_name}}/.coveragerc @@ -2,5 +2,5 @@ source = {{cookiecutter.project_slug}} [report] -fail_under = 0 +fail_under = 90 show_missing = True diff --git a/{{cookiecutter.project_name}}/codecov.yml b/{{cookiecutter.project_name}}/codecov.yml new file mode 100644 index 0000000..914f860 --- /dev/null +++ b/{{cookiecutter.project_name}}/codecov.yml @@ -0,0 +1,5 @@ +coverage: + status: + project: + default: + threshold: 0.2% From 9791b78e0b64f41d6e7ca3f58e277c66f0032598 Mon Sep 17 00:00:00 2001 From: Stephen Kent Date: Sun, 27 Feb 2022 15:32:42 -0800 Subject: [PATCH 3/6] Mention coverage reports in README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index b8245fc..b027379 100644 --- a/README.md +++ b/README.md @@ -8,6 +8,7 @@ A template for new Python projects, with: * black * flake8 * GitHub Actions support +* Coverage reports with codecov.io ## Usage From ede98defa842b05fb4c961e026b0456e7fe271fb Mon Sep 17 00:00:00 2001 From: Stephen Kent Date: Sun, 27 Feb 2022 19:42:05 -0800 Subject: [PATCH 4/6] Move coverage config to pyproject.toml --- {{cookiecutter.project_name}}/.coveragerc | 6 ------ {{cookiecutter.project_name}}/pyproject.toml | 7 +++++++ 2 files changed, 7 insertions(+), 6 deletions(-) delete mode 100644 {{cookiecutter.project_name}}/.coveragerc diff --git a/{{cookiecutter.project_name}}/.coveragerc b/{{cookiecutter.project_name}}/.coveragerc deleted file mode 100644 index 42cd158..0000000 --- a/{{cookiecutter.project_name}}/.coveragerc +++ /dev/null @@ -1,6 +0,0 @@ -[coverage:run] -source = {{cookiecutter.project_slug}} - -[report] -fail_under = 90 -show_missing = True diff --git a/{{cookiecutter.project_name}}/pyproject.toml b/{{cookiecutter.project_name}}/pyproject.toml index d796f53..61cdfb3 100644 --- a/{{cookiecutter.project_name}}/pyproject.toml +++ b/{{cookiecutter.project_name}}/pyproject.toml @@ -51,6 +51,13 @@ flake8 = { cmd = "flake8" } mypy = { cmd = "mypy" } pytest = { cmd = "pytest" } +[tool.coverage.run] +source = ["jmapc"] + +[tool.coverage.report] +fail_under = 95 +show_missing = true + [tool.isort] atomic = true profile = "black" From 1f0faef64f388bf645ea5f5d9153dccec1901683 Mon Sep 17 00:00:00 2001 From: Stephen Kent Date: Sun, 27 Feb 2022 20:37:14 -0800 Subject: [PATCH 5/6] Remove template script entry point, add module import test --- {{cookiecutter.project_name}}/pyproject.toml | 1 - {{cookiecutter.project_name}}/tests/test_main.py | 5 ----- {{cookiecutter.project_name}}/tests/test_module.py | 4 ++++ 3 files changed, 4 insertions(+), 6 deletions(-) delete mode 100644 {{cookiecutter.project_name}}/tests/test_main.py create mode 100644 {{cookiecutter.project_name}}/tests/test_module.py diff --git a/{{cookiecutter.project_name}}/pyproject.toml b/{{cookiecutter.project_name}}/pyproject.toml index 61cdfb3..2b63c8b 100644 --- a/{{cookiecutter.project_name}}/pyproject.toml +++ b/{{cookiecutter.project_name}}/pyproject.toml @@ -30,7 +30,6 @@ pytest-sugar = "*" tox = "*" [tool.poetry.scripts] -{{ cookiecutter.project_name }} = "{{ cookiecutter.project_slug }}.main:main" [tool.poetry-dynamic-versioning] enable = true diff --git a/{{cookiecutter.project_name}}/tests/test_main.py b/{{cookiecutter.project_name}}/tests/test_main.py deleted file mode 100644 index 4659d1e..0000000 --- a/{{cookiecutter.project_name}}/tests/test_main.py +++ /dev/null @@ -1,5 +0,0 @@ -from {{cookiecutter.project_slug}}.main import main - - -def test_main() -> None: - main() diff --git a/{{cookiecutter.project_name}}/tests/test_module.py b/{{cookiecutter.project_name}}/tests/test_module.py new file mode 100644 index 0000000..5e57b76 --- /dev/null +++ b/{{cookiecutter.project_name}}/tests/test_module.py @@ -0,0 +1,4 @@ +def test_import() -> None: + import {{cookiecutter.project_slug}} + + assert {{cookiecutter.project_slug}} From f8871b5e4202ead711ff884a385570813cc2d89e Mon Sep 17 00:00:00 2001 From: Stephen Kent Date: Sun, 27 Feb 2022 20:37:20 -0800 Subject: [PATCH 6/6] Reset template coverage test threshold back to 0% The template project has no code. Coverage is computed at 0%, which causes the template repository test to fail. Coverage should be increased after project creation. --- {{cookiecutter.project_name}}/pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/{{cookiecutter.project_name}}/pyproject.toml b/{{cookiecutter.project_name}}/pyproject.toml index 2b63c8b..43cd581 100644 --- a/{{cookiecutter.project_name}}/pyproject.toml +++ b/{{cookiecutter.project_name}}/pyproject.toml @@ -54,7 +54,7 @@ pytest = { cmd = "pytest" } source = ["jmapc"] [tool.coverage.report] -fail_under = 95 +fail_under = 0 show_missing = true [tool.isort]