Bump a package version¶
Most recipes track upstream tags via
Renovate.
A weekend cron opens a PR per upstream release; review the diff,
merge if CI is green, and the new build flows to prefix.dev/ship.
Renovate-managed recipes¶
The customManagers in renovate.json cover three patterns:
- GitHub tags via
archive/refs/tags/v<X>.tar.gzURLs. - GitHub tags via templated
context.version+archive/URLs. - GitLab CERN tags via templated
context.version+archive/URLs.
If you copy a sibling recipe (Add a new recipe) its source URL will already match one of these patterns and Renovate will pick it up automatically.
When Renovate opens a PR, check that:
build.numberwas reset to0. Renovate doesn't reset it; you may need to edit the PR.source.sha256was bumped. Renovate doesn't refresh hashes for every pattern; if the PR fails to build with a hash mismatch, copy the expected SHA from the rattler-build error and push it.
Dev twins and [package].version¶
Some artifacts outside ship-conda-recipes mirror release recipes for
the developer workflow and must be bumped in
the same breath:
- the
[package].versionin the source repo'spixi.toml(data-model, Geometry, geometry_service) — source-built dev packages must carry the released version orrun_exportspins stop resolving; field_service/recipe/recipe.yaml— dev twin ofrecipes/field-service/recipe.yaml;ship-conda-recipes/recipes-dev/phlex/— dev twin of the conda-forge phlex feedstock recipe.
Branch-pinned recipes (manual)¶
A few recipes pin a branch or commit instead of a release tag.
These are disabled in renovate.json:
SHiP/FairShipShipSoft/data-modelShipSoft/geometry_serviceSND-LHC/pythia6luketpickering/ROOTEGPythia6
To bump one:
- Edit
recipes/<pkg>/recipe.yaml: context.version— the new short SHA or branch name.source.url— point at the new commit (archive/<sha>.tar.gz).source.sha256— recompute.- Bump
build.numberif the upstream change doesn't change the version string but should produce a fresh package. - Open a PR.
ABI rebuilds across the channel¶
When an ABI break lands in an upstream conda-forge package
(root major version, geant4 major version, libstdcxx, etc.):
- Bump
build.numberon every recipe that links the affected library. The current build numbers serve as the rebuild signal. - Trigger
workflow_dispatchonbuild.yml. The--skip-existing=allflag will pick up the bumped build numbers as new packages to build and skip the rest.
For a smaller, targeted rebuild of a single recipe, use the
recipe and force inputs to workflow_dispatch (see
CI workflows and secrets).