From 0ff23fe9541b366ac8baa0eba85824299fb1201d Mon Sep 17 00:00:00 2001 From: cmdupuis3 Date: Fri, 13 Nov 2026 12:18:07 -0600 Subject: [PATCH] Give asv a conda executable in the micromamba benchmark env The PR benchmark workflow failed in Setup with "Could not find 'conda' in PATH": asv.conf.json uses environment_type "conda", so asv shells out to a conda executable, which micromamba does not provide. `mamba` in create-args used to pull conda in, but mamba 2.x is a standalone binary that no longer depends on it. mamba itself was only needed while environment_type was "mamba" (#831, switched back to "conda" in #844); asv 0.6.6 has no mamba backend. Install `conda` instead of `mamba`, and drop `python-build`: asv builds the wheel in its own env, where the asv.conf.json matrix provides it. asv's faster "rattler" backend was considered, but it passes the `nodefaults` entry of ci/environment.yml to the solver as a real channel and fails fetching conda.anaconda.org/nodefaults. `nodefaults` stays: it is what keeps uxarray_build defined by the repo alone, not by a user's .condarc. Also: - ci.yml link-check and upstream-dev-ci.yml set up with micromamba but ran `conda list`, which micromamba cannot satisfy; use `micromamba list`. - asv.conf.json: list the environment types asv 0.6.6 actually has. Co-Authored-By: Claude Opus 5.5 --- .github/workflows/asv-benchmarking-pr.yml | 6 ++++-- .github/workflows/ci.yml | 4 ++-- .github/workflows/upstream-dev-ci.yml | 8 ++++---- benchmarks/asv.conf.json | 2 +- 4 files changed, 11 insertions(+), 9 deletions(-) diff --git a/.github/workflows/asv-benchmarking-pr.yml b/.github/workflows/asv-benchmarking-pr.yml index ae3d78421..0c902e506 100644 --- a/.github/workflows/asv-benchmarking-pr.yml +++ b/.github/workflows/asv-benchmarking-pr.yml @@ -61,10 +61,12 @@ jobs: cache-environment: true environment-name: uxarray_build cache-environment-key: "${{runner.os}}-${{runner.arch}}-${{hashFiles(env.CONDA_ENV_FILE)}}-benchmark" + # asv's "conda" environment_type shells out to a `conda` executable, + # which micromamba does not provide. (asv's faster "rattler" backend + # cannot read the `nodefaults` channel in the environment file.) create-args: >- asv - python-build - mamba + conda - name: Resolve the baseline commit id: base diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 661fb0f52..5cf201d99 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -104,9 +104,9 @@ jobs: run: | python -m pip install . --no-deps - - name: conda list + - name: micromamba list run: | - conda list + micromamba list - name: Make docs with linkcheck uses: nick-fields/retry@ad984534de44a9489a53aefd81eb77f87c70dc60 # v4.0.0 diff --git a/.github/workflows/upstream-dev-ci.yml b/.github/workflows/upstream-dev-ci.yml index b3f7c9f16..d2e5620ba 100644 --- a/.github/workflows/upstream-dev-ci.yml +++ b/.github/workflows/upstream-dev-ci.yml @@ -40,9 +40,9 @@ jobs: create-args: >- python=${{ matrix.python-version }} - - name: conda list + - name: micromamba list run: | - conda list + micromamba list - name: Install upstream versions run: | @@ -52,9 +52,9 @@ jobs: run: | python -m pip install . --no-deps - - name: conda list + - name: micromamba list run: | - conda list + micromamba list - name: Running Tests id: tests diff --git a/benchmarks/asv.conf.json b/benchmarks/asv.conf.json index c4d47650a..13dce1c6d 100644 --- a/benchmarks/asv.conf.json +++ b/benchmarks/asv.conf.json @@ -54,7 +54,7 @@ "dvcs": "git", // The tool to use to create environments. May be "conda", - // "virtualenv", "mamba" (above 3.8) + // "virtualenv", "uv", "rattler" // or other value depending on the plugins in use. // If missing or the empty string, the tool will be automatically // determined by looking for tools on the PATH environment