Skip to content

Commit 59a7319

Browse files
docs: include mirror changelog info in developer docs (#56)
Co-authored-by: Averi Kitsch <akitsch@google.com>
1 parent b4c753d commit 59a7319

File tree

1 file changed

+35
-1
lines changed

1 file changed

+35
-1
lines changed

DEVELOPER.md

Lines changed: 35 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,41 @@ The primary maintainers for this repository are defined in the
9898
9999
### Releasing
100100
101-
The release process is automated using `release-please`.
101+
The release process is automated using `release-please`. It consists of an automated changelog preparation step followed by the manual merging of a Release PR.
102+
103+
#### Automated Changelog Enrichment
104+
105+
Before a Release PR is even created, a special workflow automatically mirrors
106+
relevant changelogs from the core `googleapis/genai-toolbox` dependency. This
107+
ensures that the release notes for this extension accurately reflect important
108+
upstream changes.
109+
110+
The process is handled by the [`mirror-changelog.yml`](.github/workflows/mirror-changelog.yml) workflow:
111+
112+
1. **Trigger:** The workflow runs automatically on pull requests created by
113+
Renovate for `toolbox` version updates.
114+
2. **Parsing:** It reads the detailed release notes that Renovate includes in
115+
the PR body.
116+
3. **Filtering:** These release notes are filtered to include only changes
117+
relevant to this extension. The relevance is determined by a keyword (e.g.,
118+
`postgres`), passed as an environment variable in the workflow file.
119+
4. **Changelog Injection:** The script formats the filtered entries as
120+
conventional commits and injects them into the PR body within a
121+
`BEGIN_COMMIT_OVERRIDE` block.
122+
5. **Release Please:** When the main Release PR is created, `release-please`
123+
reads this override block instead of the standard `chore(deps): ...` commit
124+
message, effectively mirroring the filtered upstream changelog into this
125+
project's release notes.
126+
127+
> **Note for Maintainers:** The filtering script is an automation aid, but it
128+
> may occasionally produce "false positives" (e.g., an internal logging change
129+
> that happens to contain the keyword). Before merging a `toolbox` dependency
130+
> PR, maintainers must **review the generated `BEGIN_COMMIT_OVERRIDE` block**
131+
> and manually delete any lines that are not relevant to the end-users of this
132+
> extension. The curated override block is the final source of truth for the
133+
> release changelog.
134+
135+
#### Release Process
102136

103137
1. **Release PR:** When commits with conventional commit headers (e.g., `feat:`,
104138
`fix:`) are merged into the `main` branch, `release-please` will

0 commit comments

Comments
 (0)