Skip to content

CI: Refurbish ngr invocations for Python exercises across the board#1485

Merged
amotl merged 4 commits into
mainfrom
ci-ngr-refurbish
Mar 22, 2026
Merged

CI: Refurbish ngr invocations for Python exercises across the board#1485
amotl merged 4 commits into
mainfrom
ci-ngr-refurbish

Conversation

@amotl

@amotl amotl commented Mar 22, 2026

Copy link
Copy Markdown
Contributor

Just maintenance: Migrate CI configuration from pip/setup-python to uv/setup-uv and remove ngr's --accept-no-venv flags.

@coderabbitai

coderabbitai Bot commented Mar 22, 2026

Copy link
Copy Markdown

Walkthrough

Replaces many GitHub Actions Python setup steps (actions/setup-python@v6) with astral-sh/setup-uv@v7, switches caching to uv glob-based caching, changes installs to uv pip install --requirements=... (some places pin setuptools<82), removes --accept-no-venv (and some --with=pueblo) from test invocations, and adds one dev dependency.

Changes

Cohort / File(s) Summary
Application Workflows
.github/workflows/application-*.yml
application-apache-superset.yml, application-cratedb-toolkit.yml, application-metabase.yml, application-records.yml
Replaced setup-python with setup-uv; moved pip cache → uv cache-dependency-glob; installs changed to uv pip install --requirements=... (some with setuptools<82); removed --accept-no-venv from ngr test.
DataFrame Workflows
.github/workflows/dataframe-*.yml
dataframe-dask.yml, dataframe-pandas.yml, dataframe-polars.yml
Same migration to setup-uv; caching uses globbed requirements*.txt; installs via uv pip --requirements; tests now ngr test <path> without --accept-no-venv.
Framework Workflows
.github/workflows/framework-*.yml
framework-dlt.yml, framework-gradio.yml, framework-mcp.yml, framework-records.yml, framework-streamlit.yml
Moved to setup-uv with activate-environment: 'true'; expanded cache globs and cache-suffix; installs use uv pip --requirements; removed --accept-no-venv; one step renamed to "Install prerequisites".
Language (Python) Workflows
.github/workflows/lang-python-*.yml
lang-python-connectorx.yml, lang-python-dbapi.yml, lang-python-sqlalchemy.yml, lang-python-turbodbc.yml
Replaced setup-python with setup-uv; updated cache globs and cache-suffix; changed uv pip invocation (removed --system when present); tests simplified; turbodbc only adds a TODO comment.
ML / Machine-Learning Workflows
.github/workflows/ml-*.yml
ml-chatbot.yml, ml-langchain.yml, ml-llamaindex.yml, ml-mlflow.yml, ml-pycaret.yml
Switched to setup-uv and uv caching via globs; installs use uv pip --requirements (some places add setuptools<82); removed --accept-no-venv and removed some uv run / --with=pueblo wrappers.
Testing Workflows
.github/workflows/testing-*.yml
testing-native-python.yml, testing-testcontainers-python.yml
Migrated to setup-uv; caching via globbed requirement files; uv pip install --requirements= used; test invocations now ngr test <path> without --accept-no-venv.
Timeseries / Specialized
.github/workflows/timeseries.yml
Replaced setup-python with setup-uv + activate-environment; expanded cache globs; added explicit uv pip install --requirements= utilities step; removed uv run wrapper and --with=pueblo / --accept-no-venv.
Requirements change
topic/machine-learning/mlflow/requirements-dev.txt
Added colorlog>=6 to development requirements.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Suggested reviewers

  • surister

Poem

🐰 I hopped across YAML, tidy and neat,
Swapped setup steps in CI's heartbeat.
Globs now catch deps, installs hum with uv,
Tests shed a flag — a soft carrot for me. 🥕

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly summarizes the main change: refurbishing ngr invocations across Python exercise CI workflows.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Description check ✅ Passed The PR description is directly related to the changeset, accurately summarizing the migration from pip/setup-python to uv/setup-uv and removal of --accept-no-venv flags.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch ci-ngr-refurbish

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@amotl amotl force-pushed the ci-ngr-refurbish branch from c8de5de to 64748ea Compare March 22, 2026 10:35
Base automatically changed from pueblo-shell-runner to main March 22, 2026 10:47
@amotl amotl force-pushed the ci-ngr-refurbish branch from 64748ea to 37d776b Compare March 22, 2026 10:55
@amotl amotl changed the title CI: Refurbish ngr invocations across the board CI: Refurbish ngr invocations for Python exercises across the board Mar 22, 2026
@amotl amotl force-pushed the ci-ngr-refurbish branch from 37d776b to b1ea764 Compare March 22, 2026 11:26
@amotl amotl marked this pull request as ready for review March 22, 2026 11:26
coderabbitai[bot]

This comment was marked as resolved.

coderabbitai[bot]

This comment was marked as resolved.

@amotl amotl force-pushed the ci-ngr-refurbish branch from 619c01b to 9fc3a44 Compare March 22, 2026 12:07
error: No interpreter found for Python 3.7 in managed installations or search path

error: The interpreter at /home/runner/work/_temp/uv-python-dir/cpython-3.13.12-linux-x86_64-gnu is externally managed

ModuleNotFoundError: No module named 'pkg_resources'

ImportError: cannot import name 'ColoredFormatter' from partially initialized module 'colorlog'
@amotl amotl force-pushed the ci-ngr-refurbish branch from 9fc3a44 to d4efe79 Compare March 22, 2026 12:16
@amotl amotl force-pushed the ci-ngr-refurbish branch from dfbc2d6 to 66a376d Compare March 22, 2026 12:30
When using `uv`, the process selects a different set of transitive
depenencies.

ValueError: numpy.dtype size changed, may indicate binary incompatibility. Expected 96 from C header, got 88 from PyObject
@amotl amotl merged commit 0568dd9 into main Mar 22, 2026
53 of 59 checks passed
@amotl amotl deleted the ci-ngr-refurbish branch March 22, 2026 12:43
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