Skip to content

ci(release): hint at crates left out of a proposal affected by its major bumps - #2391

Merged
iunanua merged 2 commits into
igor/versioning/proposal-wf-cleanupfrom
igor/versioning/proposal-wf-hints
Aug 31, 2026
Merged

ci(release): hint at crates left out of a proposal affected by its major bumps#2391
iunanua merged 2 commits into
igor/versioning/proposal-wf-cleanupfrom
igor/versioning/proposal-wf-hints

Conversation

@iunanua

@iunanua iunanua commented Aug 21, 2026

Copy link
Copy Markdown
Contributor

What does this PR do?

Release candidates only come from publication-order.sh, which walks downward: the selected crates plus the libdd-* crates they depend on. Dependents outside that closure are never candidates, yet cargo release version still rewrites their dependency requirement to the new major. Their published version keeps requiring the old major, and their next proposal is force-bumped to major by major-bumps-level.sh with nothing having said so at the time.

Report those crates, grouped by the major-bumped dependency, in the job log, the step summary and the proposal PR body. A crate is reported when it has a direct (non-dev, non-build) dependency on a crate released here at level major whose requirement now names the new major, which is the same extraction rule major-bumps-level.sh applies, so a hint cannot disagree with the audit that runs next time.

The step is informational.

…jor bumps

Release candidates only come from publication-order.sh, which walks downward:
the selected crates plus the libdd-* crates they depend on. Dependents outside
that closure are never candidates, yet `cargo release version` still rewrites
their dependency requirement to the new major. Their published version keeps
requiring the old major, and their next proposal is force-bumped to major by
major-bumps-level.sh with nothing having said so at the time.

Report those crates, grouped by the major-bumped dependency, in the job log,
the step summary and the proposal PR body. A crate is reported when it has a
direct (non-dev, non-build) dependency on a crate released here at level major
whose requirement now names the new major, which is the same extraction rule
major-bumps-level.sh applies, so a hint cannot disagree with the audit that
runs next time.

The step is informational: it never touches the tree, always exits 0, and
carries continue-on-error so a bug in the hints cannot fail a run whose
version bumps are already committed. When nothing is affected the markdown
file is empty and the PR body is unchanged.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@datadog-official

This comment has been minimized.

Comment thread scripts/release-excluded-crates-hints.sh Outdated
Co-authored-by: Julio Gonzalez <107922352+hoolioh@users.noreply.github.com>
@iunanua
iunanua marked this pull request as ready for review August 31, 2026 10:09
@iunanua
iunanua requested a review from a team as a code owner August 31, 2026 10:09
@iunanua
iunanua merged commit f63cac1 into igor/versioning/proposal-wf-cleanup Aug 31, 2026
21 of 23 checks passed
@iunanua
iunanua deleted the igor/versioning/proposal-wf-hints branch August 31, 2026 10:09

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: c4ec5224d9

ℹ️ About Codex in GitHub

Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

[
"### :warning: Crates left out of this proposal affected by its major bumps",
"",
"These publishable workspace crates are not part of this release but their dependency requirement was rewritten on this branch while their published version still requires the old major. If they're a dependency on your deployment not including them in the release could result in duplicate packages or symbol incompatibility.",

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Escape the apostrophe inside the jq program

The apostrophe in they're terminates the single-quoted jq argument opened on line 72, so Bash reports a syntax error near def first_num(s) on every invocation. Because the workflow marks this step continue-on-error, release proposals still proceed but never produce the intended warning or markdown artifact; reword the contraction or escape it without ending the jq program.

Useful? React with 👍 / 👎.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ouch

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed here

iunanua added a commit that referenced this pull request Sep 2, 2026
…jor bumps (#2391)

Release candidates only come from publication-order.sh, which walks
downward: the selected crates plus the libdd-* crates they depend on.
Dependents outside that closure are never candidates, yet `cargo release
version` still rewrites their dependency requirement to the new major.
Their published version keeps requiring the old major, and their next
proposal is force-bumped to major by major-bumps-level.sh with nothing
having said so at the time.

Report those crates, grouped by the major-bumped dependency, in the job
log, the step summary and the proposal PR body. A crate is reported when
it has a direct (non-dev, non-build) dependency on a crate released here
at level major whose requirement now names the new major, which is the
same extraction rule major-bumps-level.sh applies, so a hint cannot
disagree with the audit that runs next time.

The step is informational.

---------

Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
Co-authored-by: Julio Gonzalez <107922352+hoolioh@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants