Repository navigation
ci: report action, semver gate holes, Dependabot dirs, README resize - #614
Merged
Merged
Conversation
The render step ran `find .` under `set -euo pipefail`. find exits 1 on any directory it cannot read, so a root-owned cache or a chmod 000 test fixture in the workspace ended the step before the summary had a line and before anything was uploaded. Both finds now keep their output and drop their status. insta's default, INSTA_UPDATE=auto, writes no .snap.new once CI is set (insta 1.49.0 src/env.rs), so the setup the README, the action's README and the skill showed never left a snapshot for the action on GitHub Actions. Every snippet, and this repository's own test step, now sets INSTA_UPDATE: new. Inline snapshots go to .pending-snap files, JSON records the CLI does not read; they are not collected, and the action's README and its "nothing found" summary say so. tools/report-action-selftest/run.sh runs the step out of action.yml with a stub CLI: an unreadable directory beside a .snap.new and inside the artifact directory, and a run with nothing to show. Removing either `|| true`, the INSTA_UPDATE sentence or the target/ prune turns it red. Closes #597 Signed-off-by: Vyncint Ng <115854244+vyncint@users.noreply.github.com>
Two holes in check-semver.sh, both now asserted closed by the self-test: - One `- **Breaking` bullet under [Unreleased] switched every later run to --release-type major, which accepts any break, so a second, undeclared removal passed on its own pull request and again on main. When the break is declared only by bullets the base revision already had (no label, no bullet added), the tree is now checked a second time against that revision with --baseline-rev and --release-type patch: the declared break is part of that baseline, and only a new one fails. ci.yml passes the revision as BASE_REV (the pull request's base SHA, or github.event.before on a push) and checks out the full history. The tag push from release.yml reports forty zeros and keeps the old behaviour, which the log and the summary say; its commit had the second check on its push to main. - STABILITY.md promises each single feature, but only the default, explicit-only and all-features views ran, and an item moved from `regex` to `regex` + `serde` is invisible to all three. Each feature the manifest declares now gets an --only-explicit-features --features view of its own (decode, regex and serde today). tools/semver-gate-selftest/ gains moved/, a model where `find` goes from `regex` to both, and runs the gate itself end to end in a scratch history: a declared break, a second removal on top of it, the same with the label, without a base and with forty zeros, an addition, the release that moves the bullet, and the moved item. Removing the second check, the per-feature views, the added-bullet detection, the zeros handling or the release-section read each turns it red. STABILITY.md and RELEASING.md say what the gate checks now, and what it still does not: the rest of a pull request that declares its own break. Closes #598 Signed-off-by: Vyncint Ng <115854244+vyncint@users.noreply.github.com>
The github-actions entry had `directory: /`, which covers the workflows and not .github/actions/report/action.yml, the composite action other repositories run. Its upload-artifact pin stayed at v7.0.1 while windows.yml moved to v7.0.2. The entry now lists ["/", "/.github/actions/*"] and keeps the actions-minor-patch group. The pin moves to v7.0.2 in the same change: cf430e03 is what `gh api repos/actions/upload-artifact/git/ref/tags/v7.0.2` returns, a commit object, and the SHA windows.yml already pins. Closes #599 Signed-off-by: Vyncint Ng <115854244+vyncint@users.noreply.github.com>
The "Invisible to TestBackend" table is written for ratatui users, and its resize row waited with wait_frame, which waits for DEC 2026 synchronized updates. Stock ratatui 0.30 with crossterm emits none (SKILL.md rule 8; ratatui 0.30.2, ratatui-core and ratatui-crossterm contain no SynchronizedUpdate), so the recipe timed out for exactly the readers it addressed. It now resizes and waits with wait_until. The torn-frame row says it applies to an application that emits DEC 2026, which stock ratatui does not. Closes #600 Signed-off-by: Vyncint Ng <115854244+vyncint@users.noreply.github.com>
Named termlens so the gate script would check them, the four models made cargo-semver-checks find the real crate's name in five manifests under the repository, and the semver job refused termlens as ambiguous. They are gate-model again, and the script takes SEMVER_GATE_PACKAGE, which only the selftest sets. The real gate passes in all six views locally. Signed-off-by: Vyncint Ng <115854244+vyncint@users.noreply.github.com>
Resolves the CHANGELOG conflict with #613: both sets of entries kept. Signed-off-by: Vyncint Ng <115854244+vyncint@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Four CI and docs issues.
#597 — the report action. insta's default
INSTA_UPDATE=autowrites no.snap.newwhenCIis set (insta 1.49env.rs), so on GitHub Actions the action never had a snapshot to show. The README, the action's README, the skill, and this repo's own test step now setINSTA_UPDATE: new, with the reason; inline snapshots (.pending-snap, JSON records forcargo insta review) are documented as not rendered, and the "nothing found" summary says both. Separately, the render step'sfindexited 1 on any unreadable directory andpipefailended the step before it wrote a line; bothfinds now keep their output and drop their status. Newtools/report-action-selftest/run.shruns the step body fromaction.ymlwith a stub CLI (an unreadable directory, a.snap.new, nothing to show); it is ingates-listedand CONTRIBUTING §1, and removing either|| true, theINSTA_UPDATEsentence or thetarget/prune turns exactly one case red.#598 — the semver gate's two holes.
- **Breakingbullets the base already had (no label, no new bullet), the gate now also runs--baseline-rev "$BASE_REV" --release-type patch, so only a new break fails. CI passes the PR's base SHA, orgithub.event.beforeon a push (the job now checks out withfetch-depth: 0); a tag push (all zeros) skips the second check and says so.--only-explicit-features --features <f>view per feature, read from the manifest (decode, regex, serde).tools/semver-gate-selftest/now proves both closed — 20 expectations, 44 s locally — including "a second removal once a break is declared" (exit 1) and "find moved from regex to regex and serde" (exit 1). STABILITY.md and RELEASING.md describe exactly what the gate checks.#599 — Dependabot.
directories: ["/", "/.github/actions/*"], so the composite action's pins are updated too;actions/upload-artifactmoved tocf430e0… # v7.0.2(SHA checked withgh api).stale.mdand the historical(0.11.1, #313)comment are untouched.#600 — README. The resize row waits with
wait_until(stock ratatui never emits DEC 2026, sowait_frametimed out), and the torn-frame row says it applies to applications that emit synchronized updates.Locally: both selftests, the report-pin selftest, and zizmor pedantic pass.
Closes #597
Closes #598
Closes #599
Closes #600