Skip to content

Install CI's packages from the configured channels, without -c nodefaults - #671

Merged
eriknw merged 1 commit into
mainfrom
62-ci-drop-nodefaults-channel
Nov 13, 2026
Merged

eriknw merged 1 commit into
mainfrom
62-ci-drop-nodefaults-channel

Conversation

@eriknw

@eriknw eriknw commented Nov 12, 2026

Copy link
Copy Markdown
Member

Summary

In an environment file, nodefaults is a keyword that drops the defaults channel. On the command line it is an ordinary channel name, and anaconda.org has a channel called nodefaults (empty for now). So CI's install searched it first, ahead of conda-forge, with strict channel priority: a package uploaded there would be what CI installs.

-          $(command -v mamba || command -v conda) install -c nodefaults \
+          $(command -v mamba || command -v conda) install \

setup-miniconda already makes conda-forge the only channel (conda-forge and defaults for PyPy), and the install now uses those. The nodefaults entries in environment.yml and docs/env.yml are the keyword, and stay.

Evidence

  • Before: a CI log on Windows (job 131368917154):
    + conda install -c nodefaults packaging pip pytest ...
    Channels:
     - nodefaults
     - conda-forge
    
    conda 26.10.0 resolves it the same way: conda search --override-channels -c nodefaults zlib searches https://conda.anaconda.org/nodefaults/osx-arm64 and .../noarch, whose repodata.json exists and lists no packages.
  • After: this PR's CI logs list only conda-forge (and defaults on PyPy) under Channels:.

Merge Danger

Door: two-way

Blast Radius: CI only. The nodefaults channel is empty, so dropping it changes no solve.

🤖 Generated with Claude Code

…ults

In an environment file, nodefaults is a keyword that drops the defaults
channel. On the command line it is an ordinary channel name, and
anaconda.org has a channel called nodefaults (empty for now), so
`conda install -c nodefaults` searched it first, ahead of conda-forge,
with strict channel priority: a package uploaded there would be what CI
installed. setup-miniconda already makes conda-forge the only channel
(conda-forge and defaults for PyPy), and the install now uses those.
@codecov

codecov Bot commented Nov 12, 2026 •

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 99.03%. Comparing base (db36c4c) to head (81e21ff).

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #671      +/-   ##
==========================================
+ Coverage   98.29%   99.03%   +0.74%     
==========================================
  Files         105      105              
  Lines       31268    31268              
  Branches     3657     3657              
==========================================
+ Hits        30735    30967     +232     
+ Misses        371      195     -176     
+ Partials      162      106      -56     
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@eriknw
eriknw merged commit 42847ad into main Nov 13, 2026
20 checks passed
@eriknw
eriknw deleted the 62-ci-drop-nodefaults-channel branch November 13, 2026 04:29
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