Skip to content

ci(trunk): refresh the toolchain to the organization baseline - #13

Merged
ss-o merged 2 commits into
mainfrom
ci/refresh-trunk-toolchain
Sep 12, 2026
Merged

ci(trunk): refresh the toolchain to the organization baseline#13
ss-o merged 2 commits into
mainfrom
ci/refresh-trunk-toolchain

Conversation

@ss-o

@ss-o ss-o commented Sep 12, 2026

Copy link
Copy Markdown
Member

Problem

The pinned toolchain in .trunk/trunk.yaml was roughly three years behind the rest of the organization: trunk CLI 1.3.1, plugins v0.0.8, prettier 2.8.3, markdownlint 0.33.0, node 18.12.1, go 1.18.3. For comparison, z-shell/.github is on CLI 1.25.0, plugins v1.11.0, prettier 3.8.3 and markdownlint 0.48.0.

That is not only cosmetic. prettier 2.8.3 predates GitHub alert syntax and folds a > [!NOTE] marker onto the following line, which stops the callout rendering at all. The fork note added in #11 had to be written as a bold lead-in purely to work around the formatter.

Separately, .trunk/.gitignore was missing *tools and tmp. Newer trunk versions create .trunk/tools as a symlink into the local user cache, so running trunk and committing would have added a machine-specific absolute path to the repository. This was caught before it landed.

Change

Match the z-shell/.github baseline: CLI 1.25.0, plugins v1.11.0, prettier 3.8.3, markdownlint 0.48.0, actionlint 1.7.12, gitleaks 8.30.1, node 22.16.0, go 1.25.13. Add the two missing ignore rules. Restore the fork note as a real alert, since it now survives formatting.

Linter actions are left exactly as they were. trunk-fmt-pre-commit and trunk-check-pre-push stay enabled here; only z-shell/.github disables them, and that looks deliberate for a repository consumed as a submodule rather than a default worth copying.

Verification

trunk fmt --all under the new versions produces no reformatting anywhere in the repository, so this is a toolchain change only and not a mass rewrite.

trunk check --all reports no issues across 23 files. zunit still passes 9 tests, and that number is now meaningful: since #12 the workflow tests the pull request rather than the base branch.

The alert fix was verified directly by formatting a file containing a > [!NOTE] block and confirming it comes back byte-identical, where prettier 2.8.3 had collapsed it.

Wider context, not addressed here

Several other repositories are also behind, notably z-shell/fzf (CLI 1.0.1, prettier 2.7.1) and z-shell/zsh (CLI 0.14.1-beta, prettier 2.7.1). Organization policy gives routine version updates to Renovate, so those are worth a look at why Renovate is not managing .trunk/trunk.yaml, rather than a hand-written sweep.

Added: the reason it went stale

This repository extended config:base, which Renovate deprecated and renamed to config:recommended, and which is not the shared organization preset. .github, zi, src, wiki and F-Sy-H all extend local>z-shell/.github:renovate-config with dashboard approval. Being outside that preset is why nothing ever proposed a toolchain update here.

A second commit adopts the same configuration, so routine version updates return to Renovate rather than needing a hand-written refresh like the one above.

Renovate coverage across the organization is patchy beyond this repository: fzf, zsh and zpmod have no .github/renovate.json at all, which matches their very old pinned toolchains. That is a separate question about which repositories Renovate should watch, not something to settle by editing them here.

The pinned toolchain was about three years behind: trunk CLI 1.3.1,
plugins v0.0.8, prettier 2.8.3, markdownlint 0.33.0, node 18, go 1.18.
prettier 2.8.3 predates GitHub alert syntax and folds a `> [!NOTE]`
marker onto the following line, which stops the callout rendering, so
the fork note in docs/README.md had to be written as a bold lead-in to
work around it.

Match z-shell/.github: CLI 1.25.0, plugins v1.11.0, prettier 3.8.3,
markdownlint 0.48.0, actionlint 1.7.12, gitleaks 8.30.1, node 22, go
1.25. Restore the fork note as a real alert now that it survives
formatting.

Also add `*tools` and `tmp` to .trunk/.gitignore, matching the same
baseline. Newer trunk versions create .trunk/tools as a symlink into the
local user cache, so without the rule a machine-specific absolute path
gets committed.

`trunk fmt --all` produces no reformatting under the new versions, so
this is a toolchain change only. `trunk check --all` reports no issues
across 23 files and zunit still passes 9 tests.
Copilot AI lite review requested due to automatic review settings September 12, 2026 10:58

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟢 Approval recommended

No unresolved review issues were identified.

Pull request overview

Refreshes the Trunk toolchain to the organization baseline and restores GitHub alert formatting.

Changes:

  • Updates pinned tools, plugins, linters, and runtimes.
  • Ignores generated tools and tmp paths.
  • Restores the fork note as a GitHub alert.
File summaries
File Description
docs/README.md Uses GitHub alert syntax.
.trunk/trunk.yaml Updates pinned toolchain versions.
.trunk/.gitignore Adds generated-path exclusions.
Review details
  • Files reviewed: 3/3 changed files
  • Comments generated: 0
  • Review effort level: Lite

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

This repository extended `config:base`, which Renovate deprecated and
renamed to `config:recommended`, and which is not the shared organization
preset. Every other maintained repository, `.github`, `zi`, `src`, `wiki`
and `F-Sy-H`, extends `local>z-shell/.github:renovate-config` with
dashboard approval.

Being outside the shared preset is why the trunk toolchain here sat about
three years behind without anything proposing an update. Adopt the same
configuration so routine version updates stay owned by Renovate rather
than by hand.
@ss-o
ss-o merged commit 189ccd2 into main Sep 12, 2026
5 checks passed
@ss-o
ss-o deleted the ci/refresh-trunk-toolchain branch September 12, 2026 11:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants