From 62a2a79b1cc27da98908e2eb5837bfc17653d105 Mon Sep 17 00:00:00 2001 From: pi Date: Tue, 4 Aug 2026 18:08:28 +0200 Subject: [PATCH] =?UTF-8?q?ci(lint):=20correct=20the=20rationale=20comment?= =?UTF-8?q?=20=E2=80=94=20runner=20contention=20was=20overstated?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The previous commit justified excluding tag pushes partly on runner contention: that the duplicate lint run stole one of two self-hosted runners from the release build. Measured, that is false for THIS repo — pi-devbox lint runs take 0.3-0.9 min (ids 529/531/532/533) against a 77.6 min release build (id=530). I imported the claim from opencode-devbox, where actionlint apt-installs shellcheck inside the container and takes 6-15 min, so contention there is real. The change stands on its actual merits: duplicate lint of an identical tree, and release-run discovery ambiguity (the substantive one — it is what made the naive "first run matching refs/tags/" rule pick lint over the publish run). No functional change; comment only. --- .gitea/workflows/lint.yml | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/.gitea/workflows/lint.yml b/.gitea/workflows/lint.yml index 51348ed..af2242a 100644 --- a/.gitea/workflows/lint.yml +++ b/.gitea/workflows/lint.yml @@ -11,16 +11,19 @@ name: Lint # triggered. # # `branches: ['**']` (rather than a bare `push:`) deliberately EXCLUDES tag -# pushes. A bare `push:` also fires on `refs/tags/v*`, which was pure duplicate -# work — the tagged tree was already linted when the same commit was pushed to -# main (v1.6.4: lint id=529 on refs/heads/main, then id=531 again on -# refs/tags/v1.6.4, same sha e86e5df). Worse, that duplicate consumed one of the -# two self-hosted runners while the release pipeline wanted both for its -# parallel multi-arch variant builds, and it made release-run discovery -# ambiguous: the runs listing is newest-first, so the tag-ref lint run sorts -# ABOVE the publish run and "first run matching refs/tags/" picks lint — -# which goes green in minutes while the image is still building. See AGENTS.md -# "Gitea API access" for the head_sha-filtered discovery pattern. +# pushes. A bare `push:` also fires on `refs/tags/v*`, which was duplicate work — +# the tagged tree was already linted when the same commit was pushed to main +# (v1.6.4: lint id=529 on refs/heads/main, then id=531 again on +# refs/tags/v1.6.4, same sha e86e5df). The wasted compute is small (measured: +# lint here runs 0.3-0.9 min, against a 77.6 min release build for v1.6.4 — so +# runner contention is NOT a real argument in this repo, unlike opencode-devbox +# where actionlint installs shellcheck and takes 6-15 min). The substantive +# reason is discovery ambiguity: the runs listing is newest-first, so the +# tag-ref lint run sorts ABOVE the publish run, and "first run matching +# refs/tags/" picks lint — which goes green in under a minute while the +# image is still building, making a release look finished before anything is +# published. See AGENTS.md "Gitea API access" for the head_sha-filtered +# discovery pattern. on: push: branches: