ci: fix duplicate run: key in build.yml wipe-secrets step (unblocks all builds since 2026-05-21) #82

Merged
marfrit merged 1 commits from claude-noether/marfrit-packages:noether/fix-build-yaml-duplicate-run into main 2026-05-22 07:30:37 +00:00
Contributor

Bug: PR #79 (6ee8f2748) added a second run: mapping key in the wipe secrets step of build.yml:

- name: wipe secrets
  if: always()
  run: rm -f /root/repo_pass /root/.ssh/id_ed25519
  run: rm -f /root/.ssh/id_ed25519_hertz    ← duplicate `run:` key

YAML doesn't allow two mappings with the same key in one node. Gitea's workflow parser silently rejected the entire build.yml:

.../actions/workflows.go:124:DetectWorkflows() [W]
  ignore invalid workflow "build.yml": yaml: unmarshal errors:
    line 1423: mapping key "run" already defined at line 1422

(from gitea.log at 2026-05-22 06:32:44Z, during the PR #80 merge.)

Fallout: every push to main since 6ee8f2748 (2026-05-21 23:14 CEST) silently failed to enqueue ANY action run. PR #80's "re-trigger by README touch" had no chance — the workflow file was invalid before #80 even existed. Runs #161-163 don't exist; #160 (pre-#79) is the last successful enqueue.

Also responsible for "Nachbar's letztes Paket wurde nicht gebaut" — that's literally every package since yesterday evening.

Fix: merge the two single-line run: invocations into one literal block — functionally identical, YAML-valid.

Local python3 -c 'import yaml; yaml.safe_load(open(...))' accepts the new file.

Once merged: workflow file becomes valid → next push (or this merge commit itself) triggers a fresh build run that covers the entire backlog (PR #79's mesa-panvk-bifrost-video build that PR #80 originally wanted re-triggered, plus PR #76/#77/#78's ffmpeg-v4l2-request-fourier rebuilds if those didn't actually fire either).

Worth a quick post-merge gitea.log check to confirm DetectWorkflows no longer warns about build.yml.

**Bug**: PR #79 (`6ee8f2748`) added a second `run:` mapping key in the `wipe secrets` step of `build.yml`: ```yaml - name: wipe secrets if: always() run: rm -f /root/repo_pass /root/.ssh/id_ed25519 run: rm -f /root/.ssh/id_ed25519_hertz ← duplicate `run:` key ``` YAML doesn't allow two mappings with the same key in one node. Gitea's workflow parser silently rejected the entire `build.yml`: ``` .../actions/workflows.go:124:DetectWorkflows() [W] ignore invalid workflow "build.yml": yaml: unmarshal errors: line 1423: mapping key "run" already defined at line 1422 ``` (from `gitea.log` at 2026-05-22 06:32:44Z, during the PR #80 merge.) **Fallout**: every push to `main` since 6ee8f2748 (2026-05-21 23:14 CEST) silently failed to enqueue ANY action run. PR #80's "re-trigger by README touch" had no chance — the workflow file was invalid before #80 even existed. Runs #161-163 don't exist; #160 (pre-#79) is the last successful enqueue. Also responsible for "Nachbar's letztes Paket wurde nicht gebaut" — that's literally every package since yesterday evening. **Fix**: merge the two single-line `run:` invocations into one literal block — functionally identical, YAML-valid. Local `python3 -c 'import yaml; yaml.safe_load(open(...))'` accepts the new file. **Once merged**: workflow file becomes valid → next push (or this merge commit itself) triggers a fresh build run that covers the entire backlog (PR #79's mesa-panvk-bifrost-video build that PR #80 originally wanted re-triggered, plus PR #76/#77/#78's ffmpeg-v4l2-request-fourier rebuilds if those didn't actually fire either). Worth a quick post-merge `gitea.log` check to confirm `DetectWorkflows` no longer warns about `build.yml`.
claude-noether added 1 commit 2026-05-22 07:15:38 +00:00
PR #79 (6ee8f2748, mesa-panvk-bifrost-video) added a second `run:`
mapping key on the next line of the same step:

    - name: wipe secrets
      if: always()
      run: rm -f /root/repo_pass /root/.ssh/id_ed25519
      run: rm -f /root/.ssh/id_ed25519_hertz    ← duplicate `run:` key

YAML doesn't allow two mappings with the same key in one node, so
Gitea's workflow parser rejected the entire file:

  actions/workflows.go:124:DetectWorkflows() [W]
    ignore invalid workflow "build.yml": yaml: unmarshal errors:
      line 1423: mapping key "run" already defined at line 1422

Result: every push to main since 6ee8f2748 (2026-05-21 23:14 CEST)
silently failed to enqueue ANY action run.  PR #80's "re-trigger by
README touch" had no chance — workflow file was invalid before #80
even existed.  Runs #161-163 do not exist; #160 (pre-#79) is the
last successful enqueue.

Fix: merge the two single-line `run:` invocations into one literal
block.  Functionally identical, YAML-valid.

Post-merge: workflow file becomes valid again, new push to main
triggers a fresh build run covering the backlog (#79's
mesa-panvk-bifrost-video build that #80 wanted re-triggered).

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
marfrit merged commit 6288536223 into main 2026-05-22 07:30:37 +00:00
marfrit deleted branch noether/fix-build-yaml-duplicate-run 2026-05-22 07:30:37 +00:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: marfrit/marfrit-packages#82