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
| `automerge` | false | `false` | Label or merge the bump PR once checks pass. |
65
65
| `dry_run` | false | `false` | Skip file writes and emit a change summary instead. |
66
+
| `security_keywords` | false | _(empty)_ | Require the release notes to contain at least one of the provided keywords before upgrading. |
66
67
| `use_external_pr_action` | false | `false` | Emit outputs for `peter-evans/create-pull-request` instead of using Octokit internally. |
67
68
68
69
**Default globs**
@@ -133,6 +134,33 @@ with:
133
134
134
135
Set `automerge: true` and wire a follow-up job that applies your preferred automerge strategy (label-based, direct merge, etc.) based on the outputs emitted by the action.
135
136
137
+
### Security keyword gate
138
+
139
+
Supply `security_keywords` (one per line) to require matching terms inside the CPython release notes before applying an update. This is useful for only auto-rolling releases that contain security fixes:
140
+
141
+
```yaml
142
+
with:
143
+
security_keywords: |
144
+
CVE
145
+
security
146
+
```
147
+
148
+
When the keywords are provided, the action fetches the GitHub release notes for the resolved tag (or uses the optional `RELEASE_NOTES_SNAPSHOT` offline input) and skips the run unless at least one keyword is present.
149
+
150
+
### Renovate/Dependabot coexistence
151
+
152
+
If Renovate or Dependabot also try to bump CPython patch versions, they will race with this action
153
+
and open competing pull requests. Use the sample configurations below to disable CPython patch bumps
154
+
while still allowing those tools to manage other dependencies:
155
+
156
+
- `examples/coexistence/renovate.json`disables patch updates for the `python` base image in Dockerfiles
157
+
and any custom regex managers that match CPython pins.
158
+
- `examples/coexistence/dependabot.yml`ignores semver patch updates for the `python` Docker image
159
+
while keeping other ecosystems enabled.
160
+
161
+
Both samples are validated by the test suite so you can copy them verbatim and adjust schedules or
162
+
additional dependency rules as needed.
163
+
136
164
---
137
165
138
166
## Example consumer repositories
@@ -155,6 +183,7 @@ external endpoints:
155
183
- `CPYTHON_TAGS_SNAPSHOT`– JSON array of CPython tag objects.
156
184
- `PYTHON_ORG_HTML_SNAPSHOT`– Raw HTML or path to a saved python.org releases page.
157
185
- `RUNNER_MANIFEST_SNAPSHOT`– JSON manifest compatible with `actions/python-versions`.
186
+
- `RELEASE_NOTES_SNAPSHOT`– JSON object mapping tags or versions to release note strings.
158
187
159
188
Each variable accepts either the data directly or a path to a file containing the snapshot. When
160
189
offline mode is enabled and a snapshot is missing, the run will fail fast with a clear message.
0 commit comments