Skip to content

Commit 238fc52

Browse files
docs: include mirror changelog info in developer docs (#48)
Co-authored-by: Averi Kitsch <[email protected]>
1 parent 24e71f4 commit 238fc52

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

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

0 commit comments

Comments
 (0)