Conda-Forge Release Process
Nebi publishes two packages to conda-forge:
nebi— the CLI (pure Go,go-nocgo)nebi-desktop— the Wails desktop app (go-cgo+ GTK3 + WebKit2GTK on Linux)
How releases work
Releases to conda-forge are fully automated after initial setup:
- Tag a new release (e.g.,
git tag v0.8) and push it - GoReleaser creates a GitHub release with source tarball
- The conda-forge bot (
regro-cf-autotick-bot) detects the new release - Bot opens a PR to each feedstock (
nebi-feedstock,nebi-desktop-feedstock) with the updated version and SHA256 - CI builds and tests the package on Linux, macOS, and Windows
- With
bot: automerge: 'version'enabled, the PR auto-merges when CI passes - Package is available on conda-forge within a few hours
No manual intervention is needed for version bumps.
Feedstock repos
Once the staged-recipes PR is merged, conda-forge creates:
Maintainers listed in the recipe get commit access to these repos.
Recipe structure
Recipes are maintained in the feedstock repos (linked above). They use the v1 format (recipe.yaml) with rattler-build.
nebi (CLI)
- Compiler:
go-nocgo(pure Go, no CGO) - Build: installs npm deps → builds React frontend → embeds in Go binary via
//go:embed→go build ./cmd/nebi - License:
go-licensescollects all transitive Go dependency licenses - Platforms: linux-64, linux-aarch64, osx-64, osx-arm64, win-64
nebi-desktop (Desktop App)
- Compiler:
go-cgo+ C/C++ compilers - Host deps (Linux):
gtk3,webkit2gtk4.1,glib,libsoup, plus transitive deps (gdk-pixbuf,zlib,expat,fontconfig) needed for pkg-config resolution at compile time - Build: installs npm deps → builds frontend →
wails buildwith-tags webkit2_41on Linux - Platforms: linux-64, osx-64, osx-arm64, win-64
Testing recipes locally
Clone a feedstock and build locally with rattler-build:
pixi global install rattler-build
gh repo clone conda-forge/nebi-feedstock
rattler-build build --recipe nebi-feedstock/recipe/recipe.yaml
The desktop recipe needs a conda_build_config.yaml for local builds (not needed on conda-forge CI):
# conda_build_config.yaml (local builds only)
c_stdlib:
- sysroot
c_stdlib_version:
- "2.17"
Install a locally-built package:
pixi global install --channel ./output --channel conda-forge nebi
Updating recipes
For most changes (dependency updates, build fixes), edit the recipe in the feedstock repo directly and open a PR. The feedstock CI will test the changes.
For version bumps, just tag a new release — the bot handles it automatically.