Skip to content

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

Open
cboettig wants to merge 1 commit into
mainfrom
drop-python-version-pin
Open

ci: do not force python 3.11.9 over the image interpreter#3
cboettig wants to merge 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.
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