Repository navigation
feat(self-hosted-runner): revamp self-hosted-runner audit - #2350
Merged
woodruffw merged 7 commits intoSep 11, 2026
Merged
Conversation
Member
|
Thank you @ubiratansoares! I'll try and review this today. |
woodruffw
reviewed
Aug 30, 2026
woodruffw
left a comment
Member
There was a problem hiding this comment.
Thank you @ubiratansoares! This looks pretty good to me overall, I did an initial pass and most just having naming/convention nitpicks 🙂
Contributor
Author
|
Thanks for the feedback @woodruffw ! Happy that this contribution looks good, I'll address your suggestions asap! |
ubiratansoares
force-pushed
the
u/feat-improve-self-hosted-audit
branch
from
August 31, 2026 16:49
92aa0e3 to
a5db36e
Compare
ubiratansoares
commented
Aug 31, 2026
ubiratansoares
commented
Aug 31, 2026
3 tasks done
woodruffw
approved these changes
Sep 11, 2026
Member
|
Thank you @ubiratansoares! |
woodruffw
force-pushed
the
u/feat-improve-self-hosted-audit
branch
from
September 11, 2026 01:02
45ef5ca to
5a127f2
Compare
This was referenced Sep 11, 2026
2 tasks done
This was referenced Oct 13, 2026
jdx
added a commit
to jdx/jactionlint
that referenced
this pull request
Oct 13, 2026
…ps, and say when a pull request reaches the runner (#194) ## What `self-hosted-runner` (pedantic profile, `info`) only matched the literal `self-hosted` label. - A label that `self-hosted-runner.labels` of `jactionlint.yaml` lists (globs allowed, case-insensitive) now counts as self-hosted: the runners of an ARC runner set have no `self-hosted` label (zizmorcore/zizmor#2350). - `runs-on: {group: ...}` counts too. A runner group can also hold larger runners hosted by GitHub, so the message says "which holds self-hosted runners or larger runners". - When a pull request event (`pull_request`, `pull_request_target`, `pull_request_review`, `pull_request_review_comment`, also through the known callers of a reusable workflow) starts the workflow, the message says that code of a fork can run on the runner (poutine `pr_runs_on_self_hosted`). - New options (one ID): `allow` (glob patterns of labels and groups of ephemeral or trusted runners, not reported) and `pull-request-only` (report only workflows that a pull request event can start). **Not a default-profile finding.** I considered a default-profile finding for a pull request reaching a self-hosted runner and decided against it: the rule cannot know whether the repository is public (a private repository running pull requests on its own runners is the normal case) or whether the runner is ephemeral, so near-zero false positives is not plausible. `self-hosted-runner: {level: warn, pull-request-only: true}` is the way to turn it into a gate. **Interaction with the runner labels of providers** (the other agent's change in `rule_runner_label.go`): none. `self-hosted-runner` reads the labels of the job itself and the config list; third-party provider labels without `self-hosted` are still not reported, and `rule_runner_label.go` is not touched. If a provider's labels get listed in `self-hosted-runner.labels` by the user, the rule reports them, by design. ## Items of #167 Part of #167 (section 3: self-hosted-runner precision). ## Testing - `rule_self_hosted_runner_config_test.go` (labels, globs, case, groups, expression group, pull request events, `allow`, `pull-request-only`, reusable workflow callers) and the golden `testdata/err/self_hosted_runner_configured.*`. - `go build ./...`, `go vet ./...`, `go test -race ./...`, `hk check --all` pass. ## Corpus 4246 workflow files of 379 well-known repositories, pedantic profile (the rule is off elsewhere), `main` (1d997da) against this branch (no repository of the corpus has a jactionlint configuration, so the configured labels are not exercised there): - 358 findings before, 384 after. All 358 stay; 26 are new, all `runs-on: group:` of three repositories (huggingface/transformers: 22 jobs in groups such as `aws-general-8-plus`; scikit-learn: `cuda-gpu-runner-group`; spectrocloud/librarium: `Doc Runners`). I could not tell from the workflow files whether those groups hold self-hosted or GitHub's larger runners, which is why the message says both. - 221 of the findings now carry the pull request note (the message of those changed, the position did not). Not measured: whether the groups are self-hosted, the configured-label path on a real repository, and the rate of public repositories among the corpus jobs with the pull request note. 🤖 Generated with [Claude Code](https://claude.com/claude-code) <!-- CURSOR_SUMMARY --> --- > [!NOTE] > **Medium Risk** > Expands a security-oriented lint rule’s match set and message text, which can add or change pedantic-profile findings without affecting workflow execution. > > **Overview** > The **`self-hosted-runner`** pedantic rule no longer relies only on a literal `self-hosted` label. It also flags jobs that use labels from **`self-hosted-runner.labels`** (glob, case-insensitive), including ARC runner sets, and jobs with **`runs-on: {group: ...}`**. > > When pull request–related triggers (including via known callers of reusable workflows) can start the workflow, findings add a note that fork PR code may run on that runner. **`allow`** skips trusted/ephemeral label or group globs (matrix alternatives are handled separately from fixed label lists), and **`pull-request-only`** limits reports to PR-reachable workflows; unknown reusable-workflow callers are still reported when that option is on. > > Docs and zizmor parity text are updated for the broader behavior and new options. Tests and golden fixtures cover labels, groups, matrix/`allow` interaction, PR events, and reusable workflow callers. > > <sup>Reviewed by [Cursor Bugbot](https://cursor.com/bugbot) for commit b1e0ade. Bugbot is set up for automated code reviews on this repo. Configure [here](https://www.cursor.com/dashboard/bugbot).</sup> <!-- /CURSOR_SUMMARY --> --------- Co-authored-by: Claude Sonnet 5.5 <noreply@anthropic.com>
This was referenced Oct 19, 2026
jylenhof
pushed a commit
to jylenhof/mise-update-tool
that referenced
this pull request
Oct 24, 2026
Automated mise tool upgrades from local config. mise-managed tools: - `action-validator` - `aube` - `editorconfig-checker` - `ghalint` - `jactionlint` - `pinact` - `pipx:gh-action-pulse` - `prek` - `rumdl` - `shellcheck` - `shfmt` - `tombi` - `uv` - `yamlfmt` - `yamllint` - `zizmor` Command: `mise upgrade --bump --local action-validator aube editorconfig-checker ghalint jactionlint pinact pipx:gh-action-pulse prek rumdl shellcheck shfmt tombi uv yamlfmt yamllint zizmor` <details> <summary>Version changelog (5 tools)</summary> | Tool | Requested | Installed | |------|-----------|-----------| | `jactionlint` | `2.1.0` → `2.2.0` | `2.1.0` → `2.2.0` | | `rumdl` | `0.2.79` → `0.3.0` | `0.2.79` → `0.3.0` | | `tombi` | `1.8.1` → `1.8.7` | `1.8.1` → `1.8.7` | | `uv` | `0.13.0` → `0.13.1` | `0.13.0` → `0.13.1` | | `zizmor` | `1.30.1` → `1.31.1` | `1.30.1` → `1.31.1` | </details> <details> <summary>Release notes (5 tools)</summary> <details> <summary>jactionlint: `2.1.0` → `2.2.0` (jdx/jactionlint)</summary> ### v2.2.0 jactionlint 2.2.0 adds about thirty new rules and extends many existing ones, mostly for script injection, token permissions, pinning and runner limits. It also adds CLI modes for pull request checks (`--changed-since`), rule discovery (`--list-rules`, `--explain`, shell completions), fact export and timeout suggestions, and publishes wheels to PyPI. Several new rules are in the `default` or `correctness` profile, so a run that was clean on 2.1.0 can show new findings. See **Changed** before you upgrade. ## Highlights - **More checks before a run fails:** shell syntax errors without shellcheck, JavaScript syntax errors in `actions/github-script`, job permissions too narrow for the actions in the job, `gh` without a token, `ubuntu-slim` limits, `github.event` property typos, and validation of GitHub's Actions lock file. - **Deeper security analysis:** `untrusted-checkout`, `cache-poisoning`, `template-injection` and the secret rules follow more code paths. New pedantic and online rules cover command and argument injection, repojacking, release age, unpinned action dependencies and environments without required reviewers. - **Better for CI and tooling:** report only findings on changed lines, select single rules, export the repository model as JSON, get JSON Schemas for config and output, and install with `pip`/`uvx`. ## Added ### New rules in the `default` and `correctness` profiles - **`shell-syntax`** (default, error): reports syntax errors in `bash`/`sh` `run:` scripts, such as an unclosed quote or a missing `fi`/`done`, using a built-in parser. It runs only when shellcheck does not run, so the two never report the same error. (#273, @jdx) - **`insufficient-permissions`** (default, error): reports a job whose explicit `permissions:` miss a scope that one of its actions needs (`upload-sarif`, `deploy-pages`, OIDC logins, `gh release create`, `git push` and others, about 26 entries). `missing-permissions --fix` now uses the same table to write job… (truncated) </details> <details> <summary>rumdl: `0.2.79` → `0.3.0` (rvben/rumdl)</summary> ### v0.3.0 ### Changed - **2.4–4.7× faster `rumdl fmt`** than 0.2.79 on frozen documentation snapshots: Cargo (99 files) 4.7×, MkDocs Material (85 files) 2.6×, and Ruff (16 files) 2.4×. Reusing parsed Markdown and shared source analysis reduces repeated work. Speedups compare median elapsed times from 31 paired runs after five warmups on Apple M6: ordinary Rust 1.96.0 release builds, default threads, warm filesystem cache, and `--no-config --no-cache --silent` (`--flavor=standard` for Cargo/Ruff, `--flavor=mkdocs` for MkDocs Material). Output includes the correctness fixes listed below and can differ from 0.2.79. - Code block tools are supported and remain opt-in. Missing tags, missing active-mode tools and invocations with no tools checked are ignored by default. An omitted unknown-tag policy inherits `on-missing-language-definition`, preserving existing strict configurations. Valid internal cached checks count as checked; applicable external tools rerun to reflect changes in their own configuration and environment. - `on-missing-language-definition = "warn"` now reports uncovered languages; previous releases treated it as `ignore`. - Executable lookup remains system-only by default. Per-binary preferences can opt into nearest-first project lookup bounded by repository/configuration boundaries, including hoisted workspace installations. - MD037 still reports spaces inside emphasis delimiters but no longer provides automatic fixes, including editor fixes. Repair the reported emphasis manually; inserting escapes or removing whitespace can change literal Markdown meaning. ### Added - `fmt --preflight` and `check --fix --preflight` validate and plan the complete selected file batch before applying any writes, with atomic replacement per file after successful planning. - Configurable coverage policies with block diagnostics and invocation-wide fail-fast behavior. Invalid tool definitions receive central configuration warnin… (truncated) </details> <details> <summary>tombi: `1.8.1` → `1.8.7` (tombi-toml/tombi)</summary> ### v1.8.2 <!-- Release notes generated using configuration in .github/release.yml at v1.8.2 --> ## What's Changed ### 🛠️ Other Changes * chore(deps): format Cargo.toml by @ya7010 in tombi-toml/tombi#2291 * fix(schema-store): allow documents to share a schema $id by @ya7010 in tombi-toml/tombi#2293 * refactor(schema-store): remove the ast-syntax feature by @ya7010 in tombi-toml/tombi#2294 **Full Changelog**: tombi-toml/tombi@v1.8.1...v1.8.2 ### v1.8.3 <!-- Release notes generated using configuration in .github/release.yml at v1.8.3 --> ## What's Changed ### 🛠️ Other Changes * fix(lsp): skip file watcher events inside VCS metadata directories by @ya7010 in tombi-toml/tombi#2296 * refactor(lsp): migrate from tower-lsp to tower-lsp-server by @ya7010 in tombi-toml/tombi#2297 * fix(validator): apply sub-schemas under keys rejected by the root schema by @ya7010 in tombi-toml/tombi#2298 **Full Changelog**: tombi-toml/tombi@v1.8.2...v1.8.3 ### v1.8.4 <!-- Release notes generated using configuration in .github/release.yml at v1.8.4 --> ## What's Changed ### 🛠️ Other Changes * fix(config): order schema catalog before format by @ya7010 in tombi-toml/tombi#2299 **Full Changelog**: tombi-toml/tombi@v1.8.3...v1.8.4 ### v1.8.5 <!-- Release notes generated using configuration in .github/release.yml at v1.8.5 --> ## What's Changed ### 🛠️ Other Changes * update: tombi.toml sample by @ya7010 in tombi-toml/tombi#2302 * chore: tombi.toml sample by @ya7010 in tombi-toml/tombi#2303 * docs: embed configuration Full Structure from a checked TOML file by @ya7010 in tombi-toml/tombi#2304 * fix(schema-store): honor environment proxies for schema fetches by @cailloumajor in tombi-toml/tombi#2306 * fix(schema-store): refuse schema URLs targeting the proxy host by @ya7010 in tombi-toml/tombi#2308 * test(schema-store): cover local resolution check for proxied destinations by @ya7010 in tombi-toml/tombi#2307 * feat(schema-store): honor operating-system proxy settings for schema fetches by @ya7010 in tombi-toml/tombi#2309 ## New Contributors * @cailloumajor made their first contribution in tombi-toml/tombi#2306 **Full Changelog**: tombi-toml/tombi@v1.8.4...v1.8.5 ### v1.8.6 <!-- Release notes generated using configuration in .github/release.yml at v1.8.6 --> ## What's Changed ### 🐝 Bug Fixes * fix(docs): resolve embedded snippet during Pages build by @ya7010 in tombi-toml/tombi#2310 ### 📦 Dependencies * fix(deps): update quinn-proto and rustls for OSV advisories by @ya7010 in tombi-toml/tombi#2311 * fix(deps): update zip to 9.0.4 by @ya7010 in tombi-toml/tombi#2317 ### 🛠️ Other Changes * refactor(lsp): collect folding spans in one AST traversal by @ya7010 in tombi-toml/tombi#2312 * refactor: reuse AST groups during formatting and hover by @ya7010 in tombi-toml/tombi#2313 * refactor(formatter): reuse root leading comments by @ya7010 in tombi-toml/tombi#2314 * feat(lsp): highlight TOML region markers by @ya7010 in tombi-toml/tombi#2316 **Full Changelog**: tombi-toml/tombi@v1.8.5...v1.8.6 ### v1.8.7 <!-- Release notes generated using configuration in .github/release.yml at v1.8.7 --> ## What's Changed ### 🦅 New Features * Add --cache-ttl CLI option by @ya7010 in tombi-toml/tombi#2320 * feat(cache): add `tombi cache clean/dir` commands by @ya7010 in tombi-toml/tombi#2321 ### 🐝 Bug Fixes * fix(direnv): skip flake when nix is unavailable by @ya7010 in tombi-toml/tombi#2323 **Full Changelog**: tombi-toml/tombi@v1.8.6...v1.8.7 </details> <details> <summary>uv: `0.13.0` → `0.13.1` (astral-sh/uv)</summary> ### 0.13.1 ## Release Notes Released on 2026-10-14. ### Enhancements - Ignore `Requires-Python` upper bounds in `uv pip check` and `uv pip install --strict`, consistent with resolution ([#22500](astral-sh/uv#22500)) - Support Linux SPARC by falling back when filesystem cloning and detailed cache accounting are unavailable ([#22463](astral-sh/uv#22463)) - Report missing trusted hashes in resolution errors ([#22241](astral-sh/uv#22241)) ### Python - Add CPython 3.16.0a1 ([#22527](astral-sh/uv#22527)) ### Preview features - Allow `uv tool upgrade` to upgrade installed tools when `tool-install-locks` is enabled ([#22498](astral-sh/uv#22498)) - Add preliminary support for parsing PEP 825 variant labels in wheel filenames with `wheel-variants` ([#22039](astral-sh/uv#22039)) ### Performance - Reduce uv's binary size ([#22429](astral-sh/uv#22429), [#22430](astral-sh/uv#22430), [#22432](astral-sh/uv#22432)) - Speed up Simple API parsing ([#22429](astral-sh/uv#22429)) - Reduce package metadata parsing overhead ([#22239](astral-sh/uv#22239)) ### Bug fixes - Prevent tool and managed Python uninstalls from deleting unrelated files beside their storage directories ([#22495](astral-sh/uv#22495)) - Restore support for source distributions containing hard links or full-length tar user or group names ([#22516](astral-sh/uv#22516), [#22522](astral-sh/uv#22522)) - Preserve device files and FIFOs used as `uv pip compile` or `uv export` output destinations ([#22496](astral-sh/uv#22496)) - Fix `sys._base_executable` detection for environments created from symlinked interpreters ([#22520](https://github.com/astral-sh/uv/pul… (truncated) </details> <details> <summary>zizmor: `1.30.1` → `1.31.1` (zizmorcore/zizmor)</summary> ### v1.31.0 [Sponsorship is appreciated!](https://github.com/sponsors/woodruffw/) ## Enhancements 🌱[🔗](https://docs.zizmor.sh/release-notes/#enhancements) - The [typosquat-uses](https://docs.zizmor.sh/audits/#typosquat-uses) audit now supports pre-commit config inputs ([#2437](zizmorcore/zizmor#2437)) - The [self-hosted-runner](https://docs.zizmor.sh/audits/#self-hosted-runner) audit is now significantly more precise ([#2350](zizmorcore/zizmor#2350)) Many thanks to [@ubiratansoares](https://github.com/ubiratansoares) for proposing and implementing this enhancement! - The [dangerous-triggers](https://docs.zizmor.sh/audits/#dangerous-triggers) audit now considers the issue_comment trigger fundamentally dangerous ([#2396](zizmorcore/zizmor#2396)) - zizmor is now aware of the image_version workflow trigger ([#2397](zizmorcore/zizmor#2397)) - The [dangerous-triggers](https://docs.zizmor.sh/audits/#dangerous-triggers) audit now produces more precise finding/diagnostic spans ([#2402](zizmorcore/zizmor#2402)) - The [cache-poisoning](https://docs.zizmor.sh/audits/#cache-poisoning) audit is now aware of [pnpm/setup](https://github.com/pnpm/setup) ([#2409](zizmorcore/zizmor#2409)) - The [unpinned-images](https://docs.zizmor.sh/audits/#unpinned-images) audit now produces more precise findings when the user's workflow contains an indirect matrix ([#2395](zizmorcore/zizmor#2395)) Many thanks to [@ubiratansoares](https://github.com/ubiratansoares) for proposing and implementing this enhancement! - The [cache-poisoning](https://docs.zizmor.sh/audits/#cache-poisoning) audit is now aware of GitHub's new cache-mode: setting, and will skip any findings that would occur when a job has an effective cache-mode: none ([#2418](https://github.com/zizmorcore/zizmor/iss… (truncated) ### v1.31.1 [Sponsorship is appreciated!](https://github.com/sponsors/woodruffw/) ## Bug Fixes 🐛[🔗](https://docs.zizmor.sh/release-notes/#bug-fixes) - Fixed a regression in [1.31.0](https://docs.zizmor.sh/release-notes/#1310) where some ignore comments/configurations would no longer apply to the [dangerous-triggers](https://docs.zizmor.sh/audits/#dangerous-triggers) audit ([#2450](zizmorcore/zizmor#2450)) </details> </details> Modified files: - `.mise.toml`
jylenhof
pushed a commit
to jylenhof/gh-action-pulse
that referenced
this pull request
Oct 24, 2026
Automated mise tool upgrades from local config. mise-managed tools: - `zizmor` Command: `mise upgrade --bump --local zizmor` <details> <summary>Version changelog (zizmor)</summary> | Tool | Requested | Installed | |------|-----------|-----------| | `zizmor` | `1.30.1` → `1.31.1` | `1.30.1` → `1.31.1` | </details> <details> <summary>Release notes (1 tools)</summary> <details> <summary>zizmor: `1.30.1` → `1.31.1` (zizmorcore/zizmor)</summary> ### v1.31.0 [Sponsorship is appreciated!](https://github.com/sponsors/woodruffw/) ## Enhancements 🌱[🔗](https://docs.zizmor.sh/release-notes/#enhancements) - The [typosquat-uses](https://docs.zizmor.sh/audits/#typosquat-uses) audit now supports pre-commit config inputs ([#2437](zizmorcore/zizmor#2437)) - The [self-hosted-runner](https://docs.zizmor.sh/audits/#self-hosted-runner) audit is now significantly more precise ([#2350](zizmorcore/zizmor#2350)) Many thanks to [@ubiratansoares](https://github.com/ubiratansoares) for proposing and implementing this enhancement! - The [dangerous-triggers](https://docs.zizmor.sh/audits/#dangerous-triggers) audit now considers the issue_comment trigger fundamentally dangerous ([#2396](zizmorcore/zizmor#2396)) - zizmor is now aware of the image_version workflow trigger ([#2397](zizmorcore/zizmor#2397)) - The [dangerous-triggers](https://docs.zizmor.sh/audits/#dangerous-triggers) audit now produces more precise finding/diagnostic spans ([#2402](zizmorcore/zizmor#2402)) - The [cache-poisoning](https://docs.zizmor.sh/audits/#cache-poisoning) audit is now aware of [pnpm/setup](https://github.com/pnpm/setup) ([#2409](zizmorcore/zizmor#2409)) - The [unpinned-images](https://docs.zizmor.sh/audits/#unpinned-images) audit now produces more precise findings when the user's workflow contains an indirect matrix ([#2395](zizmorcore/zizmor#2395)) Many thanks to [@ubiratansoares](https://github.com/ubiratansoares) for proposing and implementing this enhancement! - The [cache-poisoning](https://docs.zizmor.sh/audits/#cache-poisoning) audit is now aware of GitHub's new cache-mode: setting, and will skip any findings that would occur when a job has an effective cache-mode: none ([#2418](https://github.com/zizmorcore/zizmor/iss… (truncated) ### v1.31.1 [Sponsorship is appreciated!](https://github.com/sponsors/woodruffw/) ## Bug Fixes 🐛[🔗](https://docs.zizmor.sh/release-notes/#bug-fixes) - Fixed a regression in [1.31.0](https://docs.zizmor.sh/release-notes/#1310) where some ignore comments/configurations would no longer apply to the [dangerous-triggers](https://docs.zizmor.sh/audits/#dangerous-triggers) audit ([#2450](zizmorcore/zizmor#2450)) </details> </details> Modified files: - `.mise.toml` Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
jylenhof
pushed a commit
to jylenhof/mise-update-tool
that referenced
this pull request
Oct 24, 2026
Automated mise tool upgrades from local config. mise-managed tools: - `action-validator` - `aube` - `editorconfig-checker` - `ghalint` - `jactionlint` - `pinact` - `pipx:gh-action-pulse` - `prek` - `rumdl` - `shellcheck` - `shfmt` - `tombi` - `uv` - `yamlfmt` - `yamllint` - `zizmor` Command: `mise upgrade --bump --local action-validator aube editorconfig-checker ghalint jactionlint pinact pipx:gh-action-pulse prek rumdl shellcheck shfmt tombi uv yamlfmt yamllint zizmor` <details> <summary>Version changelog (5 tools)</summary> | Tool | Requested | Installed | |------|-----------|-----------| | `jactionlint` | `2.1.0` → `2.2.0` | `2.1.0` → `2.2.0` | | `rumdl` | `0.2.79` → `0.3.0` | `0.2.79` → `0.3.0` | | `tombi` | `1.8.1` → `1.8.7` | `1.8.1` → `1.8.7` | | `uv` | `0.13.0` → `0.13.1` | `0.13.0` → `0.13.1` | | `zizmor` | `1.30.1` → `1.31.1` | `1.30.1` → `1.31.1` | </details> <details> <summary>Release notes (5 tools)</summary> <details> <summary>jactionlint: `2.1.0` → `2.2.0` (jdx/jactionlint)</summary> ### v2.2.0 jactionlint 2.2.0 adds about thirty new rules and extends many existing ones, mostly for script injection, token permissions, pinning and runner limits. It also adds CLI modes for pull request checks (`--changed-since`), rule discovery (`--list-rules`, `--explain`, shell completions), fact export and timeout suggestions, and publishes wheels to PyPI. Several new rules are in the `default` or `correctness` profile, so a run that was clean on 2.1.0 can show new findings. See **Changed** before you upgrade. ## Highlights - **More checks before a run fails:** shell syntax errors without shellcheck, JavaScript syntax errors in `actions/github-script`, job permissions too narrow for the actions in the job, `gh` without a token, `ubuntu-slim` limits, `github.event` property typos, and validation of GitHub's Actions lock file. - **Deeper security analysis:** `untrusted-checkout`, `cache-poisoning`, `template-injection` and the secret rules follow more code paths. New pedantic and online rules cover command and argument injection, repojacking, release age, unpinned action dependencies and environments without required reviewers. - **Better for CI and tooling:** report only findings on changed lines, select single rules, export the repository model as JSON, get JSON Schemas for config and output, and install with `pip`/`uvx`. ## Added ### New rules in the `default` and `correctness` profiles - **`shell-syntax`** (default, error): reports syntax errors in `bash`/`sh` `run:` scripts, such as an unclosed quote or a missing `fi`/`done`, using a built-in parser. It runs only when shellcheck does not run, so the two never report the same error. (#273, @jdx) - **`insufficient-permissions`** (default, error): reports a job whose explicit `permissions:` miss a scope that one of its actions needs (`upload-sarif`, `deploy-pages`, OIDC logins, `gh release create`, `git push` and others, about 26 entries). `missing-permissions --fix` now uses the same table to write job… (truncated) </details> <details> <summary>rumdl: `0.2.79` → `0.3.0` (rvben/rumdl)</summary> ### v0.3.0 ### Changed - **2.4–4.7× faster `rumdl fmt`** than 0.2.79 on frozen documentation snapshots: Cargo (99 files) 4.7×, MkDocs Material (85 files) 2.6×, and Ruff (16 files) 2.4×. Reusing parsed Markdown and shared source analysis reduces repeated work. Speedups compare median elapsed times from 31 paired runs after five warmups on Apple M6: ordinary Rust 1.96.0 release builds, default threads, warm filesystem cache, and `--no-config --no-cache --silent` (`--flavor=standard` for Cargo/Ruff, `--flavor=mkdocs` for MkDocs Material). Output includes the correctness fixes listed below and can differ from 0.2.79. - Code block tools are supported and remain opt-in. Missing tags, missing active-mode tools and invocations with no tools checked are ignored by default. An omitted unknown-tag policy inherits `on-missing-language-definition`, preserving existing strict configurations. Valid internal cached checks count as checked; applicable external tools rerun to reflect changes in their own configuration and environment. - `on-missing-language-definition = "warn"` now reports uncovered languages; previous releases treated it as `ignore`. - Executable lookup remains system-only by default. Per-binary preferences can opt into nearest-first project lookup bounded by repository/configuration boundaries, including hoisted workspace installations. - MD037 still reports spaces inside emphasis delimiters but no longer provides automatic fixes, including editor fixes. Repair the reported emphasis manually; inserting escapes or removing whitespace can change literal Markdown meaning. ### Added - `fmt --preflight` and `check --fix --preflight` validate and plan the complete selected file batch before applying any writes, with atomic replacement per file after successful planning. - Configurable coverage policies with block diagnostics and invocation-wide fail-fast behavior. Invalid tool definitions receive central configuration warnin… (truncated) </details> <details> <summary>tombi: `1.8.1` → `1.8.7` (tombi-toml/tombi)</summary> ### v1.8.2 <!-- Release notes generated using configuration in .github/release.yml at v1.8.2 --> ## What's Changed ### 🛠️ Other Changes * chore(deps): format Cargo.toml by @ya7010 in tombi-toml/tombi#2291 * fix(schema-store): allow documents to share a schema $id by @ya7010 in tombi-toml/tombi#2293 * refactor(schema-store): remove the ast-syntax feature by @ya7010 in tombi-toml/tombi#2294 **Full Changelog**: tombi-toml/tombi@v1.8.1...v1.8.2 ### v1.8.3 <!-- Release notes generated using configuration in .github/release.yml at v1.8.3 --> ## What's Changed ### 🛠️ Other Changes * fix(lsp): skip file watcher events inside VCS metadata directories by @ya7010 in tombi-toml/tombi#2296 * refactor(lsp): migrate from tower-lsp to tower-lsp-server by @ya7010 in tombi-toml/tombi#2297 * fix(validator): apply sub-schemas under keys rejected by the root schema by @ya7010 in tombi-toml/tombi#2298 **Full Changelog**: tombi-toml/tombi@v1.8.2...v1.8.3 ### v1.8.4 <!-- Release notes generated using configuration in .github/release.yml at v1.8.4 --> ## What's Changed ### 🛠️ Other Changes * fix(config): order schema catalog before format by @ya7010 in tombi-toml/tombi#2299 **Full Changelog**: tombi-toml/tombi@v1.8.3...v1.8.4 ### v1.8.5 <!-- Release notes generated using configuration in .github/release.yml at v1.8.5 --> ## What's Changed ### 🛠️ Other Changes * update: tombi.toml sample by @ya7010 in tombi-toml/tombi#2302 * chore: tombi.toml sample by @ya7010 in tombi-toml/tombi#2303 * docs: embed configuration Full Structure from a checked TOML file by @ya7010 in tombi-toml/tombi#2304 * fix(schema-store): honor environment proxies for schema fetches by @cailloumajor in tombi-toml/tombi#2306 * fix(schema-store): refuse schema URLs targeting the proxy host by @ya7010 in tombi-toml/tombi#2308 * test(schema-store): cover local resolution check for proxied destinations by @ya7010 in tombi-toml/tombi#2307 * feat(schema-store): honor operating-system proxy settings for schema fetches by @ya7010 in tombi-toml/tombi#2309 ## New Contributors * @cailloumajor made their first contribution in tombi-toml/tombi#2306 **Full Changelog**: tombi-toml/tombi@v1.8.4...v1.8.5 ### v1.8.6 <!-- Release notes generated using configuration in .github/release.yml at v1.8.6 --> ## What's Changed ### 🐝 Bug Fixes * fix(docs): resolve embedded snippet during Pages build by @ya7010 in tombi-toml/tombi#2310 ### 📦 Dependencies * fix(deps): update quinn-proto and rustls for OSV advisories by @ya7010 in tombi-toml/tombi#2311 * fix(deps): update zip to 9.0.4 by @ya7010 in tombi-toml/tombi#2317 ### 🛠️ Other Changes * refactor(lsp): collect folding spans in one AST traversal by @ya7010 in tombi-toml/tombi#2312 * refactor: reuse AST groups during formatting and hover by @ya7010 in tombi-toml/tombi#2313 * refactor(formatter): reuse root leading comments by @ya7010 in tombi-toml/tombi#2314 * feat(lsp): highlight TOML region markers by @ya7010 in tombi-toml/tombi#2316 **Full Changelog**: tombi-toml/tombi@v1.8.5...v1.8.6 ### v1.8.7 <!-- Release notes generated using configuration in .github/release.yml at v1.8.7 --> ## What's Changed ### 🦅 New Features * Add --cache-ttl CLI option by @ya7010 in tombi-toml/tombi#2320 * feat(cache): add `tombi cache clean/dir` commands by @ya7010 in tombi-toml/tombi#2321 ### 🐝 Bug Fixes * fix(direnv): skip flake when nix is unavailable by @ya7010 in tombi-toml/tombi#2323 **Full Changelog**: tombi-toml/tombi@v1.8.6...v1.8.7 </details> <details> <summary>uv: `0.13.0` → `0.13.1` (astral-sh/uv)</summary> ### 0.13.1 ## Release Notes Released on 2026-10-14. ### Enhancements - Ignore `Requires-Python` upper bounds in `uv pip check` and `uv pip install --strict`, consistent with resolution ([#22500](astral-sh/uv#22500)) - Support Linux SPARC by falling back when filesystem cloning and detailed cache accounting are unavailable ([#22463](astral-sh/uv#22463)) - Report missing trusted hashes in resolution errors ([#22241](astral-sh/uv#22241)) ### Python - Add CPython 3.16.0a1 ([#22527](astral-sh/uv#22527)) ### Preview features - Allow `uv tool upgrade` to upgrade installed tools when `tool-install-locks` is enabled ([#22498](astral-sh/uv#22498)) - Add preliminary support for parsing PEP 825 variant labels in wheel filenames with `wheel-variants` ([#22039](astral-sh/uv#22039)) ### Performance - Reduce uv's binary size ([#22429](astral-sh/uv#22429), [#22430](astral-sh/uv#22430), [#22432](astral-sh/uv#22432)) - Speed up Simple API parsing ([#22429](astral-sh/uv#22429)) - Reduce package metadata parsing overhead ([#22239](astral-sh/uv#22239)) ### Bug fixes - Prevent tool and managed Python uninstalls from deleting unrelated files beside their storage directories ([#22495](astral-sh/uv#22495)) - Restore support for source distributions containing hard links or full-length tar user or group names ([#22516](astral-sh/uv#22516), [#22522](astral-sh/uv#22522)) - Preserve device files and FIFOs used as `uv pip compile` or `uv export` output destinations ([#22496](astral-sh/uv#22496)) - Fix `sys._base_executable` detection for environments created from symlinked interpreters ([#22520](https://github.com/astral-sh/uv/pul… (truncated) </details> <details> <summary>zizmor: `1.30.1` → `1.31.1` (zizmorcore/zizmor)</summary> ### v1.31.0 [Sponsorship is appreciated!](https://github.com/sponsors/woodruffw/) ## Enhancements 🌱[🔗](https://docs.zizmor.sh/release-notes/#enhancements) - The [typosquat-uses](https://docs.zizmor.sh/audits/#typosquat-uses) audit now supports pre-commit config inputs ([#2437](zizmorcore/zizmor#2437)) - The [self-hosted-runner](https://docs.zizmor.sh/audits/#self-hosted-runner) audit is now significantly more precise ([#2350](zizmorcore/zizmor#2350)) Many thanks to [@ubiratansoares](https://github.com/ubiratansoares) for proposing and implementing this enhancement! - The [dangerous-triggers](https://docs.zizmor.sh/audits/#dangerous-triggers) audit now considers the issue_comment trigger fundamentally dangerous ([#2396](zizmorcore/zizmor#2396)) - zizmor is now aware of the image_version workflow trigger ([#2397](zizmorcore/zizmor#2397)) - The [dangerous-triggers](https://docs.zizmor.sh/audits/#dangerous-triggers) audit now produces more precise finding/diagnostic spans ([#2402](zizmorcore/zizmor#2402)) - The [cache-poisoning](https://docs.zizmor.sh/audits/#cache-poisoning) audit is now aware of [pnpm/setup](https://github.com/pnpm/setup) ([#2409](zizmorcore/zizmor#2409)) - The [unpinned-images](https://docs.zizmor.sh/audits/#unpinned-images) audit now produces more precise findings when the user's workflow contains an indirect matrix ([#2395](zizmorcore/zizmor#2395)) Many thanks to [@ubiratansoares](https://github.com/ubiratansoares) for proposing and implementing this enhancement! - The [cache-poisoning](https://docs.zizmor.sh/audits/#cache-poisoning) audit is now aware of GitHub's new cache-mode: setting, and will skip any findings that would occur when a job has an effective cache-mode: none ([#2418](https://github.com/zizmorcore/zizmor/iss… (truncated) ### v1.31.1 [Sponsorship is appreciated!](https://github.com/sponsors/woodruffw/) ## Bug Fixes 🐛[🔗](https://docs.zizmor.sh/release-notes/#bug-fixes) - Fixed a regression in [1.31.0](https://docs.zizmor.sh/release-notes/#1310) where some ignore comments/configurations would no longer apply to the [dangerous-triggers](https://docs.zizmor.sh/audits/#dangerous-triggers) audit ([#2450](zizmorcore/zizmor#2450)) </details> </details> Modified files: - `.mise.toml` Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
jylenhof
pushed a commit
to jylenhof/github-actions-resources
that referenced
this pull request
Oct 24, 2026
Automated mise tool upgrades from local config. mise-managed tools: - `action-validator` - `editorconfig-checker` - `ghalint` - `jactionlint` - `lychee` - `pipx:gh-action-pulse` - `prek` - `rumdl` - `shellcheck` - `shfmt` - `tombi` - `uv` - `yamlfmt` - `yamllint` - `zizmor` Command: `mise upgrade --bump --local action-validator editorconfig-checker ghalint jactionlint lychee pipx:gh-action-pulse prek rumdl shellcheck shfmt tombi uv yamlfmt yamllint zizmor` <details> <summary>Version changelog (5 tools)</summary> | Tool | Requested | Installed | |------|-----------|-----------| | `jactionlint` | `2.1.0` → `2.2.0` | `2.1.0` → `2.2.0` | | `rumdl` | `0.2.79` → `0.3.0` | `0.2.79` → `0.3.0` | | `tombi` | `1.8.1` → `1.8.7` | `1.8.1` → `1.8.7` | | `uv` | `0.13.0` → `0.13.1` | `0.13.0` → `0.13.1` | | `zizmor` | `1.30.1` → `1.31.1` | `1.30.1` → `1.31.1` | </details> <details> <summary>Release notes (5 tools)</summary> <details> <summary>jactionlint: `2.1.0` → `2.2.0` (jdx/jactionlint)</summary> ### v2.2.0 jactionlint 2.2.0 adds about thirty new rules and extends many existing ones, mostly for script injection, token permissions, pinning and runner limits. It also adds CLI modes for pull request checks (`--changed-since`), rule discovery (`--list-rules`, `--explain`, shell completions), fact export and timeout suggestions, and publishes wheels to PyPI. Several new rules are in the `default` or `correctness` profile, so a run that was clean on 2.1.0 can show new findings. See **Changed** before you upgrade. ## Highlights - **More checks before a run fails:** shell syntax errors without shellcheck, JavaScript syntax errors in `actions/github-script`, job permissions too narrow for the actions in the job, `gh` without a token, `ubuntu-slim` limits, `github.event` property typos, and validation of GitHub's Actions lock file. - **Deeper security analysis:** `untrusted-checkout`, `cache-poisoning`, `template-injection` and the secret rules follow more code paths. New pedantic and online rules cover command and argument injection, repojacking, release age, unpinned action dependencies and environments without required reviewers. - **Better for CI and tooling:** report only findings on changed lines, select single rules, export the repository model as JSON, get JSON Schemas for config and output, and install with `pip`/`uvx`. ## Added ### New rules in the `default` and `correctness` profiles - **`shell-syntax`** (default, error): reports syntax errors in `bash`/`sh` `run:` scripts, such as an unclosed quote or a missing `fi`/`done`, using a built-in parser. It runs only when shellcheck does not run, so the two never report the same error. (#273, @jdx) - **`insufficient-permissions`** (default, error): reports a job whose explicit `permissions:` miss a scope that one of its actions needs (`upload-sarif`, `deploy-pages`, OIDC logins, `gh release create`, `git push` and others, about 26 entries). `missing-permissions --fix` now uses the same table to write job… (truncated) </details> <details> <summary>rumdl: `0.2.79` → `0.3.0` (rvben/rumdl)</summary> ### v0.3.0 ### Changed - **2.4–4.7× faster `rumdl fmt`** than 0.2.79 on frozen documentation snapshots: Cargo (99 files) 4.7×, MkDocs Material (85 files) 2.6×, and Ruff (16 files) 2.4×. Reusing parsed Markdown and shared source analysis reduces repeated work. Speedups compare median elapsed times from 31 paired runs after five warmups on Apple M6: ordinary Rust 1.96.0 release builds, default threads, warm filesystem cache, and `--no-config --no-cache --silent` (`--flavor=standard` for Cargo/Ruff, `--flavor=mkdocs` for MkDocs Material). Output includes the correctness fixes listed below and can differ from 0.2.79. - Code block tools are supported and remain opt-in. Missing tags, missing active-mode tools and invocations with no tools checked are ignored by default. An omitted unknown-tag policy inherits `on-missing-language-definition`, preserving existing strict configurations. Valid internal cached checks count as checked; applicable external tools rerun to reflect changes in their own configuration and environment. - `on-missing-language-definition = "warn"` now reports uncovered languages; previous releases treated it as `ignore`. - Executable lookup remains system-only by default. Per-binary preferences can opt into nearest-first project lookup bounded by repository/configuration boundaries, including hoisted workspace installations. - MD037 still reports spaces inside emphasis delimiters but no longer provides automatic fixes, including editor fixes. Repair the reported emphasis manually; inserting escapes or removing whitespace can change literal Markdown meaning. ### Added - `fmt --preflight` and `check --fix --preflight` validate and plan the complete selected file batch before applying any writes, with atomic replacement per file after successful planning. - Configurable coverage policies with block diagnostics and invocation-wide fail-fast behavior. Invalid tool definitions receive central configuration warnin… (truncated) </details> <details> <summary>tombi: `1.8.1` → `1.8.7` (tombi-toml/tombi)</summary> ### v1.8.2 <!-- Release notes generated using configuration in .github/release.yml at v1.8.2 --> ## What's Changed ### 🛠️ Other Changes * chore(deps): format Cargo.toml by @ya7010 in tombi-toml/tombi#2291 * fix(schema-store): allow documents to share a schema $id by @ya7010 in tombi-toml/tombi#2293 * refactor(schema-store): remove the ast-syntax feature by @ya7010 in tombi-toml/tombi#2294 **Full Changelog**: tombi-toml/tombi@v1.8.1...v1.8.2 ### v1.8.3 <!-- Release notes generated using configuration in .github/release.yml at v1.8.3 --> ## What's Changed ### 🛠️ Other Changes * fix(lsp): skip file watcher events inside VCS metadata directories by @ya7010 in tombi-toml/tombi#2296 * refactor(lsp): migrate from tower-lsp to tower-lsp-server by @ya7010 in tombi-toml/tombi#2297 * fix(validator): apply sub-schemas under keys rejected by the root schema by @ya7010 in tombi-toml/tombi#2298 **Full Changelog**: tombi-toml/tombi@v1.8.2...v1.8.3 ### v1.8.4 <!-- Release notes generated using configuration in .github/release.yml at v1.8.4 --> ## What's Changed ### 🛠️ Other Changes * fix(config): order schema catalog before format by @ya7010 in tombi-toml/tombi#2299 **Full Changelog**: tombi-toml/tombi@v1.8.3...v1.8.4 ### v1.8.5 <!-- Release notes generated using configuration in .github/release.yml at v1.8.5 --> ## What's Changed ### 🛠️ Other Changes * update: tombi.toml sample by @ya7010 in tombi-toml/tombi#2302 * chore: tombi.toml sample by @ya7010 in tombi-toml/tombi#2303 * docs: embed configuration Full Structure from a checked TOML file by @ya7010 in tombi-toml/tombi#2304 * fix(schema-store): honor environment proxies for schema fetches by @cailloumajor in tombi-toml/tombi#2306 * fix(schema-store): refuse schema URLs targeting the proxy host by @ya7010 in tombi-toml/tombi#2308 * test(schema-store): cover local resolution check for proxied destinations by @ya7010 in tombi-toml/tombi#2307 * feat(schema-store): honor operating-system proxy settings for schema fetches by @ya7010 in tombi-toml/tombi#2309 ## New Contributors * @cailloumajor made their first contribution in tombi-toml/tombi#2306 **Full Changelog**: tombi-toml/tombi@v1.8.4...v1.8.5 ### v1.8.6 <!-- Release notes generated using configuration in .github/release.yml at v1.8.6 --> ## What's Changed ### 🐝 Bug Fixes * fix(docs): resolve embedded snippet during Pages build by @ya7010 in tombi-toml/tombi#2310 ### 📦 Dependencies * fix(deps): update quinn-proto and rustls for OSV advisories by @ya7010 in tombi-toml/tombi#2311 * fix(deps): update zip to 9.0.4 by @ya7010 in tombi-toml/tombi#2317 ### 🛠️ Other Changes * refactor(lsp): collect folding spans in one AST traversal by @ya7010 in tombi-toml/tombi#2312 * refactor: reuse AST groups during formatting and hover by @ya7010 in tombi-toml/tombi#2313 * refactor(formatter): reuse root leading comments by @ya7010 in tombi-toml/tombi#2314 * feat(lsp): highlight TOML region markers by @ya7010 in tombi-toml/tombi#2316 **Full Changelog**: tombi-toml/tombi@v1.8.5...v1.8.6 ### v1.8.7 <!-- Release notes generated using configuration in .github/release.yml at v1.8.7 --> ## What's Changed ### 🦅 New Features * Add --cache-ttl CLI option by @ya7010 in tombi-toml/tombi#2320 * feat(cache): add `tombi cache clean/dir` commands by @ya7010 in tombi-toml/tombi#2321 ### 🐝 Bug Fixes * fix(direnv): skip flake when nix is unavailable by @ya7010 in tombi-toml/tombi#2323 **Full Changelog**: tombi-toml/tombi@v1.8.6...v1.8.7 </details> <details> <summary>uv: `0.13.0` → `0.13.1` (astral-sh/uv)</summary> ### 0.13.1 ## Release Notes Released on 2026-10-14. ### Enhancements - Ignore `Requires-Python` upper bounds in `uv pip check` and `uv pip install --strict`, consistent with resolution ([#22500](astral-sh/uv#22500)) - Support Linux SPARC by falling back when filesystem cloning and detailed cache accounting are unavailable ([#22463](astral-sh/uv#22463)) - Report missing trusted hashes in resolution errors ([#22241](astral-sh/uv#22241)) ### Python - Add CPython 3.16.0a1 ([#22527](astral-sh/uv#22527)) ### Preview features - Allow `uv tool upgrade` to upgrade installed tools when `tool-install-locks` is enabled ([#22498](astral-sh/uv#22498)) - Add preliminary support for parsing PEP 825 variant labels in wheel filenames with `wheel-variants` ([#22039](astral-sh/uv#22039)) ### Performance - Reduce uv's binary size ([#22429](astral-sh/uv#22429), [#22430](astral-sh/uv#22430), [#22432](astral-sh/uv#22432)) - Speed up Simple API parsing ([#22429](astral-sh/uv#22429)) - Reduce package metadata parsing overhead ([#22239](astral-sh/uv#22239)) ### Bug fixes - Prevent tool and managed Python uninstalls from deleting unrelated files beside their storage directories ([#22495](astral-sh/uv#22495)) - Restore support for source distributions containing hard links or full-length tar user or group names ([#22516](astral-sh/uv#22516), [#22522](astral-sh/uv#22522)) - Preserve device files and FIFOs used as `uv pip compile` or `uv export` output destinations ([#22496](astral-sh/uv#22496)) - Fix `sys._base_executable` detection for environments created from symlinked interpreters ([#22520](https://github.com/astral-sh/uv/pul… (truncated) </details> <details> <summary>zizmor: `1.30.1` → `1.31.1` (zizmorcore/zizmor)</summary> ### v1.31.0 [Sponsorship is appreciated!](https://github.com/sponsors/woodruffw/) ## Enhancements 🌱[🔗](https://docs.zizmor.sh/release-notes/#enhancements) - The [typosquat-uses](https://docs.zizmor.sh/audits/#typosquat-uses) audit now supports pre-commit config inputs ([#2437](zizmorcore/zizmor#2437)) - The [self-hosted-runner](https://docs.zizmor.sh/audits/#self-hosted-runner) audit is now significantly more precise ([#2350](zizmorcore/zizmor#2350)) Many thanks to [@ubiratansoares](https://github.com/ubiratansoares) for proposing and implementing this enhancement! - The [dangerous-triggers](https://docs.zizmor.sh/audits/#dangerous-triggers) audit now considers the issue_comment trigger fundamentally dangerous ([#2396](zizmorcore/zizmor#2396)) - zizmor is now aware of the image_version workflow trigger ([#2397](zizmorcore/zizmor#2397)) - The [dangerous-triggers](https://docs.zizmor.sh/audits/#dangerous-triggers) audit now produces more precise finding/diagnostic spans ([#2402](zizmorcore/zizmor#2402)) - The [cache-poisoning](https://docs.zizmor.sh/audits/#cache-poisoning) audit is now aware of [pnpm/setup](https://github.com/pnpm/setup) ([#2409](zizmorcore/zizmor#2409)) - The [unpinned-images](https://docs.zizmor.sh/audits/#unpinned-images) audit now produces more precise findings when the user's workflow contains an indirect matrix ([#2395](zizmorcore/zizmor#2395)) Many thanks to [@ubiratansoares](https://github.com/ubiratansoares) for proposing and implementing this enhancement! - The [cache-poisoning](https://docs.zizmor.sh/audits/#cache-poisoning) audit is now aware of GitHub's new cache-mode: setting, and will skip any findings that would occur when a job has an effective cache-mode: none ([#2418](https://github.com/zizmorcore/zizmor/iss… (truncated) ### v1.31.1 [Sponsorship is appreciated!](https://github.com/sponsors/woodruffw/) ## Bug Fixes 🐛[🔗](https://docs.zizmor.sh/release-notes/#bug-fixes) - Fixed a regression in [1.31.0](https://docs.zizmor.sh/release-notes/#1310) where some ignore comments/configurations would no longer apply to the [dangerous-triggers](https://docs.zizmor.sh/audits/#dangerous-triggers) audit ([#2450](zizmorcore/zizmor#2450)) </details> </details> Modified files: - `.mise.toml`
jylenhof
pushed a commit
to jylenhof/mise-en-place-tips
that referenced
this pull request
Oct 24, 2026
Automated mise tool upgrades from local config. mise-managed tools: - `zizmor` Command: `mise upgrade --bump --local zizmor` <details> <summary>Version changelog (zizmor)</summary> | Tool | Requested | Installed | |------|-----------|-----------| | `zizmor` | `1.30.1` → `1.31.1` | `1.30.1` → `1.31.1` | </details> <details> <summary>Release notes (1 tools)</summary> <details> <summary>zizmor: `1.30.1` → `1.31.1` (zizmorcore/zizmor)</summary> ### v1.31.0 [Sponsorship is appreciated!](https://github.com/sponsors/woodruffw/) ## Enhancements 🌱[🔗](https://docs.zizmor.sh/release-notes/#enhancements) - The [typosquat-uses](https://docs.zizmor.sh/audits/#typosquat-uses) audit now supports pre-commit config inputs ([#2437](zizmorcore/zizmor#2437)) - The [self-hosted-runner](https://docs.zizmor.sh/audits/#self-hosted-runner) audit is now significantly more precise ([#2350](zizmorcore/zizmor#2350)) Many thanks to [@ubiratansoares](https://github.com/ubiratansoares) for proposing and implementing this enhancement! - The [dangerous-triggers](https://docs.zizmor.sh/audits/#dangerous-triggers) audit now considers the issue_comment trigger fundamentally dangerous ([#2396](zizmorcore/zizmor#2396)) - zizmor is now aware of the image_version workflow trigger ([#2397](zizmorcore/zizmor#2397)) - The [dangerous-triggers](https://docs.zizmor.sh/audits/#dangerous-triggers) audit now produces more precise finding/diagnostic spans ([#2402](zizmorcore/zizmor#2402)) - The [cache-poisoning](https://docs.zizmor.sh/audits/#cache-poisoning) audit is now aware of [pnpm/setup](https://github.com/pnpm/setup) ([#2409](zizmorcore/zizmor#2409)) - The [unpinned-images](https://docs.zizmor.sh/audits/#unpinned-images) audit now produces more precise findings when the user's workflow contains an indirect matrix ([#2395](zizmorcore/zizmor#2395)) Many thanks to [@ubiratansoares](https://github.com/ubiratansoares) for proposing and implementing this enhancement! - The [cache-poisoning](https://docs.zizmor.sh/audits/#cache-poisoning) audit is now aware of GitHub's new cache-mode: setting, and will skip any findings that would occur when a job has an effective cache-mode: none ([#2418](https://github.com/zizmorcore/zizmor/iss… (truncated) ### v1.31.1 [Sponsorship is appreciated!](https://github.com/sponsors/woodruffw/) ## Bug Fixes 🐛[🔗](https://docs.zizmor.sh/release-notes/#bug-fixes) - Fixed a regression in [1.31.0](https://docs.zizmor.sh/release-notes/#1310) where some ignore comments/configurations would no longer apply to the [dangerous-triggers](https://docs.zizmor.sh/audits/#dangerous-triggers) audit ([#2450](zizmorcore/zizmor#2450)) </details> </details> Modified files: - `.mise.toml`
jylenhof
pushed a commit
to jylenhof/github-actions-resources
that referenced
this pull request
Oct 24, 2026
Automated mise tool upgrades from local config. mise-managed tools: - `action-validator` - `editorconfig-checker` - `ghalint` - `jactionlint` - `lychee` - `pipx:gh-action-pulse` - `prek` - `rumdl` - `shellcheck` - `shfmt` - `tombi` - `uv` - `yamlfmt` - `yamllint` - `zizmor` Command: `mise upgrade --bump --local action-validator editorconfig-checker ghalint jactionlint lychee pipx:gh-action-pulse prek rumdl shellcheck shfmt tombi uv yamlfmt yamllint zizmor` <details> <summary>Version changelog (5 tools)</summary> | Tool | Requested | Installed | |------|-----------|-----------| | `jactionlint` | `2.1.0` → `2.2.0` | `2.1.0` → `2.2.0` | | `rumdl` | `0.2.79` → `0.3.0` | `0.2.79` → `0.3.0` | | `tombi` | `1.8.1` → `1.8.7` | `1.8.1` → `1.8.7` | | `uv` | `0.13.0` → `0.13.1` | `0.13.0` → `0.13.1` | | `zizmor` | `1.30.1` → `1.31.1` | `1.30.1` → `1.31.1` | </details> <details> <summary>Release notes (5 tools)</summary> <details> <summary>jactionlint: `2.1.0` → `2.2.0` (jdx/jactionlint)</summary> ### v2.2.0 jactionlint 2.2.0 adds about thirty new rules and extends many existing ones, mostly for script injection, token permissions, pinning and runner limits. It also adds CLI modes for pull request checks (`--changed-since`), rule discovery (`--list-rules`, `--explain`, shell completions), fact export and timeout suggestions, and publishes wheels to PyPI. Several new rules are in the `default` or `correctness` profile, so a run that was clean on 2.1.0 can show new findings. See **Changed** before you upgrade. ## Highlights - **More checks before a run fails:** shell syntax errors without shellcheck, JavaScript syntax errors in `actions/github-script`, job permissions too narrow for the actions in the job, `gh` without a token, `ubuntu-slim` limits, `github.event` property typos, and validation of GitHub's Actions lock file. - **Deeper security analysis:** `untrusted-checkout`, `cache-poisoning`, `template-injection` and the secret rules follow more code paths. New pedantic and online rules cover command and argument injection, repojacking, release age, unpinned action dependencies and environments without required reviewers. - **Better for CI and tooling:** report only findings on changed lines, select single rules, export the repository model as JSON, get JSON Schemas for config and output, and install with `pip`/`uvx`. ## Added ### New rules in the `default` and `correctness` profiles - **`shell-syntax`** (default, error): reports syntax errors in `bash`/`sh` `run:` scripts, such as an unclosed quote or a missing `fi`/`done`, using a built-in parser. It runs only when shellcheck does not run, so the two never report the same error. (#273, @jdx) - **`insufficient-permissions`** (default, error): reports a job whose explicit `permissions:` miss a scope that one of its actions needs (`upload-sarif`, `deploy-pages`, OIDC logins, `gh release create`, `git push` and others, about 26 entries). `missing-permissions --fix` now uses the same table to write job… (truncated) </details> <details> <summary>rumdl: `0.2.79` → `0.3.0` (rvben/rumdl)</summary> ### v0.3.0 ### Changed - **2.4–4.7× faster `rumdl fmt`** than 0.2.79 on frozen documentation snapshots: Cargo (99 files) 4.7×, MkDocs Material (85 files) 2.6×, and Ruff (16 files) 2.4×. Reusing parsed Markdown and shared source analysis reduces repeated work. Speedups compare median elapsed times from 31 paired runs after five warmups on Apple M6: ordinary Rust 1.96.0 release builds, default threads, warm filesystem cache, and `--no-config --no-cache --silent` (`--flavor=standard` for Cargo/Ruff, `--flavor=mkdocs` for MkDocs Material). Output includes the correctness fixes listed below and can differ from 0.2.79. - Code block tools are supported and remain opt-in. Missing tags, missing active-mode tools and invocations with no tools checked are ignored by default. An omitted unknown-tag policy inherits `on-missing-language-definition`, preserving existing strict configurations. Valid internal cached checks count as checked; applicable external tools rerun to reflect changes in their own configuration and environment. - `on-missing-language-definition = "warn"` now reports uncovered languages; previous releases treated it as `ignore`. - Executable lookup remains system-only by default. Per-binary preferences can opt into nearest-first project lookup bounded by repository/configuration boundaries, including hoisted workspace installations. - MD037 still reports spaces inside emphasis delimiters but no longer provides automatic fixes, including editor fixes. Repair the reported emphasis manually; inserting escapes or removing whitespace can change literal Markdown meaning. ### Added - `fmt --preflight` and `check --fix --preflight` validate and plan the complete selected file batch before applying any writes, with atomic replacement per file after successful planning. - Configurable coverage policies with block diagnostics and invocation-wide fail-fast behavior. Invalid tool definitions receive central configuration warnin… (truncated) </details> <details> <summary>tombi: `1.8.1` → `1.8.7` (tombi-toml/tombi)</summary> ### v1.8.2 <!-- Release notes generated using configuration in .github/release.yml at v1.8.2 --> ## What's Changed ### 🛠️ Other Changes * chore(deps): format Cargo.toml by @ya7010 in tombi-toml/tombi#2291 * fix(schema-store): allow documents to share a schema $id by @ya7010 in tombi-toml/tombi#2293 * refactor(schema-store): remove the ast-syntax feature by @ya7010 in tombi-toml/tombi#2294 **Full Changelog**: tombi-toml/tombi@v1.8.1...v1.8.2 ### v1.8.3 <!-- Release notes generated using configuration in .github/release.yml at v1.8.3 --> ## What's Changed ### 🛠️ Other Changes * fix(lsp): skip file watcher events inside VCS metadata directories by @ya7010 in tombi-toml/tombi#2296 * refactor(lsp): migrate from tower-lsp to tower-lsp-server by @ya7010 in tombi-toml/tombi#2297 * fix(validator): apply sub-schemas under keys rejected by the root schema by @ya7010 in tombi-toml/tombi#2298 **Full Changelog**: tombi-toml/tombi@v1.8.2...v1.8.3 ### v1.8.4 <!-- Release notes generated using configuration in .github/release.yml at v1.8.4 --> ## What's Changed ### 🛠️ Other Changes * fix(config): order schema catalog before format by @ya7010 in tombi-toml/tombi#2299 **Full Changelog**: tombi-toml/tombi@v1.8.3...v1.8.4 ### v1.8.5 <!-- Release notes generated using configuration in .github/release.yml at v1.8.5 --> ## What's Changed ### 🛠️ Other Changes * update: tombi.toml sample by @ya7010 in tombi-toml/tombi#2302 * chore: tombi.toml sample by @ya7010 in tombi-toml/tombi#2303 * docs: embed configuration Full Structure from a checked TOML file by @ya7010 in tombi-toml/tombi#2304 * fix(schema-store): honor environment proxies for schema fetches by @cailloumajor in tombi-toml/tombi#2306 * fix(schema-store): refuse schema URLs targeting the proxy host by @ya7010 in tombi-toml/tombi#2308 * test(schema-store): cover local resolution check for proxied destinations by @ya7010 in tombi-toml/tombi#2307 * feat(schema-store): honor operating-system proxy settings for schema fetches by @ya7010 in tombi-toml/tombi#2309 ## New Contributors * @cailloumajor made their first contribution in tombi-toml/tombi#2306 **Full Changelog**: tombi-toml/tombi@v1.8.4...v1.8.5 ### v1.8.6 <!-- Release notes generated using configuration in .github/release.yml at v1.8.6 --> ## What's Changed ### 🐝 Bug Fixes * fix(docs): resolve embedded snippet during Pages build by @ya7010 in tombi-toml/tombi#2310 ### 📦 Dependencies * fix(deps): update quinn-proto and rustls for OSV advisories by @ya7010 in tombi-toml/tombi#2311 * fix(deps): update zip to 9.0.4 by @ya7010 in tombi-toml/tombi#2317 ### 🛠️ Other Changes * refactor(lsp): collect folding spans in one AST traversal by @ya7010 in tombi-toml/tombi#2312 * refactor: reuse AST groups during formatting and hover by @ya7010 in tombi-toml/tombi#2313 * refactor(formatter): reuse root leading comments by @ya7010 in tombi-toml/tombi#2314 * feat(lsp): highlight TOML region markers by @ya7010 in tombi-toml/tombi#2316 **Full Changelog**: tombi-toml/tombi@v1.8.5...v1.8.6 ### v1.8.7 <!-- Release notes generated using configuration in .github/release.yml at v1.8.7 --> ## What's Changed ### 🦅 New Features * Add --cache-ttl CLI option by @ya7010 in tombi-toml/tombi#2320 * feat(cache): add `tombi cache clean/dir` commands by @ya7010 in tombi-toml/tombi#2321 ### 🐝 Bug Fixes * fix(direnv): skip flake when nix is unavailable by @ya7010 in tombi-toml/tombi#2323 **Full Changelog**: tombi-toml/tombi@v1.8.6...v1.8.7 </details> <details> <summary>uv: `0.13.0` → `0.13.1` (astral-sh/uv)</summary> ### 0.13.1 ## Release Notes Released on 2026-10-14. ### Enhancements - Ignore `Requires-Python` upper bounds in `uv pip check` and `uv pip install --strict`, consistent with resolution ([#22500](astral-sh/uv#22500)) - Support Linux SPARC by falling back when filesystem cloning and detailed cache accounting are unavailable ([#22463](astral-sh/uv#22463)) - Report missing trusted hashes in resolution errors ([#22241](astral-sh/uv#22241)) ### Python - Add CPython 3.16.0a1 ([#22527](astral-sh/uv#22527)) ### Preview features - Allow `uv tool upgrade` to upgrade installed tools when `tool-install-locks` is enabled ([#22498](astral-sh/uv#22498)) - Add preliminary support for parsing PEP 825 variant labels in wheel filenames with `wheel-variants` ([#22039](astral-sh/uv#22039)) ### Performance - Reduce uv's binary size ([#22429](astral-sh/uv#22429), [#22430](astral-sh/uv#22430), [#22432](astral-sh/uv#22432)) - Speed up Simple API parsing ([#22429](astral-sh/uv#22429)) - Reduce package metadata parsing overhead ([#22239](astral-sh/uv#22239)) ### Bug fixes - Prevent tool and managed Python uninstalls from deleting unrelated files beside their storage directories ([#22495](astral-sh/uv#22495)) - Restore support for source distributions containing hard links or full-length tar user or group names ([#22516](astral-sh/uv#22516), [#22522](astral-sh/uv#22522)) - Preserve device files and FIFOs used as `uv pip compile` or `uv export` output destinations ([#22496](astral-sh/uv#22496)) - Fix `sys._base_executable` detection for environments created from symlinked interpreters ([#22520](https://github.com/astral-sh/uv/pul… (truncated) </details> <details> <summary>zizmor: `1.30.1` → `1.31.1` (zizmorcore/zizmor)</summary> ### v1.31.0 [Sponsorship is appreciated!](https://github.com/sponsors/woodruffw/) ## Enhancements 🌱[🔗](https://docs.zizmor.sh/release-notes/#enhancements) - The [typosquat-uses](https://docs.zizmor.sh/audits/#typosquat-uses) audit now supports pre-commit config inputs ([#2437](zizmorcore/zizmor#2437)) - The [self-hosted-runner](https://docs.zizmor.sh/audits/#self-hosted-runner) audit is now significantly more precise ([#2350](zizmorcore/zizmor#2350)) Many thanks to [@ubiratansoares](https://github.com/ubiratansoares) for proposing and implementing this enhancement! - The [dangerous-triggers](https://docs.zizmor.sh/audits/#dangerous-triggers) audit now considers the issue_comment trigger fundamentally dangerous ([#2396](zizmorcore/zizmor#2396)) - zizmor is now aware of the image_version workflow trigger ([#2397](zizmorcore/zizmor#2397)) - The [dangerous-triggers](https://docs.zizmor.sh/audits/#dangerous-triggers) audit now produces more precise finding/diagnostic spans ([#2402](zizmorcore/zizmor#2402)) - The [cache-poisoning](https://docs.zizmor.sh/audits/#cache-poisoning) audit is now aware of [pnpm/setup](https://github.com/pnpm/setup) ([#2409](zizmorcore/zizmor#2409)) - The [unpinned-images](https://docs.zizmor.sh/audits/#unpinned-images) audit now produces more precise findings when the user's workflow contains an indirect matrix ([#2395](zizmorcore/zizmor#2395)) Many thanks to [@ubiratansoares](https://github.com/ubiratansoares) for proposing and implementing this enhancement! - The [cache-poisoning](https://docs.zizmor.sh/audits/#cache-poisoning) audit is now aware of GitHub's new cache-mode: setting, and will skip any findings that would occur when a job has an effective cache-mode: none ([#2418](https://github.com/zizmorcore/zizmor/iss… (truncated) ### v1.31.1 [Sponsorship is appreciated!](https://github.com/sponsors/woodruffw/) ## Bug Fixes 🐛[🔗](https://docs.zizmor.sh/release-notes/#bug-fixes) - Fixed a regression in [1.31.0](https://docs.zizmor.sh/release-notes/#1310) where some ignore comments/configurations would no longer apply to the [dangerous-triggers](https://docs.zizmor.sh/audits/#dangerous-triggers) audit ([#2450](zizmorcore/zizmor#2450)) </details> </details> Modified files: - `.mise.toml` Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
jylenhof
pushed a commit
to jylenhof/mise-en-place-tips
that referenced
this pull request
Oct 24, 2026
Automated mise tool upgrades from local config. mise-managed tools: - `zizmor` Command: `mise upgrade --bump --local zizmor` <details> <summary>Version changelog (zizmor)</summary> | Tool | Requested | Installed | |------|-----------|-----------| | `zizmor` | `1.30.1` → `1.31.1` | `1.30.1` → `1.31.1` | </details> <details> <summary>Release notes (1 tools)</summary> <details> <summary>zizmor: `1.30.1` → `1.31.1` (zizmorcore/zizmor)</summary> ### v1.31.0 [Sponsorship is appreciated!](https://github.com/sponsors/woodruffw/) ## Enhancements 🌱[🔗](https://docs.zizmor.sh/release-notes/#enhancements) - The [typosquat-uses](https://docs.zizmor.sh/audits/#typosquat-uses) audit now supports pre-commit config inputs ([#2437](zizmorcore/zizmor#2437)) - The [self-hosted-runner](https://docs.zizmor.sh/audits/#self-hosted-runner) audit is now significantly more precise ([#2350](zizmorcore/zizmor#2350)) Many thanks to [@ubiratansoares](https://github.com/ubiratansoares) for proposing and implementing this enhancement! - The [dangerous-triggers](https://docs.zizmor.sh/audits/#dangerous-triggers) audit now considers the issue_comment trigger fundamentally dangerous ([#2396](zizmorcore/zizmor#2396)) - zizmor is now aware of the image_version workflow trigger ([#2397](zizmorcore/zizmor#2397)) - The [dangerous-triggers](https://docs.zizmor.sh/audits/#dangerous-triggers) audit now produces more precise finding/diagnostic spans ([#2402](zizmorcore/zizmor#2402)) - The [cache-poisoning](https://docs.zizmor.sh/audits/#cache-poisoning) audit is now aware of [pnpm/setup](https://github.com/pnpm/setup) ([#2409](zizmorcore/zizmor#2409)) - The [unpinned-images](https://docs.zizmor.sh/audits/#unpinned-images) audit now produces more precise findings when the user's workflow contains an indirect matrix ([#2395](zizmorcore/zizmor#2395)) Many thanks to [@ubiratansoares](https://github.com/ubiratansoares) for proposing and implementing this enhancement! - The [cache-poisoning](https://docs.zizmor.sh/audits/#cache-poisoning) audit is now aware of GitHub's new cache-mode: setting, and will skip any findings that would occur when a job has an effective cache-mode: none ([#2418](https://github.com/zizmorcore/zizmor/iss… (truncated) ### v1.31.1 [Sponsorship is appreciated!](https://github.com/sponsors/woodruffw/) ## Bug Fixes 🐛[🔗](https://docs.zizmor.sh/release-notes/#bug-fixes) - Fixed a regression in [1.31.0](https://docs.zizmor.sh/release-notes/#1310) where some ignore comments/configurations would no longer apply to the [dangerous-triggers](https://docs.zizmor.sh/audits/#dangerous-triggers) audit ([#2450](zizmorcore/zizmor#2450)) </details> </details> Modified files: - `.mise.toml` Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
jylenhof
pushed a commit
to jylenhof/mise-en-place-resources
that referenced
this pull request
Oct 24, 2026
Automated mise tool upgrades from local config. mise-managed tools: - `action-validator` - `editorconfig-checker` - `ghalint` - `jactionlint` - `lychee` - `pipx:gh-action-pulse` - `prek` - `rumdl` - `shellcheck` - `shfmt` - `tombi` - `uv` - `yamlfmt` - `yamllint` - `zizmor` Command: `mise upgrade --bump --local action-validator editorconfig-checker ghalint jactionlint lychee pipx:gh-action-pulse prek rumdl shellcheck shfmt tombi uv yamlfmt yamllint zizmor` <details> <summary>Version changelog (5 tools)</summary> | Tool | Requested | Installed | |------|-----------|-----------| | `jactionlint` | `2.1.0` → `2.2.0` | `2.1.0` → `2.2.0` | | `rumdl` | `0.2.79` → `0.3.0` | `0.2.79` → `0.3.0` | | `tombi` | `1.8.1` → `1.8.7` | `1.8.1` → `1.8.7` | | `uv` | `0.13.0` → `0.13.1` | `0.13.0` → `0.13.1` | | `zizmor` | `1.30.1` → `1.31.1` | `1.30.1` → `1.31.1` | </details> <details> <summary>Release notes (5 tools)</summary> <details> <summary>jactionlint: `2.1.0` → `2.2.0` (jdx/jactionlint)</summary> ### v2.2.0 jactionlint 2.2.0 adds about thirty new rules and extends many existing ones, mostly for script injection, token permissions, pinning and runner limits. It also adds CLI modes for pull request checks (`--changed-since`), rule discovery (`--list-rules`, `--explain`, shell completions), fact export and timeout suggestions, and publishes wheels to PyPI. Several new rules are in the `default` or `correctness` profile, so a run that was clean on 2.1.0 can show new findings. See **Changed** before you upgrade. ## Highlights - **More checks before a run fails:** shell syntax errors without shellcheck, JavaScript syntax errors in `actions/github-script`, job permissions too narrow for the actions in the job, `gh` without a token, `ubuntu-slim` limits, `github.event` property typos, and validation of GitHub's Actions lock file. - **Deeper security analysis:** `untrusted-checkout`, `cache-poisoning`, `template-injection` and the secret rules follow more code paths. New pedantic and online rules cover command and argument injection, repojacking, release age, unpinned action dependencies and environments without required reviewers. - **Better for CI and tooling:** report only findings on changed lines, select single rules, export the repository model as JSON, get JSON Schemas for config and output, and install with `pip`/`uvx`. ## Added ### New rules in the `default` and `correctness` profiles - **`shell-syntax`** (default, error): reports syntax errors in `bash`/`sh` `run:` scripts, such as an unclosed quote or a missing `fi`/`done`, using a built-in parser. It runs only when shellcheck does not run, so the two never report the same error. (#273, @jdx) - **`insufficient-permissions`** (default, error): reports a job whose explicit `permissions:` miss a scope that one of its actions needs (`upload-sarif`, `deploy-pages`, OIDC logins, `gh release create`, `git push` and others, about 26 entries). `missing-permissions --fix` now uses the same table to write job… (truncated) </details> <details> <summary>rumdl: `0.2.79` → `0.3.0` (rvben/rumdl)</summary> ### v0.3.0 ### Changed - **2.4–4.7× faster `rumdl fmt`** than 0.2.79 on frozen documentation snapshots: Cargo (99 files) 4.7×, MkDocs Material (85 files) 2.6×, and Ruff (16 files) 2.4×. Reusing parsed Markdown and shared source analysis reduces repeated work. Speedups compare median elapsed times from 31 paired runs after five warmups on Apple M6: ordinary Rust 1.96.0 release builds, default threads, warm filesystem cache, and `--no-config --no-cache --silent` (`--flavor=standard` for Cargo/Ruff, `--flavor=mkdocs` for MkDocs Material). Output includes the correctness fixes listed below and can differ from 0.2.79. - Code block tools are supported and remain opt-in. Missing tags, missing active-mode tools and invocations with no tools checked are ignored by default. An omitted unknown-tag policy inherits `on-missing-language-definition`, preserving existing strict configurations. Valid internal cached checks count as checked; applicable external tools rerun to reflect changes in their own configuration and environment. - `on-missing-language-definition = "warn"` now reports uncovered languages; previous releases treated it as `ignore`. - Executable lookup remains system-only by default. Per-binary preferences can opt into nearest-first project lookup bounded by repository/configuration boundaries, including hoisted workspace installations. - MD037 still reports spaces inside emphasis delimiters but no longer provides automatic fixes, including editor fixes. Repair the reported emphasis manually; inserting escapes or removing whitespace can change literal Markdown meaning. ### Added - `fmt --preflight` and `check --fix --preflight` validate and plan the complete selected file batch before applying any writes, with atomic replacement per file after successful planning. - Configurable coverage policies with block diagnostics and invocation-wide fail-fast behavior. Invalid tool definitions receive central configuration warnin… (truncated) </details> <details> <summary>tombi: `1.8.1` → `1.8.7` (tombi-toml/tombi)</summary> ### v1.8.2 <!-- Release notes generated using configuration in .github/release.yml at v1.8.2 --> ## What's Changed ### 🛠️ Other Changes * chore(deps): format Cargo.toml by @ya7010 in tombi-toml/tombi#2291 * fix(schema-store): allow documents to share a schema $id by @ya7010 in tombi-toml/tombi#2293 * refactor(schema-store): remove the ast-syntax feature by @ya7010 in tombi-toml/tombi#2294 **Full Changelog**: tombi-toml/tombi@v1.8.1...v1.8.2 ### v1.8.3 <!-- Release notes generated using configuration in .github/release.yml at v1.8.3 --> ## What's Changed ### 🛠️ Other Changes * fix(lsp): skip file watcher events inside VCS metadata directories by @ya7010 in tombi-toml/tombi#2296 * refactor(lsp): migrate from tower-lsp to tower-lsp-server by @ya7010 in tombi-toml/tombi#2297 * fix(validator): apply sub-schemas under keys rejected by the root schema by @ya7010 in tombi-toml/tombi#2298 **Full Changelog**: tombi-toml/tombi@v1.8.2...v1.8.3 ### v1.8.4 <!-- Release notes generated using configuration in .github/release.yml at v1.8.4 --> ## What's Changed ### 🛠️ Other Changes * fix(config): order schema catalog before format by @ya7010 in tombi-toml/tombi#2299 **Full Changelog**: tombi-toml/tombi@v1.8.3...v1.8.4 ### v1.8.5 <!-- Release notes generated using configuration in .github/release.yml at v1.8.5 --> ## What's Changed ### 🛠️ Other Changes * update: tombi.toml sample by @ya7010 in tombi-toml/tombi#2302 * chore: tombi.toml sample by @ya7010 in tombi-toml/tombi#2303 * docs: embed configuration Full Structure from a checked TOML file by @ya7010 in tombi-toml/tombi#2304 * fix(schema-store): honor environment proxies for schema fetches by @cailloumajor in tombi-toml/tombi#2306 * fix(schema-store): refuse schema URLs targeting the proxy host by @ya7010 in tombi-toml/tombi#2308 * test(schema-store): cover local resolution check for proxied destinations by @ya7010 in tombi-toml/tombi#2307 * feat(schema-store): honor operating-system proxy settings for schema fetches by @ya7010 in tombi-toml/tombi#2309 ## New Contributors * @cailloumajor made their first contribution in tombi-toml/tombi#2306 **Full Changelog**: tombi-toml/tombi@v1.8.4...v1.8.5 ### v1.8.6 <!-- Release notes generated using configuration in .github/release.yml at v1.8.6 --> ## What's Changed ### 🐝 Bug Fixes * fix(docs): resolve embedded snippet during Pages build by @ya7010 in tombi-toml/tombi#2310 ### 📦 Dependencies * fix(deps): update quinn-proto and rustls for OSV advisories by @ya7010 in tombi-toml/tombi#2311 * fix(deps): update zip to 9.0.4 by @ya7010 in tombi-toml/tombi#2317 ### 🛠️ Other Changes * refactor(lsp): collect folding spans in one AST traversal by @ya7010 in tombi-toml/tombi#2312 * refactor: reuse AST groups during formatting and hover by @ya7010 in tombi-toml/tombi#2313 * refactor(formatter): reuse root leading comments by @ya7010 in tombi-toml/tombi#2314 * feat(lsp): highlight TOML region markers by @ya7010 in tombi-toml/tombi#2316 **Full Changelog**: tombi-toml/tombi@v1.8.5...v1.8.6 ### v1.8.7 <!-- Release notes generated using configuration in .github/release.yml at v1.8.7 --> ## What's Changed ### 🦅 New Features * Add --cache-ttl CLI option by @ya7010 in tombi-toml/tombi#2320 * feat(cache): add `tombi cache clean/dir` commands by @ya7010 in tombi-toml/tombi#2321 ### 🐝 Bug Fixes * fix(direnv): skip flake when nix is unavailable by @ya7010 in tombi-toml/tombi#2323 **Full Changelog**: tombi-toml/tombi@v1.8.6...v1.8.7 </details> <details> <summary>uv: `0.13.0` → `0.13.1` (astral-sh/uv)</summary> ### 0.13.1 ## Release Notes Released on 2026-10-14. ### Enhancements - Ignore `Requires-Python` upper bounds in `uv pip check` and `uv pip install --strict`, consistent with resolution ([#22500](astral-sh/uv#22500)) - Support Linux SPARC by falling back when filesystem cloning and detailed cache accounting are unavailable ([#22463](astral-sh/uv#22463)) - Report missing trusted hashes in resolution errors ([#22241](astral-sh/uv#22241)) ### Python - Add CPython 3.16.0a1 ([#22527](astral-sh/uv#22527)) ### Preview features - Allow `uv tool upgrade` to upgrade installed tools when `tool-install-locks` is enabled ([#22498](astral-sh/uv#22498)) - Add preliminary support for parsing PEP 825 variant labels in wheel filenames with `wheel-variants` ([#22039](astral-sh/uv#22039)) ### Performance - Reduce uv's binary size ([#22429](astral-sh/uv#22429), [#22430](astral-sh/uv#22430), [#22432](astral-sh/uv#22432)) - Speed up Simple API parsing ([#22429](astral-sh/uv#22429)) - Reduce package metadata parsing overhead ([#22239](astral-sh/uv#22239)) ### Bug fixes - Prevent tool and managed Python uninstalls from deleting unrelated files beside their storage directories ([#22495](astral-sh/uv#22495)) - Restore support for source distributions containing hard links or full-length tar user or group names ([#22516](astral-sh/uv#22516), [#22522](astral-sh/uv#22522)) - Preserve device files and FIFOs used as `uv pip compile` or `uv export` output destinations ([#22496](astral-sh/uv#22496)) - Fix `sys._base_executable` detection for environments created from symlinked interpreters ([#22520](https://github.com/astral-sh/uv/pul… (truncated) </details> <details> <summary>zizmor: `1.30.1` → `1.31.1` (zizmorcore/zizmor)</summary> ### v1.31.0 [Sponsorship is appreciated!](https://github.com/sponsors/woodruffw/) ## Enhancements 🌱[🔗](https://docs.zizmor.sh/release-notes/#enhancements) - The [typosquat-uses](https://docs.zizmor.sh/audits/#typosquat-uses) audit now supports pre-commit config inputs ([#2437](zizmorcore/zizmor#2437)) - The [self-hosted-runner](https://docs.zizmor.sh/audits/#self-hosted-runner) audit is now significantly more precise ([#2350](zizmorcore/zizmor#2350)) Many thanks to [@ubiratansoares](https://github.com/ubiratansoares) for proposing and implementing this enhancement! - The [dangerous-triggers](https://docs.zizmor.sh/audits/#dangerous-triggers) audit now considers the issue_comment trigger fundamentally dangerous ([#2396](zizmorcore/zizmor#2396)) - zizmor is now aware of the image_version workflow trigger ([#2397](zizmorcore/zizmor#2397)) - The [dangerous-triggers](https://docs.zizmor.sh/audits/#dangerous-triggers) audit now produces more precise finding/diagnostic spans ([#2402](zizmorcore/zizmor#2402)) - The [cache-poisoning](https://docs.zizmor.sh/audits/#cache-poisoning) audit is now aware of [pnpm/setup](https://github.com/pnpm/setup) ([#2409](zizmorcore/zizmor#2409)) - The [unpinned-images](https://docs.zizmor.sh/audits/#unpinned-images) audit now produces more precise findings when the user's workflow contains an indirect matrix ([#2395](zizmorcore/zizmor#2395)) Many thanks to [@ubiratansoares](https://github.com/ubiratansoares) for proposing and implementing this enhancement! - The [cache-poisoning](https://docs.zizmor.sh/audits/#cache-poisoning) audit is now aware of GitHub's new cache-mode: setting, and will skip any findings that would occur when a job has an effective cache-mode: none ([#2418](https://github.com/zizmorcore/zizmor/iss… (truncated) ### v1.31.1 [Sponsorship is appreciated!](https://github.com/sponsors/woodruffw/) ## Bug Fixes 🐛[🔗](https://docs.zizmor.sh/release-notes/#bug-fixes) - Fixed a regression in [1.31.0](https://docs.zizmor.sh/release-notes/#1310) where some ignore comments/configurations would no longer apply to the [dangerous-triggers](https://docs.zizmor.sh/audits/#dangerous-triggers) audit ([#2450](zizmorcore/zizmor#2450)) </details> </details> Modified files: - `.mise.toml`
jylenhof
pushed a commit
to jylenhof/mise-en-place-resources
that referenced
this pull request
Oct 24, 2026
Automated mise tool upgrades from local config. mise-managed tools: - `action-validator` - `editorconfig-checker` - `ghalint` - `jactionlint` - `lychee` - `pipx:gh-action-pulse` - `prek` - `rumdl` - `shellcheck` - `shfmt` - `tombi` - `uv` - `yamlfmt` - `yamllint` - `zizmor` Command: `mise upgrade --bump --local action-validator editorconfig-checker ghalint jactionlint lychee pipx:gh-action-pulse prek rumdl shellcheck shfmt tombi uv yamlfmt yamllint zizmor` <details> <summary>Version changelog (5 tools)</summary> | Tool | Requested | Installed | |------|-----------|-----------| | `jactionlint` | `2.1.0` → `2.2.0` | `2.1.0` → `2.2.0` | | `rumdl` | `0.2.79` → `0.3.0` | `0.2.79` → `0.3.0` | | `tombi` | `1.8.1` → `1.8.7` | `1.8.1` → `1.8.7` | | `uv` | `0.13.0` → `0.13.1` | `0.13.0` → `0.13.1` | | `zizmor` | `1.30.1` → `1.31.1` | `1.30.1` → `1.31.1` | </details> <details> <summary>Release notes (5 tools)</summary> <details> <summary>jactionlint: `2.1.0` → `2.2.0` (jdx/jactionlint)</summary> ### v2.2.0 jactionlint 2.2.0 adds about thirty new rules and extends many existing ones, mostly for script injection, token permissions, pinning and runner limits. It also adds CLI modes for pull request checks (`--changed-since`), rule discovery (`--list-rules`, `--explain`, shell completions), fact export and timeout suggestions, and publishes wheels to PyPI. Several new rules are in the `default` or `correctness` profile, so a run that was clean on 2.1.0 can show new findings. See **Changed** before you upgrade. ## Highlights - **More checks before a run fails:** shell syntax errors without shellcheck, JavaScript syntax errors in `actions/github-script`, job permissions too narrow for the actions in the job, `gh` without a token, `ubuntu-slim` limits, `github.event` property typos, and validation of GitHub's Actions lock file. - **Deeper security analysis:** `untrusted-checkout`, `cache-poisoning`, `template-injection` and the secret rules follow more code paths. New pedantic and online rules cover command and argument injection, repojacking, release age, unpinned action dependencies and environments without required reviewers. - **Better for CI and tooling:** report only findings on changed lines, select single rules, export the repository model as JSON, get JSON Schemas for config and output, and install with `pip`/`uvx`. ## Added ### New rules in the `default` and `correctness` profiles - **`shell-syntax`** (default, error): reports syntax errors in `bash`/`sh` `run:` scripts, such as an unclosed quote or a missing `fi`/`done`, using a built-in parser. It runs only when shellcheck does not run, so the two never report the same error. (#273, @jdx) - **`insufficient-permissions`** (default, error): reports a job whose explicit `permissions:` miss a scope that one of its actions needs (`upload-sarif`, `deploy-pages`, OIDC logins, `gh release create`, `git push` and others, about 26 entries). `missing-permissions --fix` now uses the same table to write job… (truncated) </details> <details> <summary>rumdl: `0.2.79` → `0.3.0` (rvben/rumdl)</summary> ### v0.3.0 ### Changed - **2.4–4.7× faster `rumdl fmt`** than 0.2.79 on frozen documentation snapshots: Cargo (99 files) 4.7×, MkDocs Material (85 files) 2.6×, and Ruff (16 files) 2.4×. Reusing parsed Markdown and shared source analysis reduces repeated work. Speedups compare median elapsed times from 31 paired runs after five warmups on Apple M6: ordinary Rust 1.96.0 release builds, default threads, warm filesystem cache, and `--no-config --no-cache --silent` (`--flavor=standard` for Cargo/Ruff, `--flavor=mkdocs` for MkDocs Material). Output includes the correctness fixes listed below and can differ from 0.2.79. - Code block tools are supported and remain opt-in. Missing tags, missing active-mode tools and invocations with no tools checked are ignored by default. An omitted unknown-tag policy inherits `on-missing-language-definition`, preserving existing strict configurations. Valid internal cached checks count as checked; applicable external tools rerun to reflect changes in their own configuration and environment. - `on-missing-language-definition = "warn"` now reports uncovered languages; previous releases treated it as `ignore`. - Executable lookup remains system-only by default. Per-binary preferences can opt into nearest-first project lookup bounded by repository/configuration boundaries, including hoisted workspace installations. - MD037 still reports spaces inside emphasis delimiters but no longer provides automatic fixes, including editor fixes. Repair the reported emphasis manually; inserting escapes or removing whitespace can change literal Markdown meaning. ### Added - `fmt --preflight` and `check --fix --preflight` validate and plan the complete selected file batch before applying any writes, with atomic replacement per file after successful planning. - Configurable coverage policies with block diagnostics and invocation-wide fail-fast behavior. Invalid tool definitions receive central configuration warnin… (truncated) </details> <details> <summary>tombi: `1.8.1` → `1.8.7` (tombi-toml/tombi)</summary> ### v1.8.2 <!-- Release notes generated using configuration in .github/release.yml at v1.8.2 --> ## What's Changed ### 🛠️ Other Changes * chore(deps): format Cargo.toml by @ya7010 in tombi-toml/tombi#2291 * fix(schema-store): allow documents to share a schema $id by @ya7010 in tombi-toml/tombi#2293 * refactor(schema-store): remove the ast-syntax feature by @ya7010 in tombi-toml/tombi#2294 **Full Changelog**: tombi-toml/tombi@v1.8.1...v1.8.2 ### v1.8.3 <!-- Release notes generated using configuration in .github/release.yml at v1.8.3 --> ## What's Changed ### 🛠️ Other Changes * fix(lsp): skip file watcher events inside VCS metadata directories by @ya7010 in tombi-toml/tombi#2296 * refactor(lsp): migrate from tower-lsp to tower-lsp-server by @ya7010 in tombi-toml/tombi#2297 * fix(validator): apply sub-schemas under keys rejected by the root schema by @ya7010 in tombi-toml/tombi#2298 **Full Changelog**: tombi-toml/tombi@v1.8.2...v1.8.3 ### v1.8.4 <!-- Release notes generated using configuration in .github/release.yml at v1.8.4 --> ## What's Changed ### 🛠️ Other Changes * fix(config): order schema catalog before format by @ya7010 in tombi-toml/tombi#2299 **Full Changelog**: tombi-toml/tombi@v1.8.3...v1.8.4 ### v1.8.5 <!-- Release notes generated using configuration in .github/release.yml at v1.8.5 --> ## What's Changed ### 🛠️ Other Changes * update: tombi.toml sample by @ya7010 in tombi-toml/tombi#2302 * chore: tombi.toml sample by @ya7010 in tombi-toml/tombi#2303 * docs: embed configuration Full Structure from a checked TOML file by @ya7010 in tombi-toml/tombi#2304 * fix(schema-store): honor environment proxies for schema fetches by @cailloumajor in tombi-toml/tombi#2306 * fix(schema-store): refuse schema URLs targeting the proxy host by @ya7010 in tombi-toml/tombi#2308 * test(schema-store): cover local resolution check for proxied destinations by @ya7010 in tombi-toml/tombi#2307 * feat(schema-store): honor operating-system proxy settings for schema fetches by @ya7010 in tombi-toml/tombi#2309 ## New Contributors * @cailloumajor made their first contribution in tombi-toml/tombi#2306 **Full Changelog**: tombi-toml/tombi@v1.8.4...v1.8.5 ### v1.8.6 <!-- Release notes generated using configuration in .github/release.yml at v1.8.6 --> ## What's Changed ### 🐝 Bug Fixes * fix(docs): resolve embedded snippet during Pages build by @ya7010 in tombi-toml/tombi#2310 ### 📦 Dependencies * fix(deps): update quinn-proto and rustls for OSV advisories by @ya7010 in tombi-toml/tombi#2311 * fix(deps): update zip to 9.0.4 by @ya7010 in tombi-toml/tombi#2317 ### 🛠️ Other Changes * refactor(lsp): collect folding spans in one AST traversal by @ya7010 in tombi-toml/tombi#2312 * refactor: reuse AST groups during formatting and hover by @ya7010 in tombi-toml/tombi#2313 * refactor(formatter): reuse root leading comments by @ya7010 in tombi-toml/tombi#2314 * feat(lsp): highlight TOML region markers by @ya7010 in tombi-toml/tombi#2316 **Full Changelog**: tombi-toml/tombi@v1.8.5...v1.8.6 ### v1.8.7 <!-- Release notes generated using configuration in .github/release.yml at v1.8.7 --> ## What's Changed ### 🦅 New Features * Add --cache-ttl CLI option by @ya7010 in tombi-toml/tombi#2320 * feat(cache): add `tombi cache clean/dir` commands by @ya7010 in tombi-toml/tombi#2321 ### 🐝 Bug Fixes * fix(direnv): skip flake when nix is unavailable by @ya7010 in tombi-toml/tombi#2323 **Full Changelog**: tombi-toml/tombi@v1.8.6...v1.8.7 </details> <details> <summary>uv: `0.13.0` → `0.13.1` (astral-sh/uv)</summary> ### 0.13.1 ## Release Notes Released on 2026-10-14. ### Enhancements - Ignore `Requires-Python` upper bounds in `uv pip check` and `uv pip install --strict`, consistent with resolution ([#22500](astral-sh/uv#22500)) - Support Linux SPARC by falling back when filesystem cloning and detailed cache accounting are unavailable ([#22463](astral-sh/uv#22463)) - Report missing trusted hashes in resolution errors ([#22241](astral-sh/uv#22241)) ### Python - Add CPython 3.16.0a1 ([#22527](astral-sh/uv#22527)) ### Preview features - Allow `uv tool upgrade` to upgrade installed tools when `tool-install-locks` is enabled ([#22498](astral-sh/uv#22498)) - Add preliminary support for parsing PEP 825 variant labels in wheel filenames with `wheel-variants` ([#22039](astral-sh/uv#22039)) ### Performance - Reduce uv's binary size ([#22429](astral-sh/uv#22429), [#22430](astral-sh/uv#22430), [#22432](astral-sh/uv#22432)) - Speed up Simple API parsing ([#22429](astral-sh/uv#22429)) - Reduce package metadata parsing overhead ([#22239](astral-sh/uv#22239)) ### Bug fixes - Prevent tool and managed Python uninstalls from deleting unrelated files beside their storage directories ([#22495](astral-sh/uv#22495)) - Restore support for source distributions containing hard links or full-length tar user or group names ([#22516](astral-sh/uv#22516), [#22522](astral-sh/uv#22522)) - Preserve device files and FIFOs used as `uv pip compile` or `uv export` output destinations ([#22496](astral-sh/uv#22496)) - Fix `sys._base_executable` detection for environments created from symlinked interpreters ([#22520](https://github.com/astral-sh/uv/pul… (truncated) </details> <details> <summary>zizmor: `1.30.1` → `1.31.1` (zizmorcore/zizmor)</summary> ### v1.31.0 [Sponsorship is appreciated!](https://github.com/sponsors/woodruffw/) ## Enhancements 🌱[🔗](https://docs.zizmor.sh/release-notes/#enhancements) - The [typosquat-uses](https://docs.zizmor.sh/audits/#typosquat-uses) audit now supports pre-commit config inputs ([#2437](zizmorcore/zizmor#2437)) - The [self-hosted-runner](https://docs.zizmor.sh/audits/#self-hosted-runner) audit is now significantly more precise ([#2350](zizmorcore/zizmor#2350)) Many thanks to [@ubiratansoares](https://github.com/ubiratansoares) for proposing and implementing this enhancement! - The [dangerous-triggers](https://docs.zizmor.sh/audits/#dangerous-triggers) audit now considers the issue_comment trigger fundamentally dangerous ([#2396](zizmorcore/zizmor#2396)) - zizmor is now aware of the image_version workflow trigger ([#2397](zizmorcore/zizmor#2397)) - The [dangerous-triggers](https://docs.zizmor.sh/audits/#dangerous-triggers) audit now produces more precise finding/diagnostic spans ([#2402](zizmorcore/zizmor#2402)) - The [cache-poisoning](https://docs.zizmor.sh/audits/#cache-poisoning) audit is now aware of [pnpm/setup](https://github.com/pnpm/setup) ([#2409](zizmorcore/zizmor#2409)) - The [unpinned-images](https://docs.zizmor.sh/audits/#unpinned-images) audit now produces more precise findings when the user's workflow contains an indirect matrix ([#2395](zizmorcore/zizmor#2395)) Many thanks to [@ubiratansoares](https://github.com/ubiratansoares) for proposing and implementing this enhancement! - The [cache-poisoning](https://docs.zizmor.sh/audits/#cache-poisoning) audit is now aware of GitHub's new cache-mode: setting, and will skip any findings that would occur when a job has an effective cache-mode: none ([#2418](https://github.com/zizmorcore/zizmor/iss… (truncated) ### v1.31.1 [Sponsorship is appreciated!](https://github.com/sponsors/woodruffw/) ## Bug Fixes 🐛[🔗](https://docs.zizmor.sh/release-notes/#bug-fixes) - Fixed a regression in [1.31.0](https://docs.zizmor.sh/release-notes/#1310) where some ignore comments/configurations would no longer apply to the [dangerous-triggers](https://docs.zizmor.sh/audits/#dangerous-triggers) audit ([#2450](zizmorcore/zizmor#2450)) </details> </details> Modified files: - `.mise.toml` Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
1 task
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.
Pre-submission checks
Please check these boxes:
Mandatory: This PR corresponds to an issue (if not, please create
one first).
Having read the AI policy, I hereby disclose the use of an LLM or other
AI coding assistant in the creation of this PR. PRs will not be rejected
for using AI tools, but will be rejected for undisclosed use or
use that violates the policy.
AI disclosure
I wrote the code 100% by hand, but I did use Claude Opus to asking questions about the codebase and performing paired code reviews when creating this PR. I incorporated some of the suggestion I got from it.
Summary
This PR relates the following issues
self-hosted#286and eventually superseeds #2140
It introduces a brand new internal modelling for Github Actions Runners, which improves the precison and capabilities of the
self-hosted-runneraudit. Amongst other things:self-hosted-runneraudit and precisely catch any runner labels the user wants to flag as self-hosted without a sentinel label (e.g. those deployed with new ARC)runs-onpoints to them, either directly or within a matrixMain differences compared with #2140
matrixexpansions when the matrix is statically defined #22 (as pointed here)superfluous-actionsfordtolnay/rust-toolchainon self-hosted runner #1865 but that should be a super easy follow-upLast, but not least, we also update JsonSchema for zizmor audit rules, reflecting the new option we have.
Test Plan
We introduce some new scenarios in integration tests, especially those related to expressions. We also have an integration test covering the audit config. The focus was avoid regressions with the existing tests.
In addition, there is a new test checking that third-party runners won't be flagged as self hosted.
Eventually there is room to add unit tests for
workflow/runners.rsmodule.