ci: publish runs on the quick runner, and actionlint checks the Forgejo workflows #146

Merged
HumanBean merged 1 commit from HumanBean/Longshot:ci/publish-quick into main 2026-11-13 06:43:28 +00:00
Owner

Why

A release's last step waited for a free slot behind other builds and pull request checks, often longer than it takes to run. And the workflow lint failed on every push, so main always looked red.

What changed

  • release.yml: Sign and publish runs on quick. In nightly 717 it waited 6.8 min for a slot after the builds, longer than it ran (1.7 min); the quick runner is on the same machine, with the same network and secrets.
  • ci.yml: actionlint is given .forgejo/workflows/*.yml and .forgejo/actionlint.yaml. Without paths it looked for .github/workflows, found nothing and failed on every push and pull request.
  • New .forgejo/actionlint.yaml: the quick label, and two Forgejo forms actionlint doesn't know (full URLs in uses:, the forgejo context).
  • release.yml: the one shellcheck finding (SC2155, export GIT_CLIFF=$(…) split in two).
  • docs/forgejo-runners.md: Sign and publish in the quick row.

Flags and settings

None

Measurements

main: 0eb3a3c6 (2026-11-13)
this PR: ci/publish-quick @ d4c1c750

main @ 0eb3a3c6 this PR @ d4c1c750
actionlint over .forgejo/workflows fails (no workflows found) 0 findings
Sign and publish waiting for a slot (nightly 717) 6.8 min starts at once on the quick runner

Testing

Tested: actionlint 1.7.12 with shellcheck over every workflow (0 findings); the tests that read the workflows.

Not tested: a release on the runner; the next nightly after merge shows it.

Needs other testers: None

Screenshots

Nothing on screen

Risk and rollback

Publishing waits for the one quick slot if a quick job is running (a minute or two at most). Reverting the commit is enough.

Checklist

For everyone

  • One topic.
  • The title is a Conventional Commit (type(scope): description).
  • Rebased on current main.
  • python -I -B tests/run_all.py run and passing (any failure that also fails on main is named above).
  • Tested in the game, or what wasn't is named under Testing.
  • Testing filled in: what was tested, what wasn't, and what needs other testers (with test requests).
  • Measured: main and this PR at named commits, on the same PC, scene and settings, at least 2 interleaved runs each, the median reported.
  • No game files, dumps, build output or generated files.
  • third_party/ untouched (a new folder with a PROVENANCE.md instead).
  • The license is OK: GPL-3.0-or-later, nothing incompatible and nothing decompiled.
## Why A release's last step waited for a free slot behind other builds and pull request checks, often longer than it takes to run. And the workflow lint failed on every push, so main always looked red. ## What changed - `release.yml`: *Sign and publish* runs on `quick`. In nightly 717 it waited 6.8 min for a slot after the builds, longer than it ran (1.7 min); the quick runner is on the same machine, with the same network and secrets. - `ci.yml`: actionlint is given `.forgejo/workflows/*.yml` and `.forgejo/actionlint.yaml`. Without paths it looked for `.github/workflows`, found nothing and failed on every push and pull request. - New `.forgejo/actionlint.yaml`: the `quick` label, and two Forgejo forms actionlint doesn't know (full URLs in `uses:`, the `forgejo` context). - `release.yml`: the one shellcheck finding (SC2155, `export GIT_CLIFF=$(…)` split in two). - `docs/forgejo-runners.md`: *Sign and publish* in the `quick` row. ## Flags and settings None ## Measurements main: 0eb3a3c6 (2026-11-13) this PR: ci/publish-quick @ d4c1c750 | | main @ 0eb3a3c6 | this PR @ d4c1c750 | |---|---|---| | actionlint over `.forgejo/workflows` | fails (no workflows found) | 0 findings | | *Sign and publish* waiting for a slot (nightly 717) | 6.8 min | starts at once on the quick runner | ## Testing **Tested:** actionlint 1.7.12 with shellcheck over every workflow (0 findings); the tests that read the workflows. **Not tested:** a release on the runner; the next nightly after merge shows it. **Needs other testers:** None ## Screenshots Nothing on screen ## Risk and rollback Publishing waits for the one quick slot if a quick job is running (a minute or two at most). Reverting the commit is enough. ## Checklist ### For everyone - [x] One topic. - [x] The title is a Conventional Commit (`type(scope): description`). - [x] Rebased on current `main`. - [x] `python -I -B tests/run_all.py` run and passing (any failure that also fails on `main` is named above). - [x] Tested in the game, or what wasn't is named under Testing. - [x] Testing filled in: what was tested, what wasn't, and what needs other testers (with test requests). - [x] Measured: main and this PR at named commits, on the same PC, scene and settings, at least 2 interleaved runs each, the median reported. - [x] No game files, dumps, build output or generated files. - [x] `third_party/` untouched (a new folder with a `PROVENANCE.md` instead). - [x] The license is OK: GPL-3.0-or-later, nothing incompatible and nothing decompiled.
ci: publish runs on the quick runner, and actionlint checks the Forgejo workflows
All checks were successful
CI / Python source checks (ubuntu-24.04, part 1/2) (pull_request) Has been skipped
CI / Python source checks (ubuntu-24.04, part 2/2) (pull_request) Has been skipped
CI / SPIR-V fixtures (global narrow load/store, direct surface atomics, F2I immediate) (pull_request) Has been skipped
Third-party parts / The same as upstream (pull_request) Has been skipped
PR description / Description follows the template (pull_request_target) Successful in 7s
CI / Conventional Commit title (pull_request) Successful in 6s
CI / Workflow lint (actionlint) (pull_request) Successful in 9s
Third-party parts / As their notes say (pull_request) Successful in 13s
d4c1c7500d
HumanBean deleted branch ci/publish-quick 2026-11-13 06:43:28 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
MagicBeanDev/Longshot!146
No description provided.