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
@@ -98,7 +98,41 @@ The primary maintainers for this repository are defined in the
98
98
99
99
### Releasing
100
100
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
102
136
103
137
1. **Release PR:** When commits with conventional commit headers (e.g., `feat:`,
104
138
`fix:`) are merged into the `main` branch, `release-please` will
0 commit comments