Skip to content

build(deps): pin pip-compile to the sidecar's Python version via dagger - #1093

Open
mnencia wants to merge 2 commits into
mainfrom
pip-compile-python-version
Open

build(deps): pin pip-compile to the sidecar's Python version via dagger#1093
mnencia wants to merge 2 commits into
mainfrom
pip-compile-python-version

Conversation

@mnencia

@mnencia mnencia commented Sep 2, 2026

Copy link
Copy Markdown
Member

The sidecar's lockfile (containers/sidecar-requirements.txt) was being regenerated with whatever python3 happened to be on the contributor's machine, drifting from the python3.13 venv the sidecar image actually ships (this surfaced in #1090, where the lockfile ended up regenerated with Python 3.12). Adds a task pip-compile-sidecar that runs pip-compile inside a debian:trixie-slim dagger container, the same base image family the sidecar build uses, so regeneration always targets the right Python version regardless of the local machine.

@mnencia
mnencia requested a review from a team as a code owner September 2, 2026 09:28
mnencia added a commit that referenced this pull request Sep 2, 2026
The lockfile had drifted to a Python 3.12 header, not matching the
python3.13 venv the sidecar image ships. Regenerated with the correct
Python version (see #1093 for the task that automates this going
forward); the barman==3.20.0 pin and hashes are unchanged.

Signed-off-by: Marco Nenciarini <marco.nenciarini@enterprisedb.com>
mnencia added a commit that referenced this pull request Sep 2, 2026
The lockfile had drifted to a Python 3.12 header, not matching the
python3.13 venv the sidecar image ships. Regenerated with the correct
Python version (see #1093 for the task that automates this going
forward); the barman==3.20.0 pin and hashes are unchanged.

Signed-off-by: Marco Nenciarini <marco.nenciarini@enterprisedb.com>
The lockfile was regenerated with whatever python3 happened to be on
the contributor's machine (3.12), drifting from the python3.13 venv
the sidecar image actually ships. Add a task that runs pip-compile
inside a debian:trixie-slim dagger container, the same base image
family the sidecar build uses, so regeneration always targets the
right Python version regardless of the local machine.

Signed-off-by: Marco Nenciarini <marco.nenciarini@enterprisedb.com>
@mnencia
mnencia force-pushed the pip-compile-python-version branch from 79d237c to 4bc8757 Compare September 2, 2026 16:15
Click 8.5.0 leaves is_flag options without an explicit default as
an internal sentinel instead of False. pip-tools 7.6.1 compares
that sentinel against the option's value to decide whether to
record it in the regenerated file's header, and for a flag with no
negative counterpart (like --no-index) it falls back to always
emitting the flag name regardless of the actual value. Every fresh
install of pip-tools pulls in the latest click and hits this,
poisoning the lockfile header with a --no-index that was never
requested.

Signed-off-by: Marco Nenciarini <marco.nenciarini@enterprisedb.com>
@mnencia
mnencia force-pushed the pip-compile-python-version branch from 4bc8757 to 4a66d24 Compare September 2, 2026 16:56
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.

2 participants