Skip to content

Conversation

ldionne
Copy link
Member

@ldionne ldionne commented Oct 7, 2025

The installation instructions were based on running setup.py directly. However, my understanding is that Python best practices have moved away from doing that and towards using pip to install packages in a virtual environment, and using a file like requirements.txt to pin dependency versions.

This patch documents that updated installation procedure and runs the installation process as a test unconditionally.
It also properly splits the client vs server requirements and tests the installation of both.

Fixes #68

@ldionne ldionne requested a review from DavidSpickett October 7, 2025 15:00
ldionne added a commit to ldionne/llvm-lnt that referenced this pull request Oct 7, 2025
This patch unpins versions in setup.py since they are pinned in
requirements.txt. This is effectively a revert of 11c2d9e
and 8fc27f4.

When we originally unpinned versions from setup.py, some clients
were running `setup.py` directly to install `lnt`, which means
they started fetching untested and incompatible versions of
packages.

Since then, we've documented the new installation procedure based
on pip and our pinned requirements (in llvm#70).
@ldionne ldionne force-pushed the review/update-installation-instructions branch from 153b6e2 to 92c65d6 Compare October 7, 2025 18:51
…itionally

The installation instructions were based on running `setup.py` directly.
However, my understanding is that Python best practices have moved away
from doing that and towards using `pip` to install packages in a virtual
environment, and using a file like `requirements.txt` to pin dependency
versions.

This patch documents that updated installation procedure and runs the
installation process as a test unconditionally.

Fixes llvm#68
@ldionne ldionne force-pushed the review/update-installation-instructions branch from 92c65d6 to 1a35f5a Compare October 7, 2025 19:03
@ldionne
Copy link
Member Author

ldionne commented Oct 7, 2025

I will land this since it's required in order to make progress on updating how the various builders are installing lnt. In particular, the split between clients and servers requirements is required, otherwise builders need to install postgresql (to get pg_config, to build psycopg2 from source).

@ldionne
Copy link
Member Author

ldionne commented Oct 7, 2025

I'll monitor https://lab.llvm.org/buildbot/#/builders/17

@ldionne ldionne merged commit 77e8659 into llvm:main Oct 7, 2025
2 of 3 checks passed
@ldionne ldionne deleted the review/update-installation-instructions branch October 7, 2025 19:09
ldionne added a commit to ldionne/llvm-lnt that referenced this pull request Oct 7, 2025
This patch unpins versions in setup.py since they are pinned in
requirements.txt. This is effectively a revert of 11c2d9e
and 8fc27f4.

When we originally unpinned versions from setup.py, some clients
were running `setup.py` directly to install `lnt`, which means
they started fetching untested and incompatible versions of
packages.

Since then, we've documented the new installation procedure based
on pip and our pinned requirements (in llvm#70).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

LNT client setup using setup.py should be tested in CI/Actions
1 participant