Skip to content

CI broken: poetry install fails on GitHub runners with poetry 1.4.1 #451

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

Closed
dfsp-spirit opened this issue Mar 21, 2023 · 2 comments
Closed
Labels
Critical Bug A critical error that either complete breaks (parts of) the package or causes erroneous calculation dependencies Pull requests that update a dependency file Tests Test need to be written for the issue/feature

Comments

@dfsp-spirit
Copy link
Collaborator

dfsp-spirit commented Mar 21, 2023

Describe the bug
Poetry install failing on github runners, see PR 450. UPDATE: Should also affect all other machines, it is most likely not specific to github runners.

See the CI log for any recent GitHub actions run, where this error appears:

Updating setuptools (67.4.0 -> 65.6.3)

  _WheelFileValidationError

  ["In /home/runner/.cache/pypoetry/artifacts/14/98/fc/fe3a38759e78fd06ef7c59420e0b1e42a4dfe3d116d7fc555155382b4f/pydata_sphinx_theme-0.8.1-py3-none-any.whl, hash / size of pydata_sphinx_theme/__init__.py didn't match RECORD", "In /home/runner/.cache/pypoetry/artifacts/14/98/fc/fe3a38759e78fd06ef7c59420e0b1e42a4dfe3d116d7fc555155382b4f/pydata_sphinx_theme-0.8.1-py3-none-any.whl, hash / size of pydata_sphinx_theme/assets/scripts/index.js didn't match RECORD", "In /home/runner/.cache/pypoetry/artifacts/14/98/fc/fe3a38759e78fd06ef7c59420e0b1e42a4dfe3d116d7fc555155382b4f/pydata_sphinx_theme-0.8.1-py3-none-any.whl, hash / size of pydata_sphinx_theme/assets/styles/_admonitions.scss didn't match RECORD", "In /home/runner/.cache/pypoetry/artifacts/14/98/fc/fe3a38759e78fd06ef7c59420e0b1e42a4dfe3d116d7fc555155382b4f/pydata_sphinx_theme-0.8.1-py3-none-any.whl, hash / size of pydata_sphinx_theme/assets/styles/_api.scss didn't match RECORD", "In /home/runner/.cache/pypoetry/artifacts/14/98/fc/fe3a38759e78fd06ef7c59420e0b1e42a4dfe3d116d7fc555155382b4f/pydata_sphinx_theme-0.8.1-py3-none-any.whl, hash / size of pydata_sphinx_theme/assets/styles/_base.scss didn't match RECORD", "In /home/runner/.cache/pypoetry/artifacts/14/98/fc/fe3a38759e78fd06ef7c59420e0b1e42a4dfe3d116d7fc555155382b4f/pydata_sphinx_theme-0.8.1-py3-none-any.whl, hash / size of pydata_sphinx_theme/assets/styles/_markdown.scss didn't match RECORD", "In /home/runner/.cache/pypoetry/artifacts/14/98/fc/fe3a38759e78fd06ef7c59420e0b1e42a4dfe3d116d7fc555155382b4f/pydata_sphinx_theme-0.8.1-py3-none-any.whl, hash / size of pydata_sphinx_theme/assets/styles/_navbar.scss didn't match RECORD", "In /home/runner/.cache/pypoetry/artifacts/14/98/fc/fe3a38759e78fd06ef7c59420e0b1e42a4dfe3d116d7fc555155382b4f/pydata_sphinx_theme-0.8.1-py3-none-any.whl, hash / size of pydata_sphinx_theme/assets/styles/_versionmodified.scss didn't match RECORD", "In /home/runner/.cache/pypoetry/artifacts/14/98/fc/fe3a38759e78fd06ef7c59420e0b1e42a4dfe3d116d7fc555155382b4f/pydata_sphinx_theme-0.8.1-py3-none-any.whl, hash / size of pydata_sphinx_theme/assets/styles/index.scss didn't match RECORD", "In /home/runner/.cache/pypoetry/artifacts/14/98/fc/fe3a38759e78fd06ef7c59420e0b1e42a4dfe3d116d7fc555155382b4f/pydata_sphinx_theme-0.8.1-py3-none-any.whl, hash / size of pydata_sphinx_theme/bootstrap_html_translator.py didn't match RECORD", "In /home/runner/.cache/pypoetry/artifacts/14/98/fc/fe3a38759e78fd06ef7c59420e0b1e42a4dfe3d116d7fc555155382b4f/pydata_sphinx_theme-0.8.1-py3-none-any.whl, hash / size of pydata_sphinx_theme/theme/pydata_sphinx_theme/_templates/copyright.html didn't match RECORD", "In /home/runner/.cache/pypoetry/artifacts/14/98/fc/fe3a38759e78fd06ef7c59420e0b1e42a4dfe3d116d7fc555155382b4f/pydata_sphinx_theme-0.8.1-py3-none-any.whl, hash / size of pydata_sphinx_theme/theme/pydata_sphinx_theme/_templates/edit-this-page.html didn't match RECORD", "In /home/runner/.cache/pypoetry/artifacts/14/98/fc/fe3a38759e78fd06ef7c59420e0b1e42a4dfe3d116d7fc555155382b4f/pydata_sphinx_theme-0.8.1-py3-none-any.whl, hash / size of pydata_sphinx_theme/theme/pydata_sphinx_theme/_templates/last-updated.html didn't match RECORD", "In /home/runner/.cache/pypoetry/artifacts/14/98/fc/fe3a38759e78fd06ef7c59420e0b1e42a4dfe3d116d7fc555155382b4f/pydata_sphinx_theme-0.8.1-py3-none-any.whl, hash / size of pydata_sphinx_theme/theme/pydata_sphinx_theme/_templates/navbar-icon-links.html didn't match RECORD", "In /home/runner/.cache/pypoetry/artifacts/14/98/fc/fe3a38759e78fd06ef7c59420e0b1e42a4dfe3d116d7fc555155382b4f/pydata_sphinx_theme-0.8.1-py3-none-any.whl, hash / size of pydata_sphinx_theme/theme/pydata_sphinx_theme/_templates/navbar-logo.html didn't match RECORD", "In /home/runner/.cache/pypoetry/artifacts/14/98/fc/fe3a38759e78fd06ef7c59420e0b1e42a4dfe3d116d7fc555155382b4f/pydata_sphinx_theme-0.8.1-py3-none-any.whl, hash / size of pydata_sphinx_theme/theme/pydata_sphinx_theme/_templates/navbar-nav.html didn't match RECORD", "In /home/runner/.cache/pypoetry/artifacts/14/98/fc/fe3a38759e78fd06ef7c59420e0b1e42a4dfe3d116d7fc555155382b4f/pydata_sphinx_theme-0.8.1-py3-none-any.whl, hash / size of pydata_sphinx_theme/theme/pydata_sphinx_theme/_templates/page-toc.html didn't match RECORD", "In /home/runner/.cache/pypoetry/artifacts/14/98/fc/fe3a38759e78fd06ef7c59420e0b1e42a4dfe3d116d7fc555155382b4f/pydata_sphinx_theme-0.8.1-py3-none-any.whl, hash / size of pydata_sphinx_theme/theme/pydata_sphinx_theme/_templates/prev-next.html didn't match RECORD", "In /home/runner/.cache/pypoetry/artifacts/14/98/fc/fe3a38759e78fd06ef7c59420e0b1e42a4dfe3d116d7fc555155382b4f/pydata_sphinx_theme-0.8.1-py3-none-any.whl, hash / size of pydata_sphinx_theme/theme/pydata_sphinx_theme/_templates/sidebar-ethical-ads.html didn't match RECORD", "In /home/runner/.cache/pypoetry/artifacts/14/98/fc/fe3a38759e78fd06ef7c59420e0b1e42a4dfe3d116d7fc555155382b4f/pydata_sphinx_theme-0.8.1-py3-none-any.whl, hash / size of pydata_sphinx_theme/theme/pydata_sphinx_theme/_templates/sidebar-nav-bs.html didn't match RECORD", "In /home/runner/.cache/pypoetry/artifacts/14/98/fc/fe3a38759e78fd06ef7c59420e0b1e42a4dfe3d116d7fc555155382b4f/pydata_sphinx_theme-0.8.1-py3-none-any.whl, hash / size of pydata_sphinx_theme/theme/pydata_sphinx_theme/_templates/sphinx-version.html didn't match RECORD", "In /home/runner/.cache/pypoetry/artifacts/14/98/fc/fe3a38759e78fd06ef7c59420e0b1e42a4dfe3d116d7fc555155382b4f/pydata_sphinx_theme-0.8.1-py3-none-any.whl, hash / size of pydata_sphinx_theme/theme/pydata_sphinx_theme/_templates/version-switcher.html didn't match RECORD", "In /home/runner/.cache/pypoetry/artifacts/14/98/fc/fe3a38759e78fd06ef7c59420e0b1e42a4dfe3d116d7fc555155382b4f/pydata_sphinx_theme-0.8.1-py3-none-any.whl, hash / size of pydata_sphinx_theme/theme/pydata_sphinx_theme/docs-navbar.html didn't match RECORD", "In /home/runner/.cache/pypoetry/artifacts/14/98/fc/fe3a38759e78fd06ef7c59420e0b1e42a4dfe3d116d7fc555155382b4f/pydata_sphinx_theme-0.8.1-py3-none-any.whl, hash / size of pydata_sphinx_theme/theme/pydata_sphinx_theme/docs-sidebar.html didn't match RECORD", "In /home/runner/.cache/pypoetry/artifacts/14/98/fc/fe3a38759e78fd06ef7c59420e0b1e42a4dfe3d116d7fc555155382b4f/pydata_sphinx_theme-0.8.1-py3-none-any.whl, hash / size of pydata_sphinx_theme/theme/pydata_sphinx_theme/footer.html didn't match RECORD", "In /home/runner/.cache/pypoetry/artifacts/14/98/fc/fe3a38759e78fd06ef7c59420e0b1e42a4dfe3d116d7fc555155382b4f/pydata_sphinx_theme-0.8.1-py3-none-any.whl, hash / size of pydata_sphinx_theme/theme/pydata_sphinx_theme/icon-links.html didn't match RECORD", "In /home/runner/.cache/pypoetry/artifacts/14/98/fc/fe3a38759e78fd06ef7c59420e0b1e42a4dfe3d116d7fc555155382b4f/pydata_sphinx_theme-0.8.1-py3-none-any.whl, hash / size of pydata_sphinx_theme/theme/pydata_sphinx_theme/layout.html didn't match RECORD", "In /home/runner/.cache/pypoetry/artifacts/14/98/fc/fe3a38759e78fd06ef7c59420e0b1e42a4dfe3d116d7fc555155382b4f/pydata_sphinx_theme-0.8.1-py3-none-any.whl, hash / size of pydata_sphinx_theme/theme/pydata_sphinx_theme/search-field.html didn't match RECORD", "In /home/runner/.cache/pypoetry/artifacts/14/98/fc/fe3a38759e78fd06ef7c59420e0b1e42a4dfe3d116d7fc555155382b4f/pydata_sphinx_theme-0.8.1-py3-none-any.whl, hash / size of pydata_sphinx_theme/theme/pydata_sphinx_theme/static/.gitignore didn't match RECORD", "In /home/runner/.cache/pypoetry/artifacts/14/98/fc/fe3a38759e78fd06ef7c59420e0b1e42a4dfe3d116d7fc555155382b4f/pydata_sphinx_theme-0.8.1-py3-none-any.whl, hash / size of pydata_sphinx_theme/theme/pydata_sphinx_theme/static/scripts/pydata-sphinx-theme.js didn't match RECORD", "In /home/runner/.cache/pypoetry/artifacts/14/98/fc/fe3a38759e78fd06ef7c59420e0b1e42a4dfe3d116d7fc555155382b4f/pydata_sphinx_theme-0.8.1-py3-none-any.whl, hash / size of pydata_sphinx_theme/theme/pydata_sphinx_theme/static/styles/pydata-sphinx-theme.css didn't match RECORD", "In /home/runner/.cache/pypoetry/artifacts/14/98/fc/fe3a38759e78fd06ef7c59420e0b1e42a4dfe3d116d7fc555155382b4f/pydata_sphinx_theme-0.8.1-py3-none-any.whl, hash / size of pydata_sphinx_theme/theme/pydata_sphinx_theme/static/styles/theme.css didn't match RECORD", "In /home/runner/.cache/pypoetry/artifacts/14/98/fc/fe3a38759e78fd06ef7c59420e0b1e42a4dfe3d116d7fc555155382b4f/pydata_sphinx_theme-0.8.1-py3-none-any.whl, hash / size of pydata_sphinx_theme/theme/pydata_sphinx_theme/static/vendor/fontawesome/5.13.0/LICENSE.txt didn't match RECORD", "In /home/runner/.cache/pypoetry/artifacts/14/98/fc/fe3a38759e78fd06ef7c59420e0b1e42a4dfe3d116d7fc555155382b4f/pydata_sphinx_theme-0.8.1-py3-none-any.whl, hash / size of pydata_sphinx_theme/theme/pydata_sphinx_theme/static/vendor/fontawesome/5.13.0/css/all.min.css didn't match RECORD", "In /home/runner/.cache/pypoetry/artifacts/14/98/fc/fe3a38759e78fd06ef7c59420e0b1e42a4dfe3d116d7fc555155382b4f/pydata_sphinx_theme-0.8.1-py3-none-any.whl, hash / size of pydata_sphinx_theme/theme/pydata_sphinx_theme/static/vendor/fontawesome/5.13.0/webfonts/fa-brands-400.eot didn't match RECORD", "In /home/runner/.cache/pypoetry/artifacts/14/98/fc/fe3a38759e78fd06ef7c59420e0b1e42a4dfe3d116d7fc555155382b4f/pydata_sphinx_theme-0.8.1-py3-none-any.whl, hash / size of pydata_sphinx_theme/theme/pydata_sphinx_theme/static/vendor/fontawesome/5.13.0/webfonts/fa-brands-400.svg didn't match RECORD", "In /home/runner/.cache/pypoetry/artifacts/14/98/fc/fe3a38759e78fd06ef7c59420e0b1e42a4dfe3d116d7fc555155382b4f/pydata_sphinx_theme-0.8.1-py3-none-any.whl, hash / size of pydata_sphinx_theme/theme/pydata_sphinx_theme/static/vendor/fontawesome/5.13.0/webfonts/fa-brands-400.ttf didn't match RECORD", "In /home/runner/.cache/pypoetry/artifacts/14/98/fc/fe3a38759e78fd06ef7c59420e0b1e42a4dfe3d116d7fc555155382b4f/pydata_sphinx_theme-0.8.1-py3-none-any.whl, hash / size of pydata_sphinx_theme/theme/pydata_sphinx_theme/static/vendor/fontawesome/5.13.0/webfonts/fa-brands-400.woff didn't match RECORD", "In /home/runner/.cache/pypoetry/artifacts/14/98/fc/fe3a38759e78fd06ef7c59420e0b1e42a4dfe3d116d7fc555155382b4f/pydata_sphinx_theme-0.8.1-py3-none-any.whl, hash / size of pydata_sphinx_theme/theme/pydata_sphinx_theme/static/vendor/fontawesome/5.13.0/webfonts/fa-brands-400.woff2 didn't match RECORD", "In /home/runner/.cache/pypoetry/artifacts/14/98/fc/fe3a38759e78fd06ef7c59420e0b1e42a4dfe3d116d7fc555155382b4f/pydata_sphinx_theme-0.8.1-py3-none-any.whl, hash / size of pydata_sphinx_theme/theme/pydata_sphinx_theme/static/vendor/fontawesome/5.13.0/webfonts/fa-regular-400.eot didn't match RECORD", "In /home/runner/.cache/pypoetry/artifacts/14/98/fc/fe3a38759e78fd06ef7c59420e0b1e42a4dfe3d116d7fc555155382b4f/pydata_sphinx_theme-0.8.1-py3-none-any.whl, hash / size of pydata_sphinx_theme/theme/pydata_sphinx_theme/static/vendor/fontawesome/5.13.0/webfonts/fa-regular-400.svg didn't match RECORD", "In /home/runner/.cache/pypoetry/artifacts/14/98/fc/fe3a38759e78fd06ef7c59420e0b1e42a4dfe3d116d7fc555155382b4f/pydata_sphinx_theme-0.8.1-py3-none-any.whl, hash / size of pydata_sphinx_theme/theme/pydata_sphinx_theme/static/vendor/fontawesome/5.13.0/webfonts/fa-regular-400.ttf didn't match RECORD", "In /home/runner/.cache/pypoetry/artifacts/14/98/fc/fe3a38759e78fd06ef7c59420e0b1e42a4dfe3d116d7fc555155382b4f/pydata_sphinx_theme-0.8.1-py3-none-any.whl, hash / size of pydata_sphinx_theme/theme/pydata_sphinx_theme/static/vendor/fontawesome/5.13.0/webfonts/fa-regular-400.woff didn't match RECORD", "In /home/runner/.cache/pypoetry/artifacts/14/98/fc/fe3a38759e78fd06ef7c59420e0b1e42a4dfe3d116d7fc555155382b4f/pydata_sphinx_theme-0.8.1-py3-none-any.whl, hash / size of pydata_sphinx_theme/theme/pydata_sphinx_theme/static/vendor/fontawesome/5.13.0/webfonts/fa-regular-400.woff2 didn't match RECORD", "In /home/runner/.cache/pypoetry/artifacts/14/98/fc/fe3a38759e78fd06ef7c59420e0b1e42a4dfe3d116d7fc555155382b4f/pydata_sphinx_theme-0.8.1-py3-none-any.whl, hash / size of pydata_sphinx_theme/theme/pydata_sphinx_theme/static/vendor/fontawesome/5.13.0/webfonts/fa-solid-900.eot didn't match RECORD", "In /home/runner/.cache/pypoetry/artifacts/14/98/fc/fe3a38759e78fd06ef7c59420e0b1e42a4dfe3d116d7fc555155382b4f/pydata_sphinx_theme-0.8.1-py3-none-any.whl, hash / size of pydata_sphinx_theme/theme/pydata_sphinx_theme/static/vendor/fontawesome/5.13.0/webfonts/fa-solid-900.svg didn't match RECORD", "In /home/runner/.cache/pypoetry/artifacts/14/98/fc/fe3a38759e78fd06ef7c59420e0b1e42a4dfe3d116d7fc555155382b4f/pydata_sphinx_theme-0.8.1-py3-none-any.whl, hash / size of pydata_sphinx_theme/theme/pydata_sphinx_theme/static/vendor/fontawesome/5.13.0/webfonts/fa-solid-900.ttf didn't match RECORD", "In /home/runner/.cache/pypoetry/artifacts/14/98/fc/fe3a38759e78fd06ef7c59420e0b1e42a4dfe3d116d7fc555155382b4f/pydata_sphinx_theme-0.8.1-py3-none-any.whl, hash / size of pydata_sphinx_theme/theme/pydata_sphinx_theme/static/vendor/fontawesome/5.13.0/webfonts/fa-solid-900.woff didn't match RECORD", "In /home/runner/.cache/pypoetry/artifacts/14/98/fc/fe3a38759e78fd06ef7c59420e0b1e42a4dfe3d116d7fc555155382b4f/pydata_sphinx_theme-0.8.1-py3-none-any.whl, hash / size of pydata_sphinx_theme/theme/pydata_sphinx_theme/static/vendor/fontawesome/5.13.0/webfonts/fa-solid-900.woff2 didn't match RECORD", "In /home/runner/.cache/pypoetry/artifacts/14/98/fc/fe3a38759e78fd06ef7c59420e0b1e42a4dfe3d116d7fc555155382b4f/pydata_sphinx_theme-0.8.1-py3-none-any.whl, hash / size of pydata_sphinx_theme/theme/pydata_sphinx_theme/static/webpack-macros.html didn't match RECORD", "In /home/runner/.cache/pypoetry/artifacts/14/98/fc/fe3a38759e78fd06ef7c59420e0b1e42a4dfe3d116d7fc555155382b4f/pydata_sphinx_theme-0.8.1-py3-none-any.whl, hash / size of pydata_sphinx_theme/theme/pydata_sphinx_theme/theme.conf didn't match RECORD", "In /home/runner/.cache/pypoetry/artifacts/14/98/fc/fe3a38759e78fd06ef7c59420e0b1e42a4dfe3d116d7fc555155382b4f/pydata_sphinx_theme-0.8.1-py3-none-any.whl, hash / size of pydata_sphinx_theme-0.8.1.dist-info/LICENSE didn't match RECORD", "In /home/runner/.cache/pypoetry/artifacts/14/98/fc/fe3a38759e78fd06ef7c59420e0b1e42a4dfe3d116d7fc555155382b4f/pydata_sphinx_theme-0.8.1-py3-none-any.whl, hash / size of pydata_sphinx_theme-0.8.1.dist-info/METADATA didn't match RECORD", "In /home/runner/.cache/pypoetry/artifacts/14/98/fc/fe3a38759e78fd06ef7c59420e0b1e42a4dfe3d116d7fc555155382b4f/pydata_sphinx_theme-0.8.1-py3-none-any.whl, hash / size of pydata_sphinx_theme-0.8.1.dist-info/WHEEL didn't match RECORD", "In /home/runner/.cache/pypoetry/artifacts/14/98/fc/fe3a38759e78fd06ef7c59420e0b1e42a4dfe3d116d7fc555155382b4f/pydata_sphinx_theme-0.8.1-py3-none-any.whl, hash / size of pydata_sphinx_theme-0.8.1.dist-info/entry_points.txt didn't match RECORD"]

  at /opt/hostedtoolcache/Python/3.10.10/x64/lib/python3.10/site-packages/installer/sources.py:289 in validate_record
      285│                         f"In {self._zipfile.filename}, hash / size of {item.filename} didn't match RECORD"
      286│                     )
      287│ 
      288│         if issues:
    → 289│             raise _WheelFileValidationError(issues)
      290│ 
      291│     def get_contents(self) -> Iterator[WheelContentElement]:
      292│         """Sequential access to all contents of the wheel (including dist-info files).
      293│ 

  • Installing toml (0.10.2)
Error: Process completed with exit code 1.

More details are in the description text of the linked PR 450. There is also a proposed workaround in the description text of that PR.

@dfsp-spirit dfsp-spirit added Critical Bug A critical error that either complete breaks (parts of) the package or causes erroneous calculation Tests Test need to be written for the issue/feature dependencies Pull requests that update a dependency file labels Mar 21, 2023
@dfsp-spirit
Copy link
Collaborator Author

dfsp-spirit commented Mar 21, 2023

@tensionhead

I temporarily fixed this by pinning the poetry version to 1.4.0 (see PR 450), it is broke since the release of poetry 1.4.1 on 2023/03/19. It may be that the real issue is a broken hash (that was not properly validated with poetry 1.4.0, but is now in 1.4.1). So the real culprit may be sphinx-theme-builder (see their issue 39), which introduces the broken hash leading to a _WheelFileValidationError into pydata_sphinx_theme-0.8.1-py3-none-any.whl, which we have as a dependency. See also the issue 1253 of pydata-sphinx-theme.

Fixing the real issue will require new versions of sphinx-theme-builder and then pydata-sphinx-theme, so I propose to pin poetry version to 1.4.0 as a temporary workaround.

dfsp-spirit added a commit that referenced this issue Mar 21, 2023
dfsp-spirit added a commit that referenced this issue Mar 21, 2023
@dfsp-spirit dfsp-spirit changed the title CI broken: poetry install fails on GitHub runners CI broken: poetry install fails on GitHub runners with poetry 1.4.1 Mar 22, 2023
@dfsp-spirit
Copy link
Collaborator Author

I am closing this for now. Once a new release of pydata_sphinx_theme is available, we can remove the version pinning of poetry to 1.4.0 in our github workflow files.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Critical Bug A critical error that either complete breaks (parts of) the package or causes erroneous calculation dependencies Pull requests that update a dependency file Tests Test need to be written for the issue/feature
Projects
None yet
Development

No branches or pull requests

1 participant