Skip to content

ci: do not force python 3.11.9 over the image interpreter - #3

Merged
cboettig merged 1 commit into
mainfrom
drop-python-version-pin
Sep 12, 2026
Merged

ci: do not force python 3.11.9 over the image interpreter#3
cboettig merged 1 commit into
mainfrom
drop-python-version-pin

Conversation

@cboettig

Copy link
Copy Markdown
Member

Drops python-version: '3.11.9' from the setup-python step.

On the arc-runner-espm157 runner this input is actively harmful. The job runs in rocker/ml, which ships a complete /opt/venv — Python 3.14.4 with pandas, duckdb 1.5.5, ibis 12.0.0, plotnine, pyarrow and the rest already installed. Asking for 3.11.9 makes setup-python download and prepend a separate interpreter, which shadows /opt/venv and throws away every preinstalled package. Everything in requirements.txt then has to be rebuilt from scratch against an interpreter the image was never built for.

That is also how the exit 137 failures happened: against 3.14 the pinned duckdb==1.3.2 had no matching wheel (cp313 is its newest tag), so pip compiled DuckDB from source until the job pod hit its memory limit and was SIGKILLed.

With the input removed, setup-python uses the interpreter already on PATH — the image's — and pip install -r requirements.txt resolves to "already satisfied" for the scientific stack, installing only the few small pure-Python test deps.

No effect on the ubuntu-latest fallback path for public forks, which picks up the hosted runner's default Python the same way.

rocker/ml ships a complete /opt/venv on Python 3.14. Requesting 3.11.9 makes
setup-python install a second interpreter that shadows it, discarding every
preinstalled package and forcing pip to rebuild the stack -- which is how the
pinned duckdb ended up compiling from source and hitting the memory limit.
@cboettig
cboettig merged commit 3f4d38f into main Sep 12, 2026
1 check passed
@cboettig
cboettig deleted the drop-python-version-pin branch September 12, 2026 21:04
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.

1 participant