Skip to content

ci: normalize to actions/setup-python + pip, matching sibling toolboxes - #49

Merged
petercorke merged 1 commit into
mainfrom
ci/remove-conda-micromamba
Aug 3, 2026
Merged

ci: normalize to actions/setup-python + pip, matching sibling toolboxes#49
petercorke merged 1 commit into
mainfrom
ci/remove-conda-micromamba

Conversation

@petercorke

Copy link
Copy Markdown
Owner

Summary

  • Replace mamba-org/setup-micromamba + hand-maintained conda create-args with actions/setup-python + plain pip install .[dev,tool], matching RTB/bdsim/SMTB's CI setup -- MVTB was the only sibling toolbox still on conda.
  • Drop --no-deps --no-build-isolation: previously CI's pip install explicitly skipped dependency resolution, so pyproject.toml's opencv-python<5.0.0 / opencv-contrib-python<5.0.0 pins were never actually enforced by CI -- only by real end users installing via pip. That gap is exactly how CI silently started testing OpenCV 5.0.0 once conda-forge's unpinned opencv package resolved there (see opencv5 migration: dual-version (4/5) compatibility #44).
  • Add pytest-timeout/pytest-xvfb to the dev extra in pyproject.toml (previously only present in the conda create-args list, so pip install .[dev] alone was missing what the test run actually needs).
  • Swap the Linux-only conda-forge libegl install for the apt equivalent (libegl1 libgl1).

Fixes #43

Test plan

  • Installed into a real, verified-isolated throwaway venv (sys.prefix checked) with plain pip install .[dev,tool] -- resolves cleanly, honoring the <5.0.0 opencv pin for real (opencv-contrib-python-4.14.0.94).
  • Full test suite passes under that install: 771 passed, 94 skipped, no failures.
  • CI itself (this PR's own run) -- watching now.

@codacy-production

Copy link
Copy Markdown

Up to standards ✅

🟢 Issues 0 issues

Results:
0 new issues

View in Codacy

NEW Get contextual insights on your PRs based on Codacy's metrics, along with PR and Jira context, without leaving GitHub. Enable AI reviewer
TIP This summary will be updated as you push new changes.

@petercorke
petercorke force-pushed the ci/remove-conda-micromamba branch from ce01b54 to 1a65a8e Compare August 3, 2026 00:32
RTB, bdsim, and SMTB all use actions/setup-python + pip install .[dev];
MVTB was the only one still on mamba-org/setup-micromamba with a
hand-maintained conda create-args package list. That split meant
pyproject.toml's opencv-python<5.0.0 / opencv-contrib-python<5.0.0
pins were never actually exercised by CI (pip install .[dev] --no-deps
--no-build-isolation skipped dependency resolution entirely), which is
how CI silently started testing against opencv 5.0.0 when conda-forge's
unpinned opencv package resolved there.

Drop --no-deps so pip's resolver actually enforces pyproject.toml's
pins, add pytest-timeout/pytest-xvfb to the dev extra (previously only
present in the conda create-args list), and install the tool extra
so tests/test_bin.py's IPython/pygments-dependent mvtbtool coverage
still runs. Swap the conda-forge libegl install for the apt
equivalent on Linux.

Verified with a real pip install into an isolated venv: resolves to
opencv-contrib-python 4.14.0.94 (honoring the <5.0.0 pin for real),
full test suite passes (771 passed, 94 skipped).

Fixes #43

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@petercorke
petercorke force-pushed the ci/remove-conda-micromamba branch from 1a65a8e to b859069 Compare August 3, 2026 00:39
@petercorke
petercorke merged commit 01695ee into main Aug 3, 2026
19 checks passed
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.

ci.yml uses conda/micromamba; every sibling toolbox uses plain pip

1 participant