Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Incremental version 24.7.1 still breaks some projects's setuptools behaviour #106

Closed
potiuk opened this issue Jul 27, 2024 · 7 comments · Fixed by #107
Closed

Incremental version 24.7.1 still breaks some projects's setuptools behaviour #106

potiuk opened this issue Jul 27, 2024 · 7 comments · Fixed by #107
Labels

Comments

@potiuk
Copy link

potiuk commented Jul 27, 2024

The #100 in incremental 24.7.0 has been solved, but there is another breaking change remaining in 24.7.1.

In airlfow we are using virtualenv to create venvs and it seems that incremental initialization during virtualenv's intialization also break something by attempting to read pyproject.toml. Attempting to parse and fail in i__init__ where some inconsistency occurs is generally a bad idea when incremental is apprently somewhat plugged into setuptools/distutils (it looks like at least - why otherwise it would be initialized when python -m virtualenv got initialized?)

The error can be very easily reproduced using our images that we build in CI:

Run:

docker run -it  ghcr.io/apache/airflow/main/ci/python3.8:4535e08b862e2b7ff4f2a76de7124983d4efe9db

And follow it up with python -m virtualenv (without changing the current directory from /opt/airflow - which is where airlfow sources are present). Then it will fail with:

root@4051201568b7:/opt/airflow# python -m virtualenv
Traceback (most recent call last):
  File "/usr/local/lib/python3.8/runpy.py", line 185, in _run_module_as_main
    mod_name, mod_spec, code = _get_module_details(mod_name, _Error)
  File "/usr/local/lib/python3.8/runpy.py", line 144, in _get_module_details
    return _get_module_details(pkg_main_name, error)
  File "/usr/local/lib/python3.8/runpy.py", line 111, in _get_module_details
    __import__(pkg_name)
  File "/usr/local/lib/python3.8/site-packages/virtualenv/__init__.py", line 3, in <module>
    from .run import cli_run, session_via_cli
  File "/usr/local/lib/python3.8/site-packages/virtualenv/run/__init__.py", line 15, in <module>
    from .plugin.creators import CreatorSelector
  File "/usr/local/lib/python3.8/site-packages/virtualenv/run/plugin/creators.py", line 7, in <module>
    from virtualenv.create.via_global_ref.builtin.builtin_way import VirtualenvBuiltin
  File "/usr/local/lib/python3.8/site-packages/virtualenv/create/via_global_ref/builtin/builtin_way.py", line 5, in <module>
    from virtualenv.create.creator import Creator
  File "/usr/local/lib/python3.8/site-packages/virtualenv/create/creator.py", line 13, in <module>
    from virtualenv.discovery.cached_py_info import LogCmd
  File "/usr/local/lib/python3.8/site-packages/virtualenv/discovery/cached_py_info.py", line 25, in <module>
    _CACHE[Path(sys.executable)] = PythonInfo()
  File "/usr/local/lib/python3.8/site-packages/virtualenv/discovery/py_info.py", line 100, in __init__
    self.distutils_install = self._distutils_install().copy()
  File "/usr/local/lib/python3.8/site-packages/virtualenv/discovery/py_info.py", line 182, in _distutils_install
    d = dist.Distribution({"script_args": "--no-user-cfg"})  # conf files not parsed so they do not hijack paths
  File "/usr/local/lib/python3.8/site-packages/setuptools/dist.py", line 475, in __init__
    _Distribution.__init__(
  File "/usr/local/lib/python3.8/site-packages/setuptools/_distutils/dist.py", line 283, in __init__
    self.finalize_options()
  File "/usr/local/lib/python3.8/site-packages/setuptools/dist.py", line 904, in finalize_options
    ep(self)
  File "/usr/local/lib/python3.8/site-packages/incremental/__init__.py", line 402, in _get_setuptools_version
    config = _load_pyproject_toml("./pyproject.toml")
  File "/usr/local/lib/python3.8/site-packages/incremental/__init__.py", line 518, in _load_pyproject_toml
    path=_findPath(os.path.dirname(toml_path), package),
  File "/usr/local/lib/python3.8/site-packages/incremental/__init__.py", line 370, in _findPath
    raise ValueError(
ValueError: Can't find the directory of package apache-airflow: I looked in ./src/apache-airflow and ./apache-airflow

The pyproject.toml seems to be pretty correct, yet incremental fails.

Incremental is installed there in latest version.

root@141711ea4b00:/opt# pip freeze | grep incremental
incremental==24.7.1

Running the same command from a different directory works:

root@141711ea4b00:/opt# python -m virtualenv
usage: virtualenv [--version] [--with-traceback] [-v | -q] [--read-only-app-data] [--app-data APP_DATA] [--reset-app-data] [--upgrade-embed-wheels] [--discovery {builtin}] [-p py] [--try-first-with py_exe]
                  [--creator {builtin,cpython3-posix,venv}] [--seeder {app-data,pip}] [--no-seed] [--activators comma_sep_list] [--clear] [--no-vcs-ignore] [--system-site-packages] [--symlinks | --copies] [--no-download | --download]
                  [--extra-search-dir d [d ...]] [--pip version] [--setuptools version] [--wheel version] [--no-pip] [--no-setuptools] [--no-wheel] [--no-periodic-update] [--symlink-app-data] [--prompt prompt] [-h]
                  dest
virtualenv: error: the following arguments are required: dest

Also downgrading it to 22.10.0 works also from /opt/airflow:

root@141711ea4b00:/opt/airflow# pip install incremental==22.10.0
Collecting incremental==22.10.0
  Downloading incremental-22.10.0-py2.py3-none-any.whl.metadata (6.0 kB)
Downloading incremental-22.10.0-py2.py3-none-any.whl (16 kB)
Installing collected packages: incremental
  Attempting uninstall: incremental
    Found existing installation: incremental 24.7.0
    Uninstalling incremental-24.7.0:
      Successfully uninstalled incremental-24.7.0
Successfully installed incremental-22.10.0
WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager, possibly rendering your system unusable.It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv. Use the --root-user-action option if you know what you are doing and want to suppress this warning.
root@141711ea4b00:/opt/airflow# python -m virtualenv
usage: virtualenv [--version] [--with-traceback] [-v | -q] [--read-only-app-data] [--app-data APP_DATA] [--reset-app-data] [--upgrade-embed-wheels] [--discovery {builtin}] [-p py] [--try-first-with py_exe]
                  [--creator {builtin,cpython3-posix,venv}] [--seeder {app-data,pip}] [--no-seed] [--activators comma_sep_list] [--clear] [--no-vcs-ignore] [--system-site-packages] [--symlinks | --copies] [--no-download | --download]
                  [--extra-search-dir d [d ...]] [--pip version] [--setuptools version] [--wheel version] [--no-pip] [--no-setuptools] [--no-wheel] [--no-periodic-update] [--symlink-app-data] [--prompt prompt] [-h]
                  dest
virtualenv: error: the following arguments are required: dest
SystemExit: 2
potiuk added a commit to potiuk/airflow that referenced this issue Jul 27, 2024
The incremental library 24.7.0 and 24.7.1 have been broken
(the 24.7.0 has been yanked already but 24.7.1 has still a
breaking change - it plugs in setuptools/distutils in the way that
when virtualenv is invoked incremental will scan pyproject.toml
in the current directory and fails if it finds something that
it see as inconsistency (where it apparently is not). Unfortunately
it happens when just `python -m virtualenv` is invoked so generally
it breaks all our tests that are creating a virtualenv using it.

This is tracked in twisted/incremental#106
potiuk added a commit to apache/airflow that referenced this issue Jul 27, 2024
The incremental library 24.7.0 and 24.7.1 have been broken
(the 24.7.0 has been yanked already but 24.7.1 has still a
breaking change - it plugs in setuptools/distutils in the way that
when virtualenv is invoked incremental will scan pyproject.toml
in the current directory and fails if it finds something that
it see as inconsistency (where it apparently is not). Unfortunately
it happens when just `python -m virtualenv` is invoked so generally
it breaks all our tests that are creating a virtualenv using it.

This is tracked in twisted/incremental#106
@twm
Copy link
Contributor

twm commented Jul 27, 2024

Thank you for the thorough report, and apologies for the breakage.

It looks like this was introduced in #94, so it would also affect the yanked 24.7.0 release. I am currently working up a patch.

@potiuk
Copy link
Author

potiuk commented Jul 27, 2024

Thank you for the thorough report, and apologies for the breakage.

No worries. Happens :)

@twm
Copy link
Contributor

twm commented Jul 28, 2024

I have a fix ready over at #107. It is currently waiting for review.

If I install the package from CI (please disregard the version number):

# python -m pip install incremental-24.7.1-py3-none-any.whl --force-reinstall --no-deps

(I have to use --no-deps or it tries to upgrade setuptools and fails.

Then virtualenv seems to work:

root@aceedf37b248:/opt/airflow# python -m virtualenv venv
created virtual environment CPython3.8.19.final.0-64 in 353ms
  creator CPython3Posix(dest=/opt/airflow/venv, clear=False, no_vcs_ignore=False, global=False)
  seeder FromAppData(download=False, pip=bundle, setuptools=bundle, wheel=bundle, via=copy, app_data_dir=/root/.local/share/virtualenv)
    added seed packages: pip==24.1, setuptools==70.1.0, wheel==0.43.0
  activators BashActivator,CShellActivator,FishActivator,NushellActivator,PowerShellActivator,PythonActivator

@potiuk
Copy link
Author

potiuk commented Jul 28, 2024

Confirmed. Downloaded the package, installed it in the old image and it works for me as well. I also prepared a Draft PR in Airlfow to test the new version once it is out apache/airflow#41075

@potiuk
Copy link
Author

potiuk commented Jul 30, 2024

Running tests in apache/airflow#41075, we exclued both .0 and .1 but it would be great to yank .1 as well I think.

potiuk added a commit to potiuk/airflow that referenced this issue Jul 30, 2024
The twisted/incremental#106 issue has
been addressed in 24.7.2 so we are removing the limit - just in
case we also exclude the buggy versions, even if they are yanked.
potiuk added a commit to apache/airflow that referenced this issue Jul 30, 2024
* Remove incremental upper-bind limit

The twisted/incremental#106 issue has
been addressed in 24.7.2 so we are removing the limit - just in
case we also exclude the buggy versions, even if they are yanked.

* Skip DB isolation tests for www package

Related: #41067
@twm
Copy link
Contributor

twm commented Jul 30, 2024

I didn't want to yank 24.7.1 because that would disrupt the Twisted security release currently in progress (it contained a relevant bugfix). In my judgement the danger of breakage is much lower than with 24.7.0, and as 24.7.2 is out anyone who hasn't pinned a specific Incremental will get the fixed version.

I want to be cautious about yanking: the yank of 24.7.0 actually broke Twisted's build because it had a >=24.7.0 lower bound. I felt that shipping 24.7.2 was the lowest-risk option.

I'm open to being convinced otherwise, but those are my thoughts.

@potiuk
Copy link
Author

potiuk commented Jul 31, 2024

For us no problem - we already excluded it in apache/airflow#41075 so that should be no issue for us

potiuk added a commit to apache/airflow that referenced this issue Jul 31, 2024
The twisted/incremental#106 issue has
been addressed in 24.7.2 so we are removing the limit - just in
case we also exclude the buggy versions, even if they are yanked.
bjankie1 pushed a commit to bjankie1/airflow that referenced this issue Aug 18, 2024
The twisted/incremental#106 issue has
been addressed in 24.7.2 so we are removing the limit - just in
case we also exclude the buggy versions, even if they are yanked.
bjankie1 pushed a commit to bjankie1/airflow that referenced this issue Aug 18, 2024
The twisted/incremental#106 issue has
been addressed in 24.7.2 so we are removing the limit - just in
case we also exclude the buggy versions, even if they are yanked.
bjankie1 pushed a commit to bjankie1/airflow that referenced this issue Aug 18, 2024
The twisted/incremental#106 issue has
been addressed in 24.7.2 so we are removing the limit - just in
case we also exclude the buggy versions, even if they are yanked.
github-actions bot pushed a commit to aio-libs/aiohttp that referenced this issue Aug 20, 2024
Bumps [incremental](https://github.com/twisted/incremental) from 22.10.0
to 24.7.2.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/twisted/incremental/blob/trunk/NEWS.rst">incremental's
changelog</a>.</em></p>
<blockquote>
<h1>Incremental 24.7.2 (2024-07-29)</h1>
<h2>Bugfixes</h2>
<ul>
<li>
<p>Incremental could mis-identify that a project had opted in to version
management.</p>
<p>If a <code>pyproject.toml</code> in the current directory contained a
<code>[project]</code> table with a <code>name</code> key, but did not
contain the opt-in <code>[tool.incremental]</code> table, Incremental
would still treat the file as if the opt-in were present and attempt to
validate the configuration. This could happen in contexts outside of
packaging, such as when creating a virtualenv. When operating as a
setuptools plugin Incremental now always ignores invalid configuration,
such as configuration that doesn't match the content of the working
directory.
(<code>[#106](twisted/incremental#106)
&lt;https://github.com/twisted/incremental/issues/106&gt;</code>__)</p>
</li>
</ul>
<h1>Incremental 24.7.1 (2024-07-27)</h1>
<h2>Bugfixes</h2>
<ul>
<li>Incremental 24.7.0 would produce an error when parsing the
<code>pyproject.toml</code> of a project that lacked the
<code>use_incremental=True</code> or <code>[tool.incremental]</code>
opt-in markers if that file lacked a <code>[project]</code> section
containing the package name. This could cause a project that only uses
<code>pyproject.toml</code> to configure tools to fail to build if
Incremental is installed. Incremental now ignores such projects.
(<code>[#100](twisted/incremental#100)
&lt;https://github.com/twisted/incremental/issues/100&gt;</code>__)</li>
</ul>
<h2>Misc</h2>
<ul>
<li><code>[#101](twisted/incremental#101)
&lt;https://github.com/twisted/incremental/issues/101&gt;</code>__</li>
</ul>
<h1>Incremental 24.7.0 (2024-07-25)</h1>
<h2>Features</h2>
<ul>
<li>Incremental can now be configured using <code>pyproject.toml</code>.
(<code>[#90](twisted/incremental#90)
&lt;https://github.com/twisted/incremental/issues/90&gt;</code>__)</li>
<li>Incremental now provides a read-only <code>Hatchling version source
plugin
&lt;https://hatch.pypa.io/latest/plugins/version-source/reference/&gt;</code>_.
(<code>[#93](twisted/incremental#93)
&lt;https://github.com/twisted/incremental/issues/93&gt;</code>__)</li>
</ul>
<h2>Bugfixes</h2>
<ul>
<li>Incremental no longer inserts a dot before the rc version component
(i.e., <code>1.2.3rc1</code> instead of <code>1.2.3.rc1</code>),
resulting in version numbers in the <code>canonical format
&lt;https://packaging.python.org/en/latest/specifications/version-specifiers/#public-version-identifiers&gt;</code><strong>.
(<code>[#81](twisted/incremental#81)
&lt;https://github.com/twisted/incremental/issues/81&gt;</code></strong>)</li>
<li>Incremental's tests are now included in the sdist release artifact.
(<code>[#80](twisted/incremental#80)
&lt;https://github.com/twisted/incremental/issues/80&gt;</code>__)</li>
</ul>
<h2>Deprecations and Removals</h2>
<ul>
<li><code>incremental[scripts]</code> no longer depends on Twisted.
(<code>[#88](twisted/incremental#88)
&lt;https://github.com/twisted/incremental/issues/88&gt;</code>__)</li>
<li>Support for Python 2.7 has been dropped for lack of test
infrastructure. We no longer provide universal wheels.
(<code>[#86](twisted/incremental#86)
&lt;https://github.com/twisted/incremental/issues/86&gt;</code>__)</li>
<li>Support for Python 3.5, 3.6, and 3.7 has been dropped for lack of
test infrastructure.
(<code>[#92](twisted/incremental#92)
&lt;https://github.com/twisted/incremental/issues/92&gt;</code>__)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/twisted/incremental/commit/32be98f929cc45b6a1b588e865dcf8c220b6c7f6"><code>32be98f</code></a>
Release Incremental 24.7.2</li>
<li><a
href="https://github.com/twisted/incremental/commit/380e66970918027bc7fbbb393453de7cd8d7a555"><code>380e669</code></a>
Merge pull request <a
href="https://redirect.github.com/twisted/incremental/issues/107">#107</a>
from twisted/106-never-raise</li>
<li><a
href="https://github.com/twisted/incremental/commit/a559f5c770ec93c95abaadfc8693d7ae654c6e39"><code>a559f5c</code></a>
Allow syntax errors to propagate</li>
<li><a
href="https://github.com/twisted/incremental/commit/3d2cdb172c7d5c7e27903c0949128f0aa7888741"><code>3d2cdb1</code></a>
Cleanups to shorten the diff</li>
<li><a
href="https://github.com/twisted/incremental/commit/d2fe36fa5bb5bb13bfbeb3461154fadd5d709993"><code>d2fe36f</code></a>
Defense in depth</li>
<li><a
href="https://github.com/twisted/incremental/commit/d659ea0ed0f8518608f40065aa5e6ad6dd2a69be"><code>d659ea0</code></a>
There and back again</li>
<li><a
href="https://github.com/twisted/incremental/commit/11ad4133e2857b37f140bfee835135f8cf1b6ad0"><code>11ad413</code></a>
Update the readme</li>
<li><a
href="https://github.com/twisted/incremental/commit/0f7001c2bf5cc3d24f6d273067b2e88866bff6d1"><code>0f7001c</code></a>
Tidy up some comments</li>
<li><a
href="https://github.com/twisted/incremental/commit/4adf23bb48cfbc35e75d44c4863b2dc73d4e9563"><code>4adf23b</code></a>
Add newsfragment</li>
<li><a
href="https://github.com/twisted/incremental/commit/b5ad0545b572ede441d73c35d8ff882f430e64d1"><code>b5ad054</code></a>
100% coverage, why not?</li>
<li>Additional commits viewable in <a
href="https://github.com/twisted/incremental/compare/incremental-22.10.0...incremental-24.7.2">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=incremental&package-manager=pip&previous-version=22.10.0&new-version=24.7.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
github-actions bot pushed a commit to aio-libs/aiohttp that referenced this issue Aug 21, 2024
Bumps [incremental](https://github.com/twisted/incremental) from 22.10.0
to 24.7.2.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/twisted/incremental/blob/trunk/NEWS.rst">incremental's
changelog</a>.</em></p>
<blockquote>
<h1>Incremental 24.7.2 (2024-07-29)</h1>
<h2>Bugfixes</h2>
<ul>
<li>
<p>Incremental could mis-identify that a project had opted in to version
management.</p>
<p>If a <code>pyproject.toml</code> in the current directory contained a
<code>[project]</code> table with a <code>name</code> key, but did not
contain the opt-in <code>[tool.incremental]</code> table, Incremental
would still treat the file as if the opt-in were present and attempt to
validate the configuration. This could happen in contexts outside of
packaging, such as when creating a virtualenv. When operating as a
setuptools plugin Incremental now always ignores invalid configuration,
such as configuration that doesn't match the content of the working
directory.
(<code>[#106](twisted/incremental#106)
&lt;https://github.com/twisted/incremental/issues/106&gt;</code>__)</p>
</li>
</ul>
<h1>Incremental 24.7.1 (2024-07-27)</h1>
<h2>Bugfixes</h2>
<ul>
<li>Incremental 24.7.0 would produce an error when parsing the
<code>pyproject.toml</code> of a project that lacked the
<code>use_incremental=True</code> or <code>[tool.incremental]</code>
opt-in markers if that file lacked a <code>[project]</code> section
containing the package name. This could cause a project that only uses
<code>pyproject.toml</code> to configure tools to fail to build if
Incremental is installed. Incremental now ignores such projects.
(<code>[#100](twisted/incremental#100)
&lt;https://github.com/twisted/incremental/issues/100&gt;</code>__)</li>
</ul>
<h2>Misc</h2>
<ul>
<li><code>[#101](twisted/incremental#101)
&lt;https://github.com/twisted/incremental/issues/101&gt;</code>__</li>
</ul>
<h1>Incremental 24.7.0 (2024-07-25)</h1>
<h2>Features</h2>
<ul>
<li>Incremental can now be configured using <code>pyproject.toml</code>.
(<code>[#90](twisted/incremental#90)
&lt;https://github.com/twisted/incremental/issues/90&gt;</code>__)</li>
<li>Incremental now provides a read-only <code>Hatchling version source
plugin
&lt;https://hatch.pypa.io/latest/plugins/version-source/reference/&gt;</code>_.
(<code>[#93](twisted/incremental#93)
&lt;https://github.com/twisted/incremental/issues/93&gt;</code>__)</li>
</ul>
<h2>Bugfixes</h2>
<ul>
<li>Incremental no longer inserts a dot before the rc version component
(i.e., <code>1.2.3rc1</code> instead of <code>1.2.3.rc1</code>),
resulting in version numbers in the <code>canonical format
&lt;https://packaging.python.org/en/latest/specifications/version-specifiers/#public-version-identifiers&gt;</code><strong>.
(<code>[#81](twisted/incremental#81)
&lt;https://github.com/twisted/incremental/issues/81&gt;</code></strong>)</li>
<li>Incremental's tests are now included in the sdist release artifact.
(<code>[#80](twisted/incremental#80)
&lt;https://github.com/twisted/incremental/issues/80&gt;</code>__)</li>
</ul>
<h2>Deprecations and Removals</h2>
<ul>
<li><code>incremental[scripts]</code> no longer depends on Twisted.
(<code>[#88](twisted/incremental#88)
&lt;https://github.com/twisted/incremental/issues/88&gt;</code>__)</li>
<li>Support for Python 2.7 has been dropped for lack of test
infrastructure. We no longer provide universal wheels.
(<code>[#86](twisted/incremental#86)
&lt;https://github.com/twisted/incremental/issues/86&gt;</code>__)</li>
<li>Support for Python 3.5, 3.6, and 3.7 has been dropped for lack of
test infrastructure.
(<code>[#92](twisted/incremental#92)
&lt;https://github.com/twisted/incremental/issues/92&gt;</code>__)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/twisted/incremental/commit/32be98f929cc45b6a1b588e865dcf8c220b6c7f6"><code>32be98f</code></a>
Release Incremental 24.7.2</li>
<li><a
href="https://github.com/twisted/incremental/commit/380e66970918027bc7fbbb393453de7cd8d7a555"><code>380e669</code></a>
Merge pull request <a
href="https://redirect.github.com/twisted/incremental/issues/107">#107</a>
from twisted/106-never-raise</li>
<li><a
href="https://github.com/twisted/incremental/commit/a559f5c770ec93c95abaadfc8693d7ae654c6e39"><code>a559f5c</code></a>
Allow syntax errors to propagate</li>
<li><a
href="https://github.com/twisted/incremental/commit/3d2cdb172c7d5c7e27903c0949128f0aa7888741"><code>3d2cdb1</code></a>
Cleanups to shorten the diff</li>
<li><a
href="https://github.com/twisted/incremental/commit/d2fe36fa5bb5bb13bfbeb3461154fadd5d709993"><code>d2fe36f</code></a>
Defense in depth</li>
<li><a
href="https://github.com/twisted/incremental/commit/d659ea0ed0f8518608f40065aa5e6ad6dd2a69be"><code>d659ea0</code></a>
There and back again</li>
<li><a
href="https://github.com/twisted/incremental/commit/11ad4133e2857b37f140bfee835135f8cf1b6ad0"><code>11ad413</code></a>
Update the readme</li>
<li><a
href="https://github.com/twisted/incremental/commit/0f7001c2bf5cc3d24f6d273067b2e88866bff6d1"><code>0f7001c</code></a>
Tidy up some comments</li>
<li><a
href="https://github.com/twisted/incremental/commit/4adf23bb48cfbc35e75d44c4863b2dc73d4e9563"><code>4adf23b</code></a>
Add newsfragment</li>
<li><a
href="https://github.com/twisted/incremental/commit/b5ad0545b572ede441d73c35d8ff882f430e64d1"><code>b5ad054</code></a>
100% coverage, why not?</li>
<li>Additional commits viewable in <a
href="https://github.com/twisted/incremental/compare/incremental-22.10.0...incremental-24.7.2">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=incremental&package-manager=pip&previous-version=22.10.0&new-version=24.7.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
molcay pushed a commit to VladaZakharova/airflow that referenced this issue Sep 16, 2024
The twisted/incremental#106 issue has
been addressed in 24.7.2 so we are removing the limit - just in
case we also exclude the buggy versions, even if they are yanked.
molcay pushed a commit to VladaZakharova/airflow that referenced this issue Sep 17, 2024
The twisted/incremental#106 issue has
been addressed in 24.7.2 so we are removing the limit - just in
case we also exclude the buggy versions, even if they are yanked.
kosteev pushed a commit to GoogleCloudPlatform/composer-airflow that referenced this issue Nov 9, 2024
The incremental library 24.7.0 and 24.7.1 have been broken
(the 24.7.0 has been yanked already but 24.7.1 has still a
breaking change - it plugs in setuptools/distutils in the way that
when virtualenv is invoked incremental will scan pyproject.toml
in the current directory and fails if it finds something that
it see as inconsistency (where it apparently is not). Unfortunately
it happens when just `python -m virtualenv` is invoked so generally
it breaks all our tests that are creating a virtualenv using it.

This is tracked in twisted/incremental#106

GitOrigin-RevId: fad5e5e9d494f0cf81f35993f5fd0f6f047a3b75
kosteev pushed a commit to GoogleCloudPlatform/composer-airflow that referenced this issue Nov 9, 2024
* Remove incremental upper-bind limit

The twisted/incremental#106 issue has
been addressed in 24.7.2 so we are removing the limit - just in
case we also exclude the buggy versions, even if they are yanked.

* Skip DB isolation tests for www package

Related: #41067
GitOrigin-RevId: 63e7c6354a8e59ac625c88f61cf8730f60d4a6b3
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 a pull request may close this issue.

2 participants