Repository navigation
comline release; builds show the release they lead to - #90
Merged
Merged
Conversation
- comline release builds first, then releases: the highest bump since the last release, --raise LEVEL --reason to go higher (major asks first), release 1.0 to make a 0.x package stable after saying what that commits to (protocols and their handshakes; given-up guarantees and deprecated declarations as things worth settling first). Asks on a terminal, --yes otherwise. - comline build shows the next release and what calls for it. - package_versions = "all" generates every release, not every build. - Core af0371f (builds and releases) and the generators pinning it.
This was referenced Oct 20, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The CLI half of ComlineProject/core#133 (core#122 / cli#82, decided in docs#64).
comline releasebuilds first, so what's released is what's insrc/, then creates the version from the highest bump since the last release. It prints the changes behind it, the bump, and any reason. If nothing calls for a bump, it refuses unless the bump is raised.--raise patch|minor|major --reason "…"releases a higher bump. The reason is required and recorded. Raising to major asks first. A raise the changes already reach is reported as covered.comline release 1.0says what 1.0 commits to:Then it asks. Any other version is refused, because versions come from the changes.
Confirmation follows
comline accept's pattern: ask on a terminal (default no); otherwise exit 2 unless--yes.comline buildreportsinitial build 0.1.0-dev.1and anext release: 0.1.1 (new features since 0.1.0) — runcomline release`` line.package_versions = "all"now generates every release, not every build. A list can still name builds.Not here, by decision:
--lower(its consumer acceptance isn't designed) and assigning@idat 1.0 (core#127).build --releasestays the reserved no-op it was; its name now reads oddly besidecomline release, so it's worth a decision whether to drop it.Tests:
tests/cli/release.rscovers releasing, nothing to release, raising (reason, confirmation, covered), and 1.0 (refused without confirmation, then once only, andrelease 2.0refused).nreleases nothing,yreleases 1.0.0.113 tests pass. Merge after the core PR and generation.