matrix-org / sydent

Sydent: Reference Matrix Identity Server
http://matrix.org
Apache License 2.0
303 stars 84 forks source link

Pin dependencies with poetry, and use this in CI #488

Closed DMRobertson closed 2 years ago

DMRobertson commented 2 years ago
  1. Use poetry rather than setuptools to define the package.
  2. Use workflows in backend-meta and the setup-python-poetry action to use poetry in CI.
DMRobertson commented 2 years ago

I need to update this with a description of the diff between wheels and sdists before and after poetry.

DMRobertson commented 2 years ago

I need to update this with a description of the diff between wheels and sdists before and after poetry.

These are a diff from a489866070963f2ee686d9f96e21c876636dafdc to e9e1b7d.

sdist.diff.txt wheel.diff.txt

In the sdist:

In the wheel:

So TL;DR there are some slight differences, but I think everything is legitimate.

reivilibre commented 2 years ago

no more MANIFEST.in I was going to reply: Somewhat paradoxically-sounding, I would think MANIFEST.in should be included in the sdist. Python's docs say that it is by default: https://packaging.python.org/en/latest/guides/using-manifest-in/#how-files-are-included-in-an-sdist.

But actually I think you're not even using it anymore; instead configuring the sdist through Poetry. That sounds fine then, since pyproject.toml is included. Will review rest..

DMRobertson commented 2 years ago

@reivilibre I've fixed a typo which means that CI actually runs now. Maybe you'd like to have a quick look over the CI output to see if it's to your liking?

reivilibre commented 2 years ago

yep, looks like a decent CI output layout! @DMRobertson