Skip to content

fix: associate bulk change to individual libraries#2626

Merged
JoeWang1127 merged 23 commits intomainfrom
fix/display-bulk-change
Oct 22, 2025
Merged

fix: associate bulk change to individual libraries#2626
JoeWang1127 merged 23 commits intomainfrom
fix/display-bulk-change

Conversation

@JoeWang1127
Copy link
Copy Markdown
Contributor

Fixes #2609

@codecov
Copy link
Copy Markdown

codecov bot commented Oct 20, 2025

Codecov Report

❌ Patch coverage is 90.81633% with 9 lines in your changes missing coverage. Please review.
✅ Project coverage is 85.71%. Comparing base (1060946) to head (1935649).
⚠️ Report is 2 commits behind head on main.

Files with missing lines Patch % Lines
internal/librarian/tag_and_release.go 90.81% 6 Missing and 3 partials ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #2626      +/-   ##
==========================================
+ Coverage   85.68%   85.71%   +0.02%     
==========================================
  Files         108      108              
  Lines       11059    11143      +84     
==========================================
+ Hits         9476     9551      +75     
- Misses       1250     1256       +6     
- Partials      333      336       +3     

☔ 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 JoeWang1127 marked this pull request as ready for review October 20, 2025 19:26
@JoeWang1127 JoeWang1127 requested a review from a team as a code owner October 20, 2025 19:26
@JoeWang1127 JoeWang1127 requested a review from codyoss October 20, 2025 19:26
@codyoss
Copy link
Copy Markdown
Member

codyoss commented Oct 20, 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 functionality to parse 'Bulk Changes' from a pull request body and associate them with individual library releases. The implementation refactors the PR body parsing logic to accommodate this. However, I've found a couple of issues with the new parsing logic. The regular expression for bulk changes will fail to match the format present in the test data, and the parsing of library lists doesn't handle whitespace, which can lead to incorrect associations. I've provided suggestions to fix these issues.

@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 parsing of pull request bodies to correctly associate bulk changes with individual libraries. The logic has been updated to use a map to aggregate release notes, including a new regular expression to parse bulk change sections. The changes look good overall, but I've identified a few areas for improvement: a potential bug with whitespace handling in library lists, a typo in a struct name, and an opportunity to improve efficiency in a helper function. I've left specific comments with suggestions for each of these points.

@JoeWang1127 JoeWang1127 requested a review from codyoss October 20, 2025 21:54
@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

The pull request introduces changes to internal/librarian/release_notes_test.go and internal/librarian/tag_and_release.go to associate bulk changes to individual libraries during release note generation. The changes include adding new regular expressions, a template for library releases, and modifications to the parsePullRequestBody function to handle bulk changes. The tests have also been updated to reflect these changes.

@JoeWang1127 JoeWang1127 requested a review from codyoss October 22, 2025 15:32
@JoeWang1127 JoeWang1127 enabled auto-merge (squash) October 22, 2025 15:45
@JoeWang1127 JoeWang1127 merged commit dd24921 into main Oct 22, 2025
9 checks passed
@JoeWang1127 JoeWang1127 deleted the fix/display-bulk-change branch October 22, 2025 15:45
ldetmer pushed a commit that referenced this pull request Oct 22, 2025
Librarian Version: v0.0.0-20251022154542-dd249212325d
Language Image:
us-central1-docker.pkg.dev/cloud-sdk-librarian-prod/images-prod/librarian-release-container:latest
<details><summary>librarian: 0.5.0</summary>

##
[0.5.0](v0.4.0...v0.5.0)
(2025-10-22)

### Features

* speed up finding changed files in commits (#2645)
([1060946](10609465))

* Can config dart `export` (#2641)
([97eacd2](97eacd29))

* minor whitespace and doc changes to the Dart templates (#2636)
([b3ac7b4](b3ac7b42))

* only generate libraries with changed APIs (#2618)
([82171be](82171bed))

* make extra modules public (#2622)
([2c94a53](2c94a53f))

* skip a GitHub release for a library (#2612)
([6258f4d](6258f4d1))

* allow skipping semver checks for rust-publish (#2584)
([739ce0d](739ce0d5))

* add ability to open pull request as a draft (#2604)
([c1f0285](c1f02859))

* capture discovery revision (#2605)
([14a1483](14a14830))

* Add conditional instrumentation to gRPC clients (#2594)
([3cc63b2](3cc63b22))

* add update-image CLI command (#2580)
([90e0f6e](90e0f6e5))

* Generate more samples for oneof main setters. (#2592)
([c55f3ce](c55f3ceb))

* Add documentation for generated service constructors (#2575)
([6a4aead](6a4aeade))

* disable some clippy warnings (#2567)
([9f51084](9f510842))

* Generate setter samples for oneof fields. (#2573)
([8c2416a](8c2416ab))

* add default Rust features option (#2562)
([892f42b](892f42b7))

* Include a correct URL for issues (#2570)
([10493ed](10493ed9))

* add ability to find the latest docker image SHA (#2539)
([62e80f1](62e80f19))

* add ability to checkout a repo at a certain commit (#2555)
([23b8ffe](23b8ffea))

* add onboarding PR body (#2552)
([e32719c](e32719cd))

### Bug Fixes

* associate bulk change to individual libraries (#2626)
([dd24921](dd249212))

* Allow `unnecessary_import`s (#2642)
([88c4379](88c43794))

* resolve issue where onboarded library can&#39;t be released (#2632)
([b300a4e](b300a4ea))

* resolve issue where commits cannot be fetched for new library (#2631)
([45652c0](45652c03))

* address a typo in the Message.ServicePlaceholder docs (#2616)
([82fda96](82fda96b))

* bad version bump edits (#2613)
([9902b1d](9902b1d5))

* use templates for update-image PR body (#2602)
([7309cad](7309cadd))

* populate configure command pr content (#2591)
([811eb8e](811eb8e2))

* shrink release PR size when there are bulk changes (#2585)
([bcb914a](bcb914ac))

* Fixes several issues with oneof main setter samples (#2589)
([e4958d0](e4958d00))

* resolve broken link in PR body (#2579)
([098c1d2](098c1d24))

* Remove double sample code blocks (#2582)
([6b10456](6b104567))

* change commit package (#2571)
([45ee48f](45ee48f0))

* show chores in release notes (#2544)
([88b62cc](88b62ccb))

* avoid work duplication when finding changes (#2558)
([0adeeac](0adeeac6))

* mangled method names and doc links (#2565)
([895dac9](895dac94))

### Reverts

* show chores in release notes (#2601)
([7e6740f](7e6740ff))

</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: Bulk changes do not appear in Github release

2 participants