ci(trunk): refresh the toolchain to the organization baseline - #13
Merged
Conversation
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.
There was a problem hiding this comment.
🟢 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
toolsandtmppaths. - 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.
4 tasks
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.
Problem
The pinned toolchain in
.trunk/trunk.yamlwas 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/.githubis 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/.gitignorewas missing*toolsandtmp. Newer trunk versions create.trunk/toolsas a symlink into the local user cache, so runningtrunkand committing would have added a machine-specific absolute path to the repository. This was caught before it landed.Change
Match the
z-shell/.githubbaseline: 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-commitandtrunk-check-pre-pushstay enabled here; onlyz-shell/.githubdisables them, and that looks deliberate for a repository consumed as a submodule rather than a default worth copying.Verification
trunk fmt --allunder the new versions produces no reformatting anywhere in the repository, so this is a toolchain change only and not a mass rewrite.trunk check --allreports no issues across 23 files.zunitstill 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) andz-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 toconfig:recommended, and which is not the shared organization preset..github,zi,src,wikiandF-Sy-Hall extendlocal>z-shell/.github:renovate-configwith 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,zshandzpmodhave no.github/renovate.jsonat 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.