Commit f880b38
ci: address review — script injection, dispatch safety, python bound
Three fixes from review of #49.
**Script injection in attach-to-release** (found by Codex, via @alessiodevoto).
`gh release upload "${{ github.event.release.tag_name }}"` interpolated the tag
into the shell script. GitHub expands `${{ }}` textually before bash parses the
line, so a tag containing `$(...)` or backticks executes — the double quotes do
not help, because substitution happens before quoting applies. The job holds
`contents: write`. The tag now goes through `env:`, so bash sees it as data.
Audited the rest of the file for the same class: this was the only instance;
every other interpolation already used the env pattern.
**Manual dispatch could reach real PyPI** (@alessiodevoto). The dispatch input
offered `pypi` as well as `testpypi`, and publish-pypi ran on
`inputs.target == 'pypi'`. Rather than reducing the choice list to one item,
the input is removed entirely: a manual run is always a TestPyPI dry run, and
real PyPI is reachable only by publishing a GitHub Release. A single-option
selector would have been a knob that cannot be turned.
**nooa-bench requires-python** (@alessiodevoto). It declared `>=3.12` with no
upper bound while depending on nooa and nooa-cli, both `>=3.12,<3.14`. On 3.14
that surfaces as "could not find a version that satisfies nooa" rather than a
clean "requires a different Python". Now consistent across all four packages.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>1 parent 8fccbd7 commit f880b38
3 files changed
Lines changed: 26 additions & 13 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
17 | 17 | | |
18 | 18 | | |
19 | 19 | | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
20 | 23 | | |
21 | | - | |
22 | | - | |
23 | | - | |
24 | | - | |
25 | | - | |
26 | | - | |
27 | 24 | | |
28 | 25 | | |
29 | 26 | | |
| |||
110 | 107 | | |
111 | 108 | | |
112 | 109 | | |
113 | | - | |
| 110 | + | |
114 | 111 | | |
115 | 112 | | |
116 | 113 | | |
| |||
155 | 152 | | |
156 | 153 | | |
157 | 154 | | |
158 | | - | |
| 155 | + | |
| 156 | + | |
159 | 157 | | |
160 | 158 | | |
161 | 159 | | |
| |||
214 | 212 | | |
215 | 213 | | |
216 | 214 | | |
217 | | - | |
| 215 | + | |
| 216 | + | |
| 217 | + | |
| 218 | + | |
| 219 | + | |
| 220 | + | |
| 221 | + | |
218 | 222 | | |
219 | | - | |
| 223 | + | |
| 224 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
72 | 72 | | |
73 | 73 | | |
74 | 74 | | |
75 | | - | |
76 | | - | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
77 | 81 | | |
78 | 82 | | |
79 | 83 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
5 | 5 | | |
6 | 6 | | |
7 | 7 | | |
8 | | - | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
9 | 13 | | |
10 | 14 | | |
11 | 15 | | |
| |||
0 commit comments