interuss / monitoring

InterUSS Platform USS monitoring tools for federated UTM, including automated testing.
Apache License 2.0
11 stars 19 forks source link

[ci] add setuptools installation and pinning to the Dockerfile #779

Closed Shastick closed 6 days ago

Shastick commented 1 week ago

This is an alternative to #771 to solve #768: it involves installing setuptools and pinning its version directly in the Dockerfile, before the actual requirements get installed.

Background

Since python:3.12.5-slim, setuptools is not pre-installed anymore, causing our builds to fail when using this (or later) images.

See this comment for some background and details about the considered options, and why we did not choose to add setuptools to requirements.in.

This PR also sets the base image to python:3.12.6-slim to show that the Dockerfile can be built.

BenjaminPelletier commented 6 days ago

nit: Could you change the title and description of the PR to clarify that we're just moving setuptools out of requirements.txt and installing it separately? Importantly, it seems like setuptools is still pinned (to 74.1.2 per line 23), so it's not accurate to say it is "unpinned". I think that's important because I think the root cause of one of our recent issues is that not enough things were pinned, and I don't think we've had any problems due to something being pinned (so, I would expect us to almost always only move toward more pinning and not less pinning).