You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Feature proposal: configure the numeric part of the wheel build tag #1390
Allow callers to set the numeric part of the wheel build tag from an external
rebuild counter. Currently, Fromager derives it from the combined variant and
package changelog lengths. The existing build_tag_hook
can append suffix segments but cannot supply the numeric part.
Add an optional per-package setting, proposed here as build_number, keyed by
public version (without the local version suffix; local-version keys are
rejected):
build_number:
"1.2.3": 0"2.0": 7
For configured versions:
Use the nonnegative integer instead of changelog lengths, retaining the
changelogs as history and preserving suffixes from build_tag_hook.
Make explicit zero produce a build tag with numeric part 0. A wheel without
a build tag does not satisfy it.
Require the complete expected build tag in local and remote cache checks,
consistently across bootstrap, build and build-sequence. Other build tags
are cache misses, including those with a higher numeric part. See the related
cache inconsistency in #1360.
Ensure installation into the build environment uses wheels with the expected
build tags, including transitive dependencies. Selecting the correct cached
wheel is insufficient if the installer can still choose a different build tag
from the local package repository. Installation must fail when a required
wheel with the expected build tag is unavailable.
Unconfigured versions retain their changelog-derived tags and cache-matching
behavior; pre-built wheels retain their original tags. Configuring any active
explicit build number switches build-environment dependency installation to
a local-only wheel view and reinstalls dependencies, so all required dependency
wheels must be available locally. The caller owns the external rebuild counter
and publication policy.
I’ve moved this feature proposal to #1392 for review as a document in docs/proposals/, as requested in #1391. I’m closing this issue as superseded so the design discussion can continue on the proposal PR. The implementation remains in #1391 and will need to follow the agreed scope.
Before you write a proposal, can I have a 3 sentence elevator pitch that explains the problem, a concrete use case, and why we should replace the changelogs?
@tiran@rd4398 We want a saved build catalog to explicitly identify which wheel revision should be produced or reused, supporting repeatable build orchestration. For example, a catalog requesting build 1 should not require rewriting imported changelogs whose entries currently total 3. An optional build_number provides that control while preserving changelog-based defaults.
Activity
feat(settings): support explicit per-version wheel build numbers
tiran commentedon Oct 23, 2026
@Lanceypantsy @rd4398 @mikedep333 Can somebody explain to me in 3 sentences why we need this in addition to the changelog entries?
mikedep333 commentedon Oct 23, 2026
I’ve moved this feature proposal to #1392 for review as a document in
docs/proposals/, as requested in #1391. I’m closing this issue as superseded so the design discussion can continue on the proposal PR. The implementation remains in #1391 and will need to follow the agreed scope.rd4398 commentedon Oct 23, 2026
+1 to the ask. I saw this today and I don't know why this needed. Hence asked for a proposal first
tiran commentedon Oct 23, 2026
Before you write a proposal, can I have a 3 sentence elevator pitch that explains the problem, a concrete use case, and why we should replace the changelogs?
mikedep333 commentedon Oct 23, 2026
@tiran @rd4398 We want a saved build catalog to explicitly identify which wheel revision should be produced or reused, supporting repeatable build orchestration. For example, a catalog requesting build
1should not require rewriting imported changelogs whose entries currently total3. An optionalbuild_numberprovides that control while preserving changelog-based defaults.