Commit ab664a3
authored
fix(ci): repair dogfood-gate.yml — the workflow has never run (#55)
This workflow is **invalid YAML**, so GitHub refuses it at parse time.
It produces **no run, no check-run, no annotation and no log** — not a
red X, an **absence**. Nothing on a dashboard distinguishes *"this gate
passed"* from *"this gate does not exist"*.
The tell: the Actions API reports the workflow's `name` as its **file
path** instead of its `name:` — GitHub registers a file it cannot parse
under its path.
```
name = ".github/workflows/dogfood-gate.yml"
path = ".github/workflows/dogfood-gate.yml" <- name == path
```
## Cause
The embedded `python3 -c "` body starts at **column 0**:
```yaml
run: |
python3 -c "
import tomllib, sys # <- column 0 ends the block scalar
```
A `run: |` literal block ends at the first non-empty line indented
*less* than the block. The Python terminates it, and YAML then tries to
parse `import tomllib, sys` as a mapping key — *"could not find expected
`:`"*.
## Fix
Indent the embedded body and its closing quote to the block indent.
**YAML strips that indent again when parsing**, so the shell and the
interpreter still receive the code at column 0. The content is
unchanged; only the YAML framing differs.
## Verified, not assumed
- the file parses and yields a `jobs:` mapping
- `bash -n` passes on the reconstructed run block
- the resulting `run:` value is **byte-identical** to the same workflow
in repos where it already parses (e.g. `bofig`) — this reproduces the
known-good form rather than inventing one
- **exactly one file changed**
## Scope
Measured estate-wide: **211 invalid workflow files across 116 repos**,
confirmed by the Actions API. `dogfood-gate.yml` accounts for **71** of
them.
🤖 Generated with [Claude Code](https://claude.com/claude-code)1 file changed
Lines changed: 20 additions & 20 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
263 | 263 | | |
264 | 264 | | |
265 | 265 | | |
266 | | - | |
267 | | - | |
268 | | - | |
269 | | - | |
270 | | - | |
271 | | - | |
272 | | - | |
273 | | - | |
274 | | - | |
275 | | - | |
276 | | - | |
277 | | - | |
278 | | - | |
279 | | - | |
280 | | - | |
281 | | - | |
282 | | - | |
283 | | - | |
284 | | - | |
285 | | - | |
| 266 | + | |
| 267 | + | |
| 268 | + | |
| 269 | + | |
| 270 | + | |
| 271 | + | |
| 272 | + | |
| 273 | + | |
| 274 | + | |
| 275 | + | |
| 276 | + | |
| 277 | + | |
| 278 | + | |
| 279 | + | |
| 280 | + | |
| 281 | + | |
| 282 | + | |
| 283 | + | |
| 284 | + | |
| 285 | + | |
286 | 286 | | |
287 | 287 | | |
288 | 288 | | |
| |||
0 commit comments