opensafely-core / interactive-templates

Code to generate the reports generated by OpenSAFELY Interactive
Other
0 stars 0 forks source link

Bump hypothesis from 6.105.1 to 6.108.2 #379

Closed dependabot[bot] closed 1 month ago

dependabot[bot] commented 2 months ago

Bumps hypothesis from 6.105.1 to 6.108.2.

Commits
  • 6e7921e Bump hypothesis-python version to 6.108.2 and update changelog
  • a90c96f Merge pull request #4049 from Zac-HD/more-crosshair-compat
  • 476a7ce CI config for crosshair
  • 85712ad Disable target() on symbolic backends
  • 1021b16 Require latest crosshair
  • ef2b191 Defer types_with_core_strat until test runtime
  • 1f845e0 no eps required on alt backends
  • cb57aee Remove flaky decorator, obsolete docstring
  • dd17cff Bump hypothesis-python version to 6.108.1 and update changelog
  • 8509ca7 Merge pull request #4048 from HypothesisWorks/create-pull-request/patch
  • Additional commits viewable in compare view


Dependabot compatibility score

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 commands and options
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 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)
StevenMaude commented 1 month ago

I think this is failing because of #382. Dependabot is removing a transitive dependency that then doesn't have hashes, and installation fails.

lucyb commented 1 month ago

@dependabot rebase

iaindillingham commented 1 month ago

I'm afraid this is failing because exceptiongroup is required when Hypothesis is installed on Python <3.11. You may be thinking that following #382, Hypothesis is installed on Python 3.11, and 3.11 is not <3.11. Alas, it's not that simple 🙁.

First, consider requirements.unit.txt. This file is created by the requirements-unit Just recipe, which runs pip-compile on a container built from the python:latest image, which is the same as the python:v1 image, which runs Python 3.8. So, the dependencies in requirements.unit.txt should be pinned to Python 3.8. They're not, which is why Dependabot removed exceptiongroup and then docker-build complained.

Next, consider requirements.dev.txt. This file is created by the requirements-dev Just recipe, which works as you would expect: Thanks to #382, the dependencies are pinned to Python 3.11. However, I think they were probably already pinned to Python 3.11, because I have a vague memory that somewhere in an issue somewhere, Dependabot said this was their default Python.

The simple-when-you-know-how solution is to retain exceptiongroup in requirements.unit.txt. If you're sneaky, you can make it look like Dependabot authored and you committed, just like #374.

This is obviously all horrible. Bumping to python:v1 won't help, as that runs Python 3.10. Bumping .python-version to Python 3.8 might work, but that was released in 2019.