From 9e7d68ecb800ea24944e10534b5cc8d0d7cce49e Mon Sep 17 00:00:00 2001 From: Zack Maril Date: Thu, 3 Sep 2026 03:01:03 -0400 Subject: [PATCH] chore: take the fleet's managed files MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Three fixes that landed in the tier and had not reached here. .vale.ini reports errors only. The Vale job has been red on main across the fleet, and levelling write-good's rules down did not help: the action runs reviewdog with fail-on-error, which fails a job on any annotation it posts. A warning posted is a warning enforced, whatever the rule's own severity says. Reporting errors alone is what makes the levelling underneath it mean anything. fleet-lint.yml answers an edited pull request. pr-title reads the title out of the event payload, and renaming a pull request raises none of the default activity types — so a title corrected in answer to the check raised no event, and a re-run replayed the payload that had already failed. hawk sits out that event: nothing a description says changes what the compiler sees, and it is the one job here that can run half an hour. Generated by `ordnung fleet sync`; the content is the tier's. Co-Authored-By: Claude Fable 5 Claude-Session: https://claude.ai/code/session_0144PU3MssnfbM5tZiqXW7d3 --- .github/workflows/fleet-lint.yml | 11 ++++++++++- .vale.ini | 14 +++++++++++--- scripts/publish.sh | 8 ++++---- 3 files changed, 25 insertions(+), 8 deletions(-) diff --git a/.github/workflows/fleet-lint.yml b/.github/workflows/fleet-lint.yml index 1ad3170..b76a4ec 100644 --- a/.github/workflows/fleet-lint.yml +++ b/.github/workflows/fleet-lint.yml @@ -10,7 +10,13 @@ name: fleet-lint on: push: branches: [main] + # `edited` joins the three default types because pr-title reads the title out + # of the event payload: without it, a title corrected in response to the + # check raises no event, and a re-run replays the payload that failed. The + # only way left to clear the gate would be another push, which a title fix + # does not have. pull_request: + types: [opened, synchronize, reopened, edited] # Periodic coverage: these tools grow rules between releases, so a repository # nobody has touched can start failing for a reason worth knowing about. schedule: @@ -209,7 +215,10 @@ jobs: # drives the compiler over the whole workspace, and a pull request that # touches no Rust cannot change what it would say. needs: changes - if: needs.changes.outputs.rust == 'true' + # Not on an edited title or body: nothing a description says changes what + # the compiler sees, and this is the one job here that can run half an + # hour. The rest are seconds and can afford to answer every event. + if: needs.changes.outputs.rust == 'true' && github.event.action != 'edited' steps: - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 # Whether hawk applies is answered on the runner, after checkout: a diff --git a/.vale.ini b/.vale.ini index 0538725..42b5512 100644 --- a/.vale.ini +++ b/.vale.ini @@ -5,7 +5,12 @@ # clichés, redundancy — without imposing a voice on repositories whose readers # are each other. A style guide can come later, from writing that exists. StylesPath = .vale/styles -MinAlertLevel = warning + +# Errors only. The action runs reviewdog with fail-on-error, which fails a job on +# any annotation it posts — warnings included — so a level reported is a level +# enforced, whatever the rule's own severity says. Reporting errors alone is what +# makes the levelling below mean anything. Lower this locally to read the advice. +MinAlertLevel = error Packages = proselint, write-good @@ -20,8 +25,11 @@ BasedOnStyles = proselint, write-good write-good.ThereIs = warning write-good.So = warning -# Prose lives in sentences; a fenced block is code someone will run. -BlockIgnores = (?s) *(```.*?```) +# Prose lives in sentences; a fenced block is code someone will run. Anchored to +# line starts because the unanchored form silently matched nothing: a fence with +# no language tag was graded as prose, and `[PATHS]...` in a usage block read as +# an ellipsis waiting to be typeset. +BlockIgnores = (?sm)^ *```.*?^ *``` # `vale sync` writes the style packages here, README files and all, and Vale # then grades the prose of the linters it just downloaded. diff --git a/scripts/publish.sh b/scripts/publish.sh index c6119b6..cb86196 100755 --- a/scripts/publish.sh +++ b/scripts/publish.sh @@ -1,6 +1,10 @@ #!/usr/bin/env bash # Publish straitjacket to crates.io. # +# Fleet-managed by conf (.ordnung/managed/publishing/rust/publish.sh): edit it +# there. The crate name is substituted from the repository name, so a crate +# named differently from its repository needs a copy of its own. +# # Publishing is irreversible: a version can be yanked but never deleted, and a # name/version pair can never be reused. The shape of this script follows from # that. @@ -34,10 +38,6 @@ # CARGO_REGISTRIES__TOKEN ... or for --execute --registry . # Neither is ever logged. # -# Fleet-managed by conf (.ordnung/managed/publishing/rust/publish.sh): edit it -# there. The crate name is substituted from the repository name, so a crate -# named differently from its repository needs a copy of its own. -# # straitjacket-allow-file:no-comments — this is the procedure for the one # action in the repository that cannot be undone, and sh has no # documentation-comment syntax to hoist the reasoning into.