Skip to content

🐛 fix(config): restore skip_missing_interpreters default to False - #3966

Merged
gaborbernat merged 1 commit into
mainfrom
fix/constraints-constrain-package-deps-conflict
Jun 23, 2026
Merged

🐛 fix(config): restore skip_missing_interpreters default to False#3966
gaborbernat merged 1 commit into
mainfrom
fix/constraints-constrain-package-deps-conflict

Conversation

@gaborbernat

@gaborbernat gaborbernat commented Jun 23, 2026

Copy link
Copy Markdown
Member

The tox 4 rewrite unintentionally changed the default of skip_missing_interpreters from False to True. This means tox reports success even when configured environments can't find their Python interpreter — a typo in env_list or a genuinely missing interpreter goes unnoticed.

This restores the tox 3 behavior: missing interpreters fail the run by default. Users who rely on the current behavior can set skip_missing_interpreters = true in their tox config or pass --skip-missing-interpreters on the command line.

@gaborbernat
gaborbernat force-pushed the fix/constraints-constrain-package-deps-conflict branch from 0e2ec89 to d5e3422 Compare June 23, 2026 16:29
@gaborbernat gaborbernat changed the title fix: change skip_missing_interpreters default to False 🐛 fix(config): restore skip_missing_interpreters default to False Jun 23, 2026
@gaborbernat gaborbernat added the bug:normal affects many people or has quite an impact label Jun 23, 2026
@gaborbernat
gaborbernat force-pushed the fix/constraints-constrain-package-deps-conflict branch from d5e3422 to 44d221f Compare June 23, 2026 16:31
Restore the tox 3 behavior where missing interpreters fail the run by
default. The tox 4 rewrite silently changed this to True, which can hide
real configuration problems.
@gaborbernat
gaborbernat force-pushed the fix/constraints-constrain-package-deps-conflict branch from 44d221f to 7c4b2f5 Compare June 23, 2026 16:35
@gaborbernat
gaborbernat enabled auto-merge (squash) June 23, 2026 16:38
@gaborbernat
gaborbernat merged commit bfbc876 into main Jun 23, 2026
30 checks passed
@gaborbernat
gaborbernat deleted the fix/constraints-constrain-package-deps-conflict branch June 23, 2026 16:47
fghaas added a commit to fghaas/cleura-openstackclient that referenced this pull request Jun 24, 2026
In tox 4.56, released on 2026-06-23, tox restored the 3.x behaviour
(which it considers "correct") to fail on unavailable Python
interpreters, rather than skipping them.

Override this changed default by setting
skip_missing_interpreters = true, so that tox runs with whatever
Python is available.

References:
https://tox.wiki/en/latest/changelog.html#v4-56-0-2026-06-23
tox-dev/tox#3966
@fghaas

fghaas commented Jun 24, 2026

Copy link
Copy Markdown

I quite liked the changed default. :) xkcd1172

mrtmm pushed a commit to mrtmm/stackamole-xblock that referenced this pull request Jul 1, 2026
In tox 4.56, released on 2026-06-23, tox restored the 3.x behaviour
(which it considers "correct") to fail on unavailable Python
interpreters, rather than skipping them.

Override this changed default by setting
skip_missing_interpreters = true, so that tox runs with whatever
Python is available.

References:
https://tox.wiki/en/latest/changelog.html#v4-56-0-2026-06-23
tox-dev/tox#3966
mrtmm pushed a commit to mrtmm/tutor-contrib-backup that referenced this pull request Jul 3, 2026
In tox 4.56, released on 2026-06-23, tox restored the 3.x behaviour
(which it considers "correct") to fail on unavailable Python
interpreters, rather than skipping them.

Override this changed default by setting
skip_missing_interpreters = true, so that tox runs with whatever
Python is available.

References:
https://tox.wiki/en/latest/changelog.html#v4-56-0-2026-06-23
tox-dev/tox#3966
mrtmm pushed a commit to cleura/tutor-contrib-retirement that referenced this pull request Jul 3, 2026
In tox 4.56, released on 2026-06-23, tox restored the 3.x behaviour
(which it considers "correct") to fail on unavailable Python
interpreters, rather than skipping them.

Override this changed default by setting
skip_missing_interpreters = true, so that tox runs with whatever
Python is available.

References:
https://tox.wiki/en/latest/changelog.html#v4-56-0-2026-06-23
tox-dev/tox#3966
mrtmm pushed a commit to cleura/tutor-contrib-stackamole that referenced this pull request Jul 3, 2026
In tox 4.56, released on 2026-06-23, tox restored the 3.x behaviour
(which it considers "correct") to fail on unavailable Python
interpreters, rather than skipping them.

Override this changed default by setting
skip_missing_interpreters = true, so that tox runs with whatever
Python is available.

References:
https://tox.wiki/en/latest/changelog.html#v4-56-0-2026-06-23
tox-dev/tox#3966
mrtmm pushed a commit to cleura/tutor-contrib-s3 that referenced this pull request Jul 3, 2026
In tox 4.56, released on 2026-06-23, tox restored the 3.x behaviour
(which it considers "correct") to fail on unavailable Python
interpreters, rather than skipping them.

Override this changed default by setting
skip_missing_interpreters = true, so that tox runs with whatever
Python is available.

References:
https://tox.wiki/en/latest/changelog.html#v4-56-0-2026-06-23
tox-dev/tox#3966
mrtmm pushed a commit to cleura/tutor-contrib-webhook-receiver that referenced this pull request Jul 3, 2026
In tox 4.56, released on 2026-06-23, tox restored the 3.x behaviour
(which it considers "correct") to fail on unavailable Python
interpreters, rather than skipping them.

Override this changed default by setting
skip_missing_interpreters = true, so that tox runs with whatever
Python is available.

References:
https://tox.wiki/en/latest/changelog.html#v4-56-0-2026-06-23
tox-dev/tox#3966
mrtmm pushed a commit to cleura/tutor-contrib-enrollmentreports that referenced this pull request Jul 3, 2026
In tox 4.56, released on 2026-06-23, tox restored the 3.x behaviour
(which it considers "correct") to fail on unavailable Python
interpreters, rather than skipping them.

Override this changed default by setting
skip_missing_interpreters = true, so that tox runs with whatever
Python is available.

References:
https://tox.wiki/en/latest/changelog.html#v4-56-0-2026-06-23
tox-dev/tox#3966
mrtmm pushed a commit to cleura/tutor-contrib-registry that referenced this pull request Jul 3, 2026
In tox 4.56, released on 2026-06-23, tox restored the 3.x behaviour
(which it considers "correct") to fail on unavailable Python
interpreters, rather than skipping them.

Override this changed default by setting
skip_missing_interpreters = true, so that tox runs with whatever
Python is available.

References:
https://tox.wiki/en/latest/changelog.html#v4-56-0-2026-06-23
tox-dev/tox#3966
mrtmm pushed a commit to cleura/olx-utils that referenced this pull request Jul 3, 2026
In tox 4.56, released on 2026-06-23, tox restored the 3.x behaviour
(which it considers "correct") to fail on unavailable Python
interpreters, rather than skipping them.

Override this changed default by setting
skip_missing_interpreters = true, so that tox runs with whatever
Python is available.

References:
https://tox.wiki/en/latest/changelog.html#v4-56-0-2026-06-23
tox-dev/tox#3966
mrtmm pushed a commit to mrtmm/markdown-xblock that referenced this pull request Jul 3, 2026
In tox 4.56, released on 2026-06-23, tox restored the 3.x behaviour
(which it considers "correct") to fail on unavailable Python
interpreters, rather than skipping them.

Override this changed default by setting
skip_missing_interpreters = true, so that tox runs with whatever
Python is available.

References:
https://tox.wiki/en/latest/changelog.html#v4-56-0-2026-06-23
tox-dev/tox#3966
mrtmm pushed a commit to cleura/ansible-role-enrollmentreports that referenced this pull request Jul 3, 2026
In tox 4.56, released on 2026-06-23, tox restored the 3.x behaviour
(which it considers "correct") to fail on unavailable Python
interpreters, rather than skipping them.

Override this changed default by setting
skip_missing_interpreters = true, so that tox runs with whatever
Python is available.

References:
https://tox.wiki/en/latest/changelog.html#v4-56-0-2026-06-23
tox-dev/tox#3966
mrtmm pushed a commit to mrtmm/markdown-xblock that referenced this pull request Jul 3, 2026
In tox 4.56, released on 2026-06-23, tox restored the 3.x behaviour
(which it considers "correct") to fail on unavailable Python
interpreters, rather than skipping them.

Override this changed default by setting
skip_missing_interpreters = true, so that tox runs with whatever
Python is available.

References:
https://tox.wiki/en/latest/changelog.html#v4-56-0-2026-06-23
tox-dev/tox#3966
mrtmm pushed a commit to mrtmm/markdown-xblock that referenced this pull request Jul 3, 2026
In tox 4.56, released on 2026-06-23, tox restored the 3.x behaviour
(which it considers "correct") to fail on unavailable Python
interpreters, rather than skipping them.

Override this changed default by setting
skip_missing_interpreters = true, so that tox runs with whatever
Python is available.

References:
https://tox.wiki/en/latest/changelog.html#v4-56-0-2026-06-23
tox-dev/tox#3966
mrtmm pushed a commit to mrtmm/markdown-xblock that referenced this pull request Jul 3, 2026
In tox 4.56, released on 2026-06-23, tox restored the 3.x behaviour
(which it considers "correct") to fail on unavailable Python
interpreters, rather than skipping them.

Override this changed default by setting
skip_missing_interpreters = true, so that tox runs with whatever
Python is available.

References:
https://tox.wiki/en/latest/changelog.html#v4-56-0-2026-06-23
tox-dev/tox#3966
mrtmm pushed a commit to mrtmm/markdown-xblock that referenced this pull request Jul 3, 2026
In tox 4.56, released on 2026-06-23, tox restored the 3.x behaviour
(which it considers "correct") to fail on unavailable Python
interpreters, rather than skipping them.

Override this changed default by setting
skip_missing_interpreters = true, so that tox runs with whatever
Python is available.

References:
https://tox.wiki/en/latest/changelog.html#v4-56-0-2026-06-23
tox-dev/tox#3966
mrtmm pushed a commit to mrtmm/markdown-xblock that referenced this pull request Jul 7, 2026
In tox 4.56, released on 2026-06-23, tox restored the 3.x behaviour
(which it considers "correct") to fail on unavailable Python
interpreters, rather than skipping them.

Override this changed default by setting
skip_missing_interpreters = true, so that tox runs with whatever
Python is available.

References:
https://tox.wiki/en/latest/changelog.html#v4-56-0-2026-06-23
tox-dev/tox#3966
pbrezina added a commit to pbrezina/sssd-test-framework that referenced this pull request Jul 15, 2026
tox-gh does not recognize 3.x as a valid version and falls back to
letting tox choose the environments, therefore all envs are executed
even if 3.11 interpreter is not installed.

This was always broken, but hidden as tox's option
skip_missing_interpreters default to true, so 3.11 was executed but
skipped.

With tox-dev/tox#3966 and tox-4.96.0 the
default changed to false, making tox report an error that 3.11
interpreter could not be found on the 3.x matrix.
justin-stephenson pushed a commit to SSSD/sssd-test-framework that referenced this pull request Jul 15, 2026
tox-gh does not recognize 3.x as a valid version and falls back to
letting tox choose the environments, therefore all envs are executed
even if 3.11 interpreter is not installed.

This was always broken, but hidden as tox's option
skip_missing_interpreters default to true, so 3.11 was executed but
skipped.

With tox-dev/tox#3966 and tox-4.96.0 the
default changed to false, making tox report an error that 3.11
interpreter could not be found on the 3.x matrix.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bot:chronographer:provided bug:normal affects many people or has quite an impact

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants