From 5676ce4ab9a96b74967d0bd3469cee2f77e008ce Mon Sep 17 00:00:00 2001 From: Eric Eastwood Date: Tue, 27 Oct 2026 09:34:38 -0500 Subject: [PATCH] Remove `tox.ini` (#20410) As far as I can tell, no one uses it. @reivilibre also asked this in [`#synapse-dev:matrix.org`](https://matrix.to/#/!i5D5LLct_DYG-4hQprLzrxdbZ580U9UB6AEgFnk6rZQ/$NrW3QmLEGgcjNqW-SaPZrS-EVwq1-9fO_Ds_1QIZX0E?via=element.io&via=matrix.org&via=starstruck.systems) and [`#element-backend-internal:matrix.org`](https://matrix.to/#/!SGNQGPGUwtcPBUotTL:matrix.org/$_rh3S79z4q1Q93SJ3ncQ_ZUzudks4Egan5dwutH2AKg?via=jki.re&via=element.io&via=matrix.org) on 2026-02-20 with a couple of :fire: emoji reactions in the public channel. As long as I've worked on Synapse, as far as I know, I've never used this for local dev. We no longer use this in CI. Noticed the file again while working on https://github.com/element-hq/synapse/pull/20359 --- .gitignore | 2 - changelog.d/20410.misc | 1 + synapse/__init__.py | 5 +- tox.ini | 104 ----------------------------------------- 4 files changed, 4 insertions(+), 108 deletions(-) create mode 100644 changelog.d/20410.misc delete mode 100644 tox.ini diff --git a/.gitignore b/.gitignore index 1e2937230c..e8495fad89 100644 --- a/.gitignore +++ b/.gitignore @@ -55,8 +55,6 @@ tmp/ /.coverage* /.mypy_cache/ /.ruff_cache/ -/.tox -/.tox-pg-container /build/ /coverage.* /dist/ diff --git a/changelog.d/20410.misc b/changelog.d/20410.misc new file mode 100644 index 0000000000..6136e4b3fb --- /dev/null +++ b/changelog.d/20410.misc @@ -0,0 +1 @@ +Remove unused `tox.ini`. diff --git a/synapse/__init__.py b/synapse/__init__.py index 1d28dc05a3..69413416ae 100644 --- a/synapse/__init__.py +++ b/synapse/__init__.py @@ -95,9 +95,10 @@ import synapse.util # noqa: E402 __version__ = synapse.util.SYNAPSE_VERSION +# Introduced for usage with SyTest to check that log contexts are correctly handled when +# running a real homeserver. (our own unit tests apply the same patch unconditionally, +# in `tests/__init__.py`.) if bool(os.environ.get("SYNAPSE_TEST_PATCH_LOG_CONTEXTS", False)): - # We import here so that we don't have to install a bunch of deps when - # running the packaging tox test. from synapse.util.patch_inline_callbacks import do_patch do_patch() diff --git a/tox.ini b/tox.ini deleted file mode 100644 index 6bb72147b9..0000000000 --- a/tox.ini +++ /dev/null @@ -1,104 +0,0 @@ -[tox] -envlist = py311, py312, py313, py314 - -# we require tox>=2.3.2 for the fix to https://github.com/tox-dev/tox/issues/208 -minversion = 2.3.2 - -# the tox-venv plugin makes tox use python's built-in `venv` module rather than -# the legacy `virtualenv` tool. `virtualenv` embeds its own `pip`, `setuptools`, -# etc, and ends up being rather unreliable. -requires = tox-venv - -[base] -deps = - python-subunit - junitxml - coverage - - # this is pinned since it's a bit of an obscure package. - coverage-enable-subprocess==1.0 - - # cyptography 2.2 requires setuptools >= 18.5 - # - # older versions of virtualenv (?) give us a virtualenv with the same - # version of setuptools as is installed on the system python (and tox runs - # virtualenv under python3, so we get the version of setuptools that is - # installed on that). - # - # anyway, make sure that we have a recent enough setuptools. - setuptools>=18.5 - - # we also need a semi-recent version of pip, because old ones fail to - # install the "enum34" dependency of cryptography. - pip>=10 - -# default settings for all tox environments -[testenv] -deps = - {[base]deps} -extras = - # install the optional dependendencies for tox environments without - # '-noextras' in their name - # (this requires tox 3) - !noextras: all - test - -setenv = - # use a postgres db for tox environments with "-postgres" in the name - # (see https://tox.readthedocs.io/en/3.20.1/config.html#factors-and-factor-conditional-settings) - postgres: SYNAPSE_POSTGRES = 1 - - # this is used by .coveragerc to refer to the top of our tree. - TOP={toxinidir} - -passenv = * - -commands = - # the "env" invocation enables coverage checking for sub-processes. This is - # particularly important when running trial with `-j`, since that will make - # it run tests in a subprocess, whose coverage would otherwise not be - # tracked. (It also makes an explicit `coverage run` command redundant.) - # - # (See https://coverage.readthedocs.io/en/coverage-5.3/subprocess.html. - # Note that the `coverage.process_startup()` call is done by - # `coverage-enable-subprocess`.) - # - # we use "env" rather than putting a value in `setenv` so that it is not - # inherited by other tox environments. - # - /usr/bin/env COVERAGE_PROCESS_START={toxinidir}/.coveragerc "{envbindir}/trial" {env:TRIAL_FLAGS:} {posargs:tests} {env:TOXSUFFIX:} - -# As of twisted 16.4, trial tries to import the tests as a package (previously -# it loaded the files explicitly), which means they need to be on the -# pythonpath. Our sdist doesn't include the 'tests' package, so normally it -# doesn't work within the tox virtualenv. -# -# As a workaround, we tell tox to do install with 'pip -e', which just -# creates a symlink to the project directory instead of unpacking the sdist. -# -# (An alternative to this would be to set PYTHONPATH to include the project -# directory. Note two problems with this: -# -# - if you set it via `setenv`, then it is also set during the 'install' -# phase, which inhibits unpacking the sdist, so the virtualenv isn't -# useful for anything else without setting PYTHONPATH similarly. -# -# - `synapse` is also loaded from PYTHONPATH so even if you only set -# PYTHONPATH for the test phase, we're still running the tests against -# the working copy rather than the contents of the sdist. So frankly -# you might as well use -e in the first place. -# -# ) -usedevelop=true - - - -[testenv:benchmark] -deps = - {[base]deps} - pyperf -setenv = - SYNAPSE_POSTGRES = 1 -commands = - python -m synmark {posargs:} -