You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: DEVELOPER.md
+35-1Lines changed: 35 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -97,7 +97,41 @@ The primary maintainers for this repository are defined in the
97
97
98
98
### Releasing
99
99
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
101
135
102
136
1. **Release PR:** When commits with conventional commit headers (e.g., `feat:`,
103
137
`fix:`) are merged into the `main` branch, `release-please` will
0 commit comments