From 1f5c91fdb3eafb3c3a6709682bf8aaeebfa53f69 Mon Sep 17 00:00:00 2001 From: Saurav Sharma Date: Wed, 28 Feb 2024 14:47:06 +0530 Subject: [PATCH 01/13] Fix: Omit tests directory from code coverage --- setup.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.cfg b/setup.cfg index fbbc9113..86778fe4 100644 --- a/setup.cfg +++ b/setup.cfg @@ -43,7 +43,7 @@ hiredis = redis[hiredis]>=4.0.2 [coverage:run] omit = - tests/*, + tests/* [coverage:report] precision = 1 From c9fedb33d1a70a22e0fdc56d7dd27dabc2635889 Mon Sep 17 00:00:00 2001 From: Saurav Sharma Date: Wed, 28 Feb 2024 15:37:36 +0530 Subject: [PATCH 02/13] Add verbose for pytest command --- setup.cfg | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/setup.cfg b/setup.cfg index 86778fe4..52132cc6 100644 --- a/setup.cfg +++ b/setup.cfg @@ -80,18 +80,18 @@ REDIS = [testenv] passenv = CI, GITHUB* commands = - {envpython} -m pytest --cov-report= --ds=settings.sqlite {posargs} - {envpython} -m pytest --cov-append --cov-report= --ds=settings.sqlite_herd {posargs} - {envpython} -m pytest --cov-append --cov-report= --ds=settings.sqlite_json {posargs} - {envpython} -m pytest --cov-append --cov-report= --ds=settings.sqlite_lz4 {posargs} - {envpython} -m pytest --cov-append --cov-report= --ds=settings.sqlite_msgpack {posargs} - {envpython} -m pytest --cov-append --cov-report= --ds=settings.sqlite_sentinel {posargs} - {envpython} -m pytest --cov-append --cov-report= --ds=settings.sqlite_sentinel_opts {posargs} - {envpython} -m pytest --cov-append --cov-report= --ds=settings.sqlite_sharding {posargs} - {envpython} -m pytest --cov-append --cov-report= --ds=settings.sqlite_usock {posargs} - {envpython} -m pytest --cov-append --cov-report= --ds=settings.sqlite_zlib {posargs} - {envpython} -m pytest --cov-append --cov-report= --ds=settings.sqlite_zstd {posargs} - {envpython} -m pytest --cov-append --cov-report= --ds=settings.sqlite_gzip {posargs} + {envpython} -m pytest -vv --cov-report= --ds=settings.sqlite {posargs} + {envpython} -m pytest -vv --cov-append --cov-report= --ds=settings.sqlite_herd {posargs} + {envpython} -m pytest -vv --cov-append --cov-report= --ds=settings.sqlite_json {posargs} + {envpython} -m pytest -vv --cov-append --cov-report= --ds=settings.sqlite_lz4 {posargs} + {envpython} -m pytest -vv --cov-append --cov-report= --ds=settings.sqlite_msgpack {posargs} + {envpython} -m pytest -vv --cov-append --cov-report= --ds=settings.sqlite_sentinel {posargs} + {envpython} -m pytest -vv --cov-append --cov-report= --ds=settings.sqlite_sentinel_opts {posargs} + {envpython} -m pytest -vv --cov-append --cov-report= --ds=settings.sqlite_sharding {posargs} + {envpython} -m pytest -vv --cov-append --cov-report= --ds=settings.sqlite_usock {posargs} + {envpython} -m pytest -vv --cov-append --cov-report= --ds=settings.sqlite_zlib {posargs} + {envpython} -m pytest -vv --cov-append --cov-report= --ds=settings.sqlite_zstd {posargs} + {envpython} -m pytest -vv --cov-append --cov-report= --ds=settings.sqlite_gzip {posargs} {envpython} -m coverage report {envpython} -m coverage xml From 3879b0028695d257665ae5f9ece817a1a935cacc Mon Sep 17 00:00:00 2001 From: Saurav Sharma Date: Wed, 28 Feb 2024 15:40:29 +0530 Subject: [PATCH 03/13] Fix: Omit tests directory from code coverage --- setup.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.cfg b/setup.cfg index 52132cc6..c1aa9724 100644 --- a/setup.cfg +++ b/setup.cfg @@ -43,7 +43,7 @@ hiredis = redis[hiredis]>=4.0.2 [coverage:run] omit = - tests/* + */tests/* [coverage:report] precision = 1 From 802223a76f3dcc0b1ef88389aab8a54be23a2043 Mon Sep 17 00:00:00 2001 From: Saurav Sharma Date: Wed, 28 Feb 2024 15:59:48 +0530 Subject: [PATCH 04/13] Fix: Omit tests directory from pytest via command --- setup.cfg | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/setup.cfg b/setup.cfg index c1aa9724..09f49237 100644 --- a/setup.cfg +++ b/setup.cfg @@ -80,18 +80,18 @@ REDIS = [testenv] passenv = CI, GITHUB* commands = - {envpython} -m pytest -vv --cov-report= --ds=settings.sqlite {posargs} - {envpython} -m pytest -vv --cov-append --cov-report= --ds=settings.sqlite_herd {posargs} - {envpython} -m pytest -vv --cov-append --cov-report= --ds=settings.sqlite_json {posargs} - {envpython} -m pytest -vv --cov-append --cov-report= --ds=settings.sqlite_lz4 {posargs} - {envpython} -m pytest -vv --cov-append --cov-report= --ds=settings.sqlite_msgpack {posargs} - {envpython} -m pytest -vv --cov-append --cov-report= --ds=settings.sqlite_sentinel {posargs} - {envpython} -m pytest -vv --cov-append --cov-report= --ds=settings.sqlite_sentinel_opts {posargs} - {envpython} -m pytest -vv --cov-append --cov-report= --ds=settings.sqlite_sharding {posargs} - {envpython} -m pytest -vv --cov-append --cov-report= --ds=settings.sqlite_usock {posargs} - {envpython} -m pytest -vv --cov-append --cov-report= --ds=settings.sqlite_zlib {posargs} - {envpython} -m pytest -vv --cov-append --cov-report= --ds=settings.sqlite_zstd {posargs} - {envpython} -m pytest -vv --cov-append --cov-report= --ds=settings.sqlite_gzip {posargs} + {envpython} -m pytest -vv -k 'not tests' --cov-report= --ds=settings.sqlite {posargs} + {envpython} -m pytest -vv -k 'not tests' --cov-append --cov-report= --ds=settings.sqlite_herd {posargs} + {envpython} -m pytest -vv -k 'not tests' --cov-append --cov-report= --ds=settings.sqlite_json {posargs} + {envpython} -m pytest -vv -k 'not tests' --cov-append --cov-report= --ds=settings.sqlite_lz4 {posargs} + {envpython} -m pytest -vv -k 'not tests' --cov-append --cov-report= --ds=settings.sqlite_msgpack {posargs} + {envpython} -m pytest -vv -k 'not tests' --cov-append --cov-report= --ds=settings.sqlite_sentinel {posargs} + {envpython} -m pytest -vv -k 'not tests' --cov-append --cov-report= --ds=settings.sqlite_sentinel_opts {posargs} + {envpython} -m pytest -vv -k 'not tests' --cov-append --cov-report= --ds=settings.sqlite_sharding {posargs} + {envpython} -m pytest -vv -k 'not tests' --cov-append --cov-report= --ds=settings.sqlite_usock {posargs} + {envpython} -m pytest -vv -k 'not tests' --cov-append --cov-report= --ds=settings.sqlite_zlib {posargs} + {envpython} -m pytest -vv -k 'not tests' --cov-append --cov-report= --ds=settings.sqlite_zstd {posargs} + {envpython} -m pytest -vv -k 'not tests' --cov-append --cov-report= --ds=settings.sqlite_gzip {posargs} {envpython} -m coverage report {envpython} -m coverage xml From f786c50fc55e8ecebf0974187e7bd00e8f6ba246 Mon Sep 17 00:00:00 2001 From: Saurav Sharma Date: Wed, 28 Feb 2024 16:04:15 +0530 Subject: [PATCH 05/13] Fix: Omit tests directory from pytest via command --- setup.cfg | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/setup.cfg b/setup.cfg index 09f49237..1b35db18 100644 --- a/setup.cfg +++ b/setup.cfg @@ -80,18 +80,18 @@ REDIS = [testenv] passenv = CI, GITHUB* commands = - {envpython} -m pytest -vv -k 'not tests' --cov-report= --ds=settings.sqlite {posargs} - {envpython} -m pytest -vv -k 'not tests' --cov-append --cov-report= --ds=settings.sqlite_herd {posargs} - {envpython} -m pytest -vv -k 'not tests' --cov-append --cov-report= --ds=settings.sqlite_json {posargs} - {envpython} -m pytest -vv -k 'not tests' --cov-append --cov-report= --ds=settings.sqlite_lz4 {posargs} - {envpython} -m pytest -vv -k 'not tests' --cov-append --cov-report= --ds=settings.sqlite_msgpack {posargs} - {envpython} -m pytest -vv -k 'not tests' --cov-append --cov-report= --ds=settings.sqlite_sentinel {posargs} - {envpython} -m pytest -vv -k 'not tests' --cov-append --cov-report= --ds=settings.sqlite_sentinel_opts {posargs} - {envpython} -m pytest -vv -k 'not tests' --cov-append --cov-report= --ds=settings.sqlite_sharding {posargs} - {envpython} -m pytest -vv -k 'not tests' --cov-append --cov-report= --ds=settings.sqlite_usock {posargs} - {envpython} -m pytest -vv -k 'not tests' --cov-append --cov-report= --ds=settings.sqlite_zlib {posargs} - {envpython} -m pytest -vv -k 'not tests' --cov-append --cov-report= --ds=settings.sqlite_zstd {posargs} - {envpython} -m pytest -vv -k 'not tests' --cov-append --cov-report= --ds=settings.sqlite_gzip {posargs} + {envpython} -m pytest -vv --ignore=tests/* --cov-report= --ds=settings.sqlite {posargs} + {envpython} -m pytest -vv --ignore=tests/* --cov-append --cov-report= --ds=settings.sqlite_herd {posargs} + {envpython} -m pytest -vv --ignore=tests/* --cov-append --cov-report= --ds=settings.sqlite_json {posargs} + {envpython} -m pytest -vv --ignore=tests/* --cov-append --cov-report= --ds=settings.sqlite_lz4 {posargs} + {envpython} -m pytest -vv --ignore=tests/* --cov-append --cov-report= --ds=settings.sqlite_msgpack {posargs} + {envpython} -m pytest -vv --ignore=tests/* --cov-append --cov-report= --ds=settings.sqlite_sentinel {posargs} + {envpython} -m pytest -vv --ignore=tests/* --cov-append --cov-report= --ds=settings.sqlite_sentinel_opts {posargs} + {envpython} -m pytest -vv --ignore=tests/* --cov-append --cov-report= --ds=settings.sqlite_sharding {posargs} + {envpython} -m pytest -vv --ignore=tests/* --cov-append --cov-report= --ds=settings.sqlite_usock {posargs} + {envpython} -m pytest -vv --ignore=tests/* --cov-append --cov-report= --ds=settings.sqlite_zlib {posargs} + {envpython} -m pytest -vv --ignore=tests/* --cov-append --cov-report= --ds=settings.sqlite_zstd {posargs} + {envpython} -m pytest -vv --ignore=tests/* --cov-append --cov-report= --ds=settings.sqlite_gzip {posargs} {envpython} -m coverage report {envpython} -m coverage xml From c01544277d1e2b8e9ab7ba56ea14c09193ab5d22 Mon Sep 17 00:00:00 2001 From: Saurav Sharma Date: Wed, 28 Feb 2024 16:12:15 +0530 Subject: [PATCH 06/13] Fix: Omit tests directory from coverage --- setup.cfg | 2 ++ 1 file changed, 2 insertions(+) diff --git a/setup.cfg b/setup.cfg index 1b35db18..3efe7507 100644 --- a/setup.cfg +++ b/setup.cfg @@ -48,6 +48,8 @@ omit = [coverage:report] precision = 1 skip_covered = true +omit = + */tests/* [tox:tox] minversion = 3.15.0 From 526df6faf56f9a54f22c55b5f5f6a60276867d78 Mon Sep 17 00:00:00 2001 From: Saurav Sharma Date: Wed, 28 Feb 2024 17:04:36 +0530 Subject: [PATCH 07/13] Fix: Omit tests directory from mypy --- setup.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.cfg b/setup.cfg index 3efe7507..a918e105 100644 --- a/setup.cfg +++ b/setup.cfg @@ -117,7 +117,7 @@ envdir={toxworkdir}/lint commands = black: black --target-version py36 {posargs:--check --diff} setup.py django_redis/ tests/ ruff: ruff {posargs:check --show-fixes} django_redis/ tests/ - mypy: mypy {posargs:--cobertura-xml-report .} django_redis tests + mypy: mypy {posargs:--cobertura-xml-report .} django_redis deps = black django-stubs From 774a8d85969ec061d4a71b42889bd1e0edfa64fa Mon Sep 17 00:00:00 2001 From: Saurav Sharma Date: Thu, 29 Feb 2024 15:11:28 +0530 Subject: [PATCH 08/13] Get code coverage report on the basis of flag management --- codecov.yml | 12 ++++++++++++ setup.cfg | 26 +++++++++++++------------- 2 files changed, 25 insertions(+), 13 deletions(-) create mode 100644 codecov.yml diff --git a/codecov.yml b/codecov.yml new file mode 100644 index 00000000..4c024b74 --- /dev/null +++ b/codecov.yml @@ -0,0 +1,12 @@ +comment: + layout: "header, diff, flags, components" + +flag_management: + individual_flags: + - name: tests + paths: + - django_redis/ + + - name: mypy + paths: + - django_redis/ \ No newline at end of file diff --git a/setup.cfg b/setup.cfg index a918e105..c6a9aa3b 100644 --- a/setup.cfg +++ b/setup.cfg @@ -82,18 +82,18 @@ REDIS = [testenv] passenv = CI, GITHUB* commands = - {envpython} -m pytest -vv --ignore=tests/* --cov-report= --ds=settings.sqlite {posargs} - {envpython} -m pytest -vv --ignore=tests/* --cov-append --cov-report= --ds=settings.sqlite_herd {posargs} - {envpython} -m pytest -vv --ignore=tests/* --cov-append --cov-report= --ds=settings.sqlite_json {posargs} - {envpython} -m pytest -vv --ignore=tests/* --cov-append --cov-report= --ds=settings.sqlite_lz4 {posargs} - {envpython} -m pytest -vv --ignore=tests/* --cov-append --cov-report= --ds=settings.sqlite_msgpack {posargs} - {envpython} -m pytest -vv --ignore=tests/* --cov-append --cov-report= --ds=settings.sqlite_sentinel {posargs} - {envpython} -m pytest -vv --ignore=tests/* --cov-append --cov-report= --ds=settings.sqlite_sentinel_opts {posargs} - {envpython} -m pytest -vv --ignore=tests/* --cov-append --cov-report= --ds=settings.sqlite_sharding {posargs} - {envpython} -m pytest -vv --ignore=tests/* --cov-append --cov-report= --ds=settings.sqlite_usock {posargs} - {envpython} -m pytest -vv --ignore=tests/* --cov-append --cov-report= --ds=settings.sqlite_zlib {posargs} - {envpython} -m pytest -vv --ignore=tests/* --cov-append --cov-report= --ds=settings.sqlite_zstd {posargs} - {envpython} -m pytest -vv --ignore=tests/* --cov-append --cov-report= --ds=settings.sqlite_gzip {posargs} + {envpython} -m pytest --cov-report= --ds=settings.sqlite {posargs} + {envpython} -m pytest --cov-append --cov-report= --ds=settings.sqlite_herd {posargs} + {envpython} -m pytest --cov-append --cov-report= --ds=settings.sqlite_json {posargs} + {envpython} -m pytest --cov-append --cov-report= --ds=settings.sqlite_lz4 {posargs} + {envpython} -m pytest --cov-append --cov-report= --ds=settings.sqlite_msgpack {posargs} + {envpython} -m pytest --cov-append --cov-report= --ds=settings.sqlite_sentinel {posargs} + {envpython} -m pytest --cov-append --cov-report= --ds=settings.sqlite_sentinel_opts {posargs} + {envpython} -m pytest --cov-append --cov-report= --ds=settings.sqlite_sharding {posargs} + {envpython} -m pytest --cov-append --cov-report= --ds=settings.sqlite_usock {posargs} + {envpython} -m pytest --cov-append --cov-report= --ds=settings.sqlite_zlib {posargs} + {envpython} -m pytest --cov-append --cov-report= --ds=settings.sqlite_zstd {posargs} + {envpython} -m pytest --cov-append --cov-report= --ds=settings.sqlite_gzip {posargs} {envpython} -m coverage report {envpython} -m coverage xml @@ -117,7 +117,7 @@ envdir={toxworkdir}/lint commands = black: black --target-version py36 {posargs:--check --diff} setup.py django_redis/ tests/ ruff: ruff {posargs:check --show-fixes} django_redis/ tests/ - mypy: mypy {posargs:--cobertura-xml-report .} django_redis + mypy: mypy {posargs:--cobertura-xml-report .} django_redis tests deps = black django-stubs From 5bbbfd1a7e9812851a13ac4410c960b706609d45 Mon Sep 17 00:00:00 2001 From: Saurav Sharma Date: Thu, 29 Feb 2024 15:24:53 +0530 Subject: [PATCH 09/13] Get code coverage report on the basis of flag management --- codecov.yml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/codecov.yml b/codecov.yml index 4c024b74..0f3a6356 100644 --- a/codecov.yml +++ b/codecov.yml @@ -6,7 +6,11 @@ flag_management: - name: tests paths: - django_redis/ + statuses: + - type: project - name: mypy paths: - - django_redis/ \ No newline at end of file + - django_redis/ + statuses: + - type: project \ No newline at end of file From 40c7c2c6f5c53b2e9d6660095b704117d09e5f6d Mon Sep 17 00:00:00 2001 From: Saurav Sharma Date: Thu, 29 Feb 2024 18:57:21 +0530 Subject: [PATCH 10/13] codecov.yml removed from project root and updated it in .github --- .github/codecov.yml | 3 +++ codecov.yml | 16 ---------------- 2 files changed, 3 insertions(+), 16 deletions(-) delete mode 100644 codecov.yml diff --git a/.github/codecov.yml b/.github/codecov.yml index 63bb9f46..857c502e 100644 --- a/.github/codecov.yml +++ b/.github/codecov.yml @@ -3,6 +3,9 @@ coverage: precision: 1 round: up + ignore: + - "tests/*" + status: project: default: diff --git a/codecov.yml b/codecov.yml deleted file mode 100644 index 0f3a6356..00000000 --- a/codecov.yml +++ /dev/null @@ -1,16 +0,0 @@ -comment: - layout: "header, diff, flags, components" - -flag_management: - individual_flags: - - name: tests - paths: - - django_redis/ - statuses: - - type: project - - - name: mypy - paths: - - django_redis/ - statuses: - - type: project \ No newline at end of file From 06adbb5b827d9bf5471098e0a99d589e19230593 Mon Sep 17 00:00:00 2001 From: Saurav Sharma Date: Fri, 1 Mar 2024 12:29:09 +0530 Subject: [PATCH 11/13] Upload mypy report to smokeshow --- .github/workflows/ci.yml | 10 ++++++++++ setup.cfg | 2 +- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 30b52ba9..5cb35e0d 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -139,6 +139,7 @@ jobs: run: | python -m pip install --upgrade pip python -m pip install --upgrade "tox<4" + python -m pip install --upgrade smokeshow - name: Run ${{ matrix.tool }} run: tox -e ${{ matrix.tool }} @@ -149,6 +150,15 @@ jobs: with: flags: mypy + - name: Upload mypy coverage + run: | + smokeshow upload mypy_report + env: + SMOKESHOW_GITHUB_STATUS_DESCRIPTION: MyPy Coverage {coverage-percentage} + # SMOKESHOW_GITHUB_COVERAGE_THRESHOLD: 90 + SMOKESHOW_GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + SMOKESHOW_GITHUB_PR_HEAD_SHA: ${{ github.event.pull_request.head.sha }} + check-changelog: name: Check for news fragments in 'changelog.d/' runs-on: ubuntu-latest diff --git a/setup.cfg b/setup.cfg index c6a9aa3b..aa687f89 100644 --- a/setup.cfg +++ b/setup.cfg @@ -117,7 +117,7 @@ envdir={toxworkdir}/lint commands = black: black --target-version py36 {posargs:--check --diff} setup.py django_redis/ tests/ ruff: ruff {posargs:check --show-fixes} django_redis/ tests/ - mypy: mypy {posargs:--cobertura-xml-report .} django_redis tests + mypy: mypy {posargs:--html-report mypy_report} django_redis tests deps = black django-stubs From ca099d0766f74b9a6857276c8cd7c37809dab5ef Mon Sep 17 00:00:00 2001 From: Saurav Sharma Date: Fri, 1 Mar 2024 12:37:06 +0530 Subject: [PATCH 12/13] Skip mypy report for codecov.io --- .github/workflows/ci.yml | 6 ------ 1 file changed, 6 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 5cb35e0d..6c87dfca 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -144,12 +144,6 @@ jobs: - name: Run ${{ matrix.tool }} run: tox -e ${{ matrix.tool }} - - name: Upload coverage - if: ${{ matrix.tool == 'mypy' }} - uses: codecov/codecov-action@v4 - with: - flags: mypy - - name: Upload mypy coverage run: | smokeshow upload mypy_report From 80b5d845bec1a544a8df15a2959e96dc6e5dfb8d Mon Sep 17 00:00:00 2001 From: Saurav Sharma Date: Fri, 1 Mar 2024 12:39:47 +0530 Subject: [PATCH 13/13] Fix: Upload mypy report to smokeshow --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 6c87dfca..44832b8c 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -148,7 +148,7 @@ jobs: run: | smokeshow upload mypy_report env: - SMOKESHOW_GITHUB_STATUS_DESCRIPTION: MyPy Coverage {coverage-percentage} + SMOKESHOW_GITHUB_STATUS_DESCRIPTION: MyPy Coverage # SMOKESHOW_GITHUB_COVERAGE_THRESHOLD: 90 SMOKESHOW_GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} SMOKESHOW_GITHUB_PR_HEAD_SHA: ${{ github.event.pull_request.head.sha }}