Skip to content

ci: skill to review release proposal PRs - #2394

Draft
iunanua wants to merge 3 commits into
mainfrom
igor/versioning/proposal-docs
Draft

ci: skill to review release proposal PRs#2394
iunanua wants to merge 3 commits into
mainfrom
igor/versioning/proposal-docs

Conversation

@iunanua

@iunanua iunanua commented Aug 21, 2026

Copy link
Copy Markdown
Contributor

What does this PR do?

Include a claude skill to review a libdatadog release-proposal PR that bumps multiple crate versions.

Document the crates.io release-proposal flow end to end: the dispatch
workflow, how the semver bump level is derived, what CI validates on the
proposal PR, and the manual GitLab publish job.

Calls out the semver-level.sh / major-bumps-level.sh limitations (they only
under-estimate, so minor and patch bumps are the ones to review), that the
hotfix path is implemented but untested, and a troubleshooting table.

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

pr-commenter Bot commented Aug 21, 2026

Copy link
Copy Markdown

Benchmarks

Comparison

Candidate

Candidate benchmark details

Baseline

Baseline benchmark details

@datadog-datadog-us1-prod

datadog-datadog-us1-prod Bot commented Aug 21, 2026

Copy link
Copy Markdown

🎯 Code Coverage (details)
Patch Coverage: 100.00%
Overall Coverage: 76.87% (+0.26%)

This comment will be updated automatically if new data arrives.
🔗 Commit SHA: bbcd408 | Docs | View more details | Give us feedback!

@dd-octo-sts

dd-octo-sts Bot commented Aug 21, 2026

Copy link
Copy Markdown
Contributor

Artifact Size Benchmark Report

aarch64-alpine-linux-musl
Artifact Baseline Commit Change
/aarch64-alpine-linux-musl/lib/libdatadog_profiling.a 89.52 MB 89.52 MB 0% (0 B) 👌
/aarch64-alpine-linux-musl/lib/libdatadog_profiling.so 8.26 MB 8.26 MB 0% (0 B) 👌
aarch64-unknown-linux-gnu
Artifact Baseline Commit Change
/aarch64-unknown-linux-gnu/lib/libdatadog_profiling.a 100.70 MB 100.70 MB 0% (0 B) 👌
/aarch64-unknown-linux-gnu/lib/libdatadog_profiling.so 11.06 MB 11.06 MB 0% (0 B) 👌
libdatadog-x64-windows
Artifact Baseline Commit Change
/libdatadog-x64-windows/debug/dynamic/datadog_profiling_ffi.dll 26.64 MB 26.64 MB 0% (0 B) 👌
/libdatadog-x64-windows/debug/dynamic/datadog_profiling_ffi.lib 94.96 KB 94.96 KB 0% (0 B) 👌
/libdatadog-x64-windows/debug/dynamic/datadog_profiling_ffi.pdb 180.73 MB 180.73 MB +0% (+8.00 KB) 👌
/libdatadog-x64-windows/debug/static/datadog_profiling_ffi.lib 772.85 MB 772.85 MB 0% (0 B) 👌
/libdatadog-x64-windows/release/dynamic/datadog_profiling_ffi.dll 8.73 MB 8.73 MB 0% (0 B) 👌
/libdatadog-x64-windows/release/dynamic/datadog_profiling_ffi.lib 94.96 KB 94.96 KB 0% (0 B) 👌
/libdatadog-x64-windows/release/dynamic/datadog_profiling_ffi.pdb 25.65 MB 25.65 MB 0% (0 B) 👌
/libdatadog-x64-windows/release/static/datadog_profiling_ffi.lib 51.09 MB 51.09 MB 0% (0 B) 👌
libdatadog-x86-windows
Artifact Baseline Commit Change
/libdatadog-x86-windows/debug/dynamic/datadog_profiling_ffi.dll 23.22 MB 23.22 MB 0% (0 B) 👌
/libdatadog-x86-windows/debug/dynamic/datadog_profiling_ffi.lib 96.45 KB 96.45 KB 0% (0 B) 👌
/libdatadog-x86-windows/debug/dynamic/datadog_profiling_ffi.pdb 185.66 MB 185.66 MB 0% (0 B) 👌
/libdatadog-x86-windows/debug/static/datadog_profiling_ffi.lib 759.09 MB 759.09 MB 0% (0 B) 👌
/libdatadog-x86-windows/release/dynamic/datadog_profiling_ffi.dll 6.74 MB 6.74 MB 0% (0 B) 👌
/libdatadog-x86-windows/release/dynamic/datadog_profiling_ffi.lib 96.45 KB 96.45 KB 0% (0 B) 👌
/libdatadog-x86-windows/release/dynamic/datadog_profiling_ffi.pdb 27.59 MB 27.59 MB 0% (0 B) 👌
/libdatadog-x86-windows/release/static/datadog_profiling_ffi.lib 48.62 MB 48.62 MB 0% (0 B) 👌
x86_64-alpine-linux-musl
Artifact Baseline Commit Change
/x86_64-alpine-linux-musl/lib/libdatadog_profiling.a 79.78 MB 79.78 MB 0% (0 B) 👌
/x86_64-alpine-linux-musl/lib/libdatadog_profiling.so 9.16 MB 9.16 MB 0% (0 B) 👌
x86_64-unknown-linux-gnu
Artifact Baseline Commit Change
/x86_64-unknown-linux-gnu/lib/libdatadog_profiling.a 95.42 MB 95.42 MB 0% (0 B) 👌
/x86_64-unknown-linux-gnu/lib/libdatadog_profiling.so 11.17 MB 11.17 MB 0% (0 B) 👌

@hoolioh
hoolioh marked this pull request as ready for review August 31, 2026 10:48
@hoolioh
hoolioh requested review from a team as code owners August 31, 2026 10:48

@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: 60cb56f63d

ℹ️ 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".

print(f"{d:28} {'PUB' if m['publish'] else '-':4} {(b['ver'] if b else '?'):10} {m['ver']:10} {bumped:16} {direct}")
PY
```
Any `PUB` crate flagged `** NOT-MAJOR **` is a defect: it either needs adding to the release as a major bump, or (if already in the list) its bump needs raising to major. Remember the intra-closure requirement edges must also move to the new majors (e.g. `crashtracker → telemetry ^N`).

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Limit the cascade check to non-duplicable crates

Run this blanket closure check only for major-bumped crates that fail the preceding safe-to-duplicate test. As written, a proposal that major-bumps a crate which passes both checks will still cause every publishable reverse dependent to be reported as a defect, directly contradicting the earlier no cascade verdict and prompting unnecessary major releases.

Useful? React with 👍 / 👎.

Comment thread docs/release-proposals.md Outdated
Comment thread .claude/skills/release-proposal-pr-review-bumps/SKILL.md Outdated
Comment thread .claude/skills/release-proposal-pr-review-bumps/SKILL.md Outdated
Comment thread docs/release-proposals.md Outdated
Comment thread docs/release-proposals.md Outdated
@gh-worker-ownership-write-b05516
gh-worker-ownership-write-b05516 Bot removed the request for review from a team September 2, 2026 13:00
The bump rules classified any additive diff as minor ("new pub items,
nothing removed/changed"), which contradicted the skill's own note that
added trait impls can break inference. Adding an enum variant, a required
trait method, or a field to a constructible struct breaks downstream
matches, impls, and literals, so a reviewer following the rule could
approve a breaking change as a minor release.

- List the four additive-but-breaking forms under major, each with the
  exemption that must be verified in code (#[non_exhaustive] at the base
  ref, a default body, a pre-existing private field).
- Require subagents to walk that list before returning minor.
- Replace the scripts/tests/semver-level/ citation: no such directory,
  detection_matrix.bats, or README exists in the tree. Point at
  semver-level.sh, the workflow tool pins (0.48.0, not the claimed
  0.47.0), and cargo semver-checks --list instead.
- Note that --list's type column is the required update, not the lint
  level, so a major-typed lint can still be warn-level and exit 0.
@iunanua
iunanua marked this pull request as draft September 2, 2026 15:27
@iunanua iunanua changed the title docs: add a practical guide to release proposals ci: skill to review release proposal PRs Sep 2, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant