Skip to content

feat: format bulk commit from other sources in release notes#2665

Merged
JoeWang1127 merged 24 commits intomainfrom
feat/bulk-commit
Oct 24, 2025
Merged

feat: format bulk commit from other sources in release notes#2665
JoeWang1127 merged 24 commits intomainfrom
feat/bulk-commit

Conversation

@JoeWang1127
Copy link
Copy Markdown
Contributor

Fixes #2599

@codecov
Copy link
Copy Markdown

codecov bot commented Oct 23, 2025

Codecov Report

❌ Patch coverage is 96.00000% with 2 lines in your changes missing coverage. Please review.
✅ Project coverage is 86.97%. Comparing base (e607ea6) to head (8e47e5b).
⚠️ Report is 4 commits behind head on main.

Files with missing lines Patch % Lines
internal/librarian/release_notes.go 95.23% 1 Missing and 1 partial ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #2665      +/-   ##
==========================================
+ Coverage   86.93%   86.97%   +0.04%     
==========================================
  Files         108      108              
  Lines        9194     9238      +44     
==========================================
+ Hits         7993     8035      +42     
- Misses        861      862       +1     
- Partials      340      341       +1     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@JoeWang1127
Copy link
Copy Markdown
Contributor Author

/gemini review

Copy link
Copy Markdown
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request refactors the release note generation to better handle bulk commits, especially those not originating from the librarian generation process. The introduction of the separateCommits function is a clean way to categorize commits upfront. The changes are logical and supported by good test cases. I've found one issue with how library IDs are concatenated for bulk commits, which could lead to duplicates in the release notes. My specific comment includes a suggestion to address this.

@JoeWang1127 JoeWang1127 marked this pull request as ready for review October 23, 2025 18:10
@JoeWang1127 JoeWang1127 requested a review from a team as a code owner October 23, 2025 18:10
@JoeWang1127 JoeWang1127 requested a review from codyoss October 23, 2025 18:10
@JoeWang1127 JoeWang1127 requested a review from codyoss October 23, 2025 22:23
@JoeWang1127 JoeWang1127 requested a review from parthea October 24, 2025 14:24
@parthea
Copy link
Copy Markdown
Contributor

parthea commented Oct 24, 2025

/gemini review

Copy link
Copy Markdown
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request refactors the release note generation to better handle bulk commits, especially those from sources other than librarian itself. It introduces a new heuristic to identify bulk commits (if a commit affects 10 or more libraries) and separates them from library-specific changes in the release notes. The changes are well-tested. My review includes suggestions to improve maintainability by removing a magic number, avoiding mutation of function arguments, clarifying a comment, and refactoring a small block of code for robustness and clarity.

@JoeWang1127 JoeWang1127 requested a review from parthea October 24, 2025 15:58
@parthea
Copy link
Copy Markdown
Contributor

parthea commented Oct 24, 2025

/gemini review

Copy link
Copy Markdown
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request introduces a new feature to format bulk commits from other sources in release notes. The changes involve modifying the toCommit function to include the library ID and adding a new function separateCommits to categorize commits into bulk changes and library-specific changes. Additionally, the test cases are updated to reflect these changes. The review focuses on correctness and maintainability, particularly on the logic within the new separateCommits function and the modifications to existing functions.

@JoeWang1127 JoeWang1127 merged commit 7c52da2 into main Oct 24, 2025
8 checks passed
@JoeWang1127 JoeWang1127 deleted the feat/bulk-commit branch October 24, 2025 17:53
ldetmer added a commit that referenced this pull request Nov 6, 2025
PR created by the Librarian CLI to initialize a release. Merging this PR
will auto trigger a release.

Librarian Version: not available
Language Image:
us-central1-docker.pkg.dev/cloud-sdk-librarian-prod/images-prod/librarian-release-container:latest
<details><summary>librarian: 1.0.0</summary>

##
[1.0.0](v0.5.0...v1.0.0)
(2025-11-06)

### Features

* Remove `..._gax` dependency (#2713)
([01675b7](01675b72))

* add context to Librarian PRs (#2698)
([0523329](0523329a))

* add a package comment linter (#2712)
([1bd3e32](1bd3e32e))

* generate pom.xml files (#2682)
([50b95f2](50b95f20))

* add test-container test logic (#2656)
([514cf7e](514cf7e5))

* improve rust-publish logging (#2671)
([585ed50](585ed50b))

* write a timing log at the end of update-image (#2771)
([5fc9e3b](5fc9e3b6))

* migrate Java container from sdk-platform-java (#2670)
([69ac47f](69ac47fd))

* switch to original head after running update-image (#2696)
([7a3e404](7a3e404a))

* format bulk commit from other sources in release notes (#2665)
([7c52da2](7c52da2b))

* enable multi-version API generation (#2699)
([86c5250](86c52507))

* release stage to update pom.xml files (#2772)
([be56755](be567550))

* use proto presence info to generate null-safe code (#2726)
([e36fb81](e36fb81a))

* Base messages in google_cloud_protobuf (#2660)
([e607ea6](e607ea63))

### Bug Fixes

* retry Github 503 requests up to 3 times (#2650)
([09468fa](09468faf))

* Changed docs to ConfigurationException (#2697)
([0950c1e](0950c1e3))

* fix the reference to the old &#34;librariangen&#34; folder (#2677)
([09dc53f](09dc53fe))

* run godoclint via golangci-lint (#2751)
([264a6a0](264a6a0e))

* pass context as the first argument (#2769)
([298a3bd](298a3bd8))

* Move HTTP client creation to `_gax` (#2672)
([4968d63](4968d63d))

* deduplicate bulk commits (#2758)
([4dfae9a](4dfae9ae))

* Support additional api paths for an existing library (#2666)
([50046f5](50046f55))

* remove stray TODO (#2748)
([5072f0e](5072f0e0))

* omit status field when empty (#2654)
([572ae4f](572ae4f3))

* use T.Context in tests (#2768)
([7e7cd2d](7e7cd2dd))

* wrap error to provide more context for commitAndPush (#2767)
([a2a41a4](a2a41a4a))

* use t.Fatal in tests for proper failure handling (#2759)
([cdabb28](cdabb287))

* enforce removal before copying library files (#2765)
([d5ac6c8](d5ac6c87))

* change log level to debug (#2798)
([f042d0b](f042d0bd))

* change path to `doc.go` in docgen test (#2700)
([fd6bae4](fd6bae40))

### Documentation

* use consistent library id in flags and examples (#2770)
([87a1005](87a10056))

</details>
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.

librarian: decide how we handle bulk changes outside of generate PRs

3 participants