Skip to content

Remove Python 3.12 from default test matrix#3763

Merged
lunkwill42 merged 1 commit into5.16.xfrom
chore/remove-py312-from-matrix
Feb 6, 2026
Merged

Remove Python 3.12 from default test matrix#3763
lunkwill42 merged 1 commit into5.16.xfrom
chore/remove-py312-from-matrix

Conversation

@lunkwill42
Copy link
Copy Markdown
Member

@lunkwill42 lunkwill42 commented Feb 6, 2026

Scope and purpose

Fixes #3741.

This removes 3.12 from the tox envlist (i.e. you can still explicitly invoke it, but it won't run when all environments are selected) and from the GitHub Actions test matrix.

This is mainly due to strange issues with race conditions and coverage measurements specifically on Python 3.12, that keep interfering with our CI on GitHub (i.e. even though all tests are green on 3.12, the test run fails because the coverage collector fails).

We still test on 3.11 and 3.13, and never plan to run NAV in production on 3.12 on our end anyway.

Contributor Checklist

Every pull request should have this checklist filled out, no matter how small it is.
More information about contributing to NAV can be found in the
Hacker's guide to NAV.

  • Added a changelog fragment for towncrier
  • Added/amended tests for new/changed code
  • Added/changed documentation
  • Linted/formatted the code with ruff, easiest by using pre-commit
  • Wrote the commit message so that the first line continues the sentence "If applied, this commit will ...", starts with a capital letter, does not end with punctuation and is 50 characters or less long. See https://cbea.ms/git-commit/
  • Based this pull request on the correct upstream branch: For a patch/bugfix affecting the latest stable version, it should be based on that version's branch (<major>.<minor>.x). For a new feature or other additions, it should be based on master.
  • If applicable: Created new issues if this PR does not fix the issue completely/there is further work to be done
  • If it's not obvious from a linked issue, described how to interact with NAV in order for a reviewer to observe the effects of this change first-hand (commands, URLs, UI interactions)
  • If this results in changes in the UI: Added screenshots of the before and after
  • If this adds a new Python source code file: Added the boilerplate header to that file

@lunkwill42 lunkwill42 force-pushed the chore/remove-py312-from-matrix branch from 4187ccf to 1b1dbc8 Compare February 6, 2026 08:33
@lunkwill42 lunkwill42 changed the base branch from master to 5.16.x February 6, 2026 08:33
This removes 3.12 from the tox envlist (i.e. you can still explicitly
invoke it, but it won't run when all environments are selected) and from
the GitHub Actions test matrix.

This is mainly due to strange issues with race conditions and coverage
measurements specifically on Python 3.12, that keep interfering with
our CI on GitHub (i.e. even though all tests are green on 3.12, the test
run fails because the coverage collector fails).

We still test on 3.11 and 3.13, and never plan to run NAV in production
on 3.12 on our end anyway.
@lunkwill42 lunkwill42 force-pushed the chore/remove-py312-from-matrix branch from 1b1dbc8 to a5a4dd1 Compare February 6, 2026 08:33
@lunkwill42 lunkwill42 requested a review from hmpf February 6, 2026 08:34
@lunkwill42 lunkwill42 self-assigned this Feb 6, 2026
@lunkwill42 lunkwill42 marked this pull request as ready for review February 6, 2026 08:34
@sonarqubecloud
Copy link
Copy Markdown

sonarqubecloud bot commented Feb 6, 2026

@lunkwill42 lunkwill42 requested a review from a team February 6, 2026 08:45
@github-actions
Copy link
Copy Markdown

github-actions bot commented Feb 6, 2026

Test results

    21 files      21 suites   24m 28s ⏱️
 2 778 tests  2 778 ✅ 0 💤 0 ❌
15 516 runs  15 516 ✅ 0 💤 0 ❌

Results for commit a5a4dd1.

@codecov
Copy link
Copy Markdown

codecov bot commented Feb 6, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 63.00%. Comparing base (6518c18) to head (a5a4dd1).
⚠️ Report is 2 commits behind head on 5.16.x.

Additional details and impacted files
@@            Coverage Diff             @@
##           5.16.x    #3763      +/-   ##
==========================================
- Coverage   63.04%   63.00%   -0.04%     
==========================================
  Files         614      614              
  Lines       45438    45438              
  Branches       43       43              
==========================================
- Hits        28647    28629      -18     
- Misses      16781    16799      +18     
  Partials       10       10              

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Copy link
Copy Markdown
Contributor

@Simrayz Simrayz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Chuck Norris Thumbs Up

@@ -0,0 +1 @@
Stopped CI testing on Python 3.12 by default
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

.. maybe also why

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sure, but that is more of a release notes thingy, methinks - and I didn't want to add those here, since this hits the 5.16 branch and I'm not sure if there will be another 5.16 release before 5.17.

Copy link
Copy Markdown
Contributor

@hmpf hmpf left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

See comment on changelog.

@lunkwill42 lunkwill42 merged commit 161deab into 5.16.x Feb 6, 2026
20 checks passed
@lunkwill42 lunkwill42 deleted the chore/remove-py312-from-matrix branch February 6, 2026 09:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Remove Python 3.12 from test matrix

4 participants