chore(deps): update ci workflows - #680
Merged
Merged
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #680 +/- ##
==========================================
Coverage 100.00% 100.00%
==========================================
Files 109 109
Lines 17825 17825
Branches 935 1542 +607
==========================================
Hits 17825 17825
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
wschurman
approved these changes
Aug 17, 2026
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.
This PR contains the following updates:
v2026.8.3→v2026.8.6v4.2.4→v4.2.5Release Notes
jdx/mise (jdx/mise)
v2026.8.6: : Resumable downloads, richer Homebrew casks, and monorepo task fixesCompare Source
This release adds resumable HTTP downloads, expands Homebrew cask support, and lands a large batch of fixes across tasks, config, install, and platform-specific behavior — with a particular focus on monorepos and Windows.
Highlights
REFUSED_STREAM) are retried automatically.Added
http: interrupted downloads now resume via HTTP Range requests when a strong ETag or Last-Modified validator is available, keeping validated partial files across retries and mise invocations instead of re-downloading from byte zero. mise falls back to a clean restart when validators do not match, and abandoned partials expire after 30 days. (#11866 by @Marukome0743)
brew: the Homebrew cask backend now supports structured
symlinksteps (with path bases, templates, guards, source globs, and sudo control), generic cask artifacts, andcopy/installer flight steps, with transactional rollback if an install fails. (#11962, #11963, #11964 by @jdx)task:
mise run --allopens the interactive task picker with tasks from the entire monorepo, matching the load path already used bymise tasks ls --all. The default picker stays scoped to the current directory hierarchy. (#11920 by @jdx)mise run --alltask: add
task.cache.audit_report(MISE_TASK_CACHE_AUDIT_REPORT) to write the complete cache-audit report to a JSON Lines file. The console still caps at 20 paths per task, but the file now captures every undeclared read and write so large audits (e.g. Jest overnode_modules) are actually usable. (#11997 by @stevenpollack)MISE_TASK_CACHE_AUDIT_REPORT=audit.jsonl mise run --force builddotfiles: whole-file
[dotfiles]entries can now declare their body inline withcontent = "..."instead of requiring a separate source file, useful for small configs and user-writable paths outside$HOME.contentcannot be combined withsource,mode, orexclude. (#11983 by @jdx)deps: deps provider config fields (paths, commands,
env, descriptions, timeouts) now render Tera templates using the defining config file's context, with shell-style environment expansion and rendered env values folded into freshness identity. Template errors surface as clear configuration errors before commands run. (#11886 by @Marukome0743)config: add a config-root-scoped
[tool_config] locked = truepolicy that requires tools declared by configs sharing that root to resolve and install from their lockfiles, without forcing global or parent-root tools into strict mode.[settings] locked,--locked, andMISE_LOCKEDremain invocation-wide. (#11940 by @jdx)Fixed
:-prefixed name now works from any directory below a config root, resolving to the nearest enclosing project instead of failing. (#11941 by @pikeas)REFUSED_STREAM, which CDNs emit as backpressure and which previously failed on the first attempt even with retries enabled. (#11961 by @mariadeluna-tomtom)mise ls-remoteandlatestresolution. (#11959 by @jdx)nightlychannel now resolves to a concretenightly-YYYY-MM-DDtoolchain via the official channel manifest, making nightly lock, outdated, upgrade, and offline reuse reproducible while keepingmise.tomlonnightly. (#11980 by @Marukome0743)name:tag@digestreferences so pulling a base image by combined tag-and-digest no longer produces a malformed token scope, while preserving registry ports. (#11979 by @fire-ant)runcommand is no longer skipped as fresh (#11849); honor source and output overrides (#11896) by @Marukome0743.resolv.confinside the sandbox. (#11958 by @jdx)j/kto filter in themise edittool picker (#11969 by @jakedgy); create the config directory before writing into it (#11934) and stop aconf.ddrop-in from becoming the write target (#11917) by @JamBalaya56562.Windows fixes
mise activateandmise completionnow both acceptpwshandpowershell, and shell detection recognizes.exesuffixes. (#11928 by @JamBalaya56562)argv[0]as a shim name. (#11982 by @JamBalaya56562)cmd.exemetacharacters in a Windows tool path (#11947) by @JamBalaya56562.chmod +x. (#11923 by @JamBalaya56562)Changed
-bis now the shorthand for--bump. The old-lbump shorthand is hidden and deprecated (removal planned for 2027.8.5) so-lcan later mean--local. When tools are current within configured ranges but a bump is available outside them, both commands now say so instead of reporting everything up to date. (#11945 by @jdx)mise use --globalalongside a path is now rejected instead of silently ignored. (#11935 by @JamBalaya56562)Deprecated
all_compile = truedefault on NixOS is deprecated and scheduled for removal in 2027.8.0. It currently forces source builds for Node, Python, Erlang, and Ruby even when precompiled binaries work throughnix-ld; mise now warns and points to enablingnix-ldor settingall_compile = trueexplicitly. Alpine's source-build default is unchanged. (#11956 by @jdx)Registry
native-sdk(github:vercel-labs/native) by @phall1 in #11942restatebinaries (github:restatedev/restate) by @Bing-su in #11953mailpit(aqua:axllent/mailpit) by @joealden in #11960New Contributors
Full Changelog: jdx/mise@v2026.8.5...v2026.8.6
💚 Sponsor mise
mise is maintained by @jdx, an open source developer for entire.io, the title sponsor of the jdx.dev open source tools. Development is funded by sponsors.
If mise saves you or your team time, please consider sponsoring at jdx.dev. Individual and company sponsorships keep mise fast, free, and independent.
v2026.8.5: : PyPy on the precompiled path, Node source patches, and a broad batch of fixesCompare Source
This release lets mise install PyPy on the precompiled path (including on Windows), adds Node source-build patching, and lands a wide set of fixes across config precedence, install hooks, version pinning, and the Rust, conda, and vfox backends.
Added
python: PyPy can now be installed on the precompiled path — when
python.compile=false, and unconditionally on Windows, where PyPy versions previously never appeared inmise ls-remote pythonand could not be installed at all. mise reads the upstreamdownloads.python.org/pypyindex, downloads and extracts the correct archive, runsensurepip, and records a blake3 checksum in the lockfile on first install (PyPy publishes no machine-readable checksums). (#11846 by @JamBalaya56562)mise install python@pypy3.10-7.3.17node: add
node.apply_patches(MISE_NODE_APPLY_PATCHES) to apply local or remote patches to the Node source build before./configureruns, mirroringruby.apply_patches. It accepts a newline-separated list of patch files or URLs. Strip level is auto-detected from git- or diff-style markers, and patches are recorded in the lockfile since they change the built artifact. If patches are set but a precompiled Node was installed, mise now warns instead of silently dropping them. (#11850 by @JamBalaya56562)Fixed
~/.config/misenow matches the documentation —config.local.tomloverridesconfig.toml, which overridesconf.d/*.toml. Previously the order was reversed for[settings],[tools], and[env]when~/.config/misewas outside the cwd walk. (#11906 by @halms)mise usenow updates a single tool version in place within a standard[tools.<name>]table, preserving comments, key ordering, whitespace, and nested option tables instead of collapsing the table to inline form. (#11848 by @Marukome0743)preinstallandpostinstallhooks now run from the owning project root, so relative paths resolve consistently even whenmise installis started from a subdirectory. The invocation directory remains available throughMISE_ORIGINAL_CWD. (#11857 by @jdx)mise use --pinnow prefers an exact available release when pinning, instead of reusing a more-specific installed fuzzy match. For examplemise use --pin erlang@27.3will pin27.3if that exact release exists remotely, rather than depending on which versions happen to be installed. (#11838 by @Marukome0743)[task_templates.*]definition or a monorepo task default now correctly invalidates affected tasks, so stale outputs are no longer marked up to date after a template change. (#11858 by @jdx)jdtlsthat expand${CONDA_PREFIX}and rely on activation scripts. Dependency executables stay isolated from the user's shellPATH. (#11855 by @Marukome0743)disable_tools = ["python"](and allowlist forms likeenable_tools = ["node"]) now also suppress the_.python.venvdirective, so a disabled Python no longer leaves its virtualenv activated onPATH. (#11885 by @JamBalaya56562)MISE_TOOL_OPTS__*(with legacyRTX_TOOL_OPTS__*aliases), so hooks readingos.getenv("MISE_TOOL_OPTS__...")see the resolved options during install, uninstall, exec-env, and lock paths. (#11884 by @Marukome0743)github_releasepackage-type overrides from version and platform overrides are now applied, fixing installs such as recent Claude Code releases that failed with "relative URL without a base". (#11901 by @Marukome0743)Changed
Documentation
_.sourcePATH handling. (#11889 by @jdx)Registry
Breaking Changes
disable_tools = ["python"]while still keeping a_.python.venvactivated, that virtualenv will no longer be activated. The existing venv remains on disk and is restored automatically when Python is re-enabled. (#11885)Full Changelog: jdx/mise@v2026.8.4...v2026.8.5
💚 Sponsor mise
mise is maintained by @jdx, an open source developer for entire.io, the title sponsor of the jdx.dev open source tools. Development is funded by sponsors.
If mise saves you or your team time, please consider sponsoring at jdx.dev. Individual and company sponsorships keep mise fast, free, and independent.
v2026.8.4: : Cross-backend ls, semver ordering, and bootstrap cask pruningCompare Source
This release adds explicit semantic version ordering for major backends, teaches
mise lsandmise install --forceto work across backends, extends bootstrap package management with platform filters and cask pruning, and lands a broad batch of task, config, and platform-specific fixes.Added
backend: tools can now declare an explicit
version_order(sourceorsemver) so thatlatestand version-prefix resolution follow semantic precedence instead of source/chronological order. This is enabled for Aqua, GitHub, GitLab, Forgejo, and HTTP backends, and fixes cases where a backport or older release line was picked ahead of a newer version (for example neo4j, victoria-metrics, go-getter, talosctl, rpk, and tealdeer).mise ls-remotecontinues to show upstream source order. (#11774 by @jdx)ls:
mise ls <name>now matches a tool installed from multiple backends. Previously, installing a tool from both its registry backend and, say, acargo:orubi:build would show only one of them undermise ls <name>even though both were on PATH. Spelling out a backend (e.g.mise ls ubi:jqlang/jq) still narrows to that single backend. (#11822 by @JamBalaya56562)install:
mise install --forcenow works without tool arguments, reinstalling every configured, OS-supported tool (or the monorepo union with--monorepo). (#11802 by @Marukome0743)upgrade: add an
upgrade.auto_prunesetting (defaulttrue) that controls whethermise upgraderemoves the version it replaced, plus a--pruneflag to force removal on for a single run when the setting is off. Useful when a mise-managed interpreter backs a virtualenv you do not want deleted on unattended upgrades. (#11788 by @JamBalaya56562)bootstrap:
mise bootstrap packages prune --manager brew-caskcan now conservatively remove mise-owned Homebrew casks that are no longer declared in[bootstrap.packages]. Removal is gated by install-time receipt metadata, fingerprint checks, and ownership validation, and Homebrew-owned, pkg, lifecycle, drifted, or shared casks are skipped with an explicit reason. (#11810 by @jdx)bootstrap:
[bootstrap.packages]entries can now use table form with aversionand[tools]-styleosselectors, so a single config can target macOS-only casks and Linux fonts. Platform-incompatible packages surface as unavailable in status output instead of aborting the run, while explicit requests for unsupported packages still error. (#11809 by @jdx)brew: the
brew-caskmanager now supports installing font casks directly from git URLs, including selecting a branch and staging files from a subdirectory. (#11781 by @roele)aqua: relative
aqua.registriesentries in a config file are now resolved against that config's root, so aregistry.yamlcommitted inside a project repository can be referenced without a machine-specific absolute path. (#11804 by @JamBalaya56562)spm:
spm:installs can now be pinned to a commit viarev:<commit>(and compatibleref:<commit>), building from source. (#11815 by @Marukome0743)generate: generated git hooks can now carry extra mise flags. Anything after
--is inserted betweenmiseandrun, so a hook can target config in a subdirectory or set other global flags. (#11820 by @JamBalaya56562)Fixed
mise watchwith no task name now runs thedefaulttask, matchingmise run, instead of failing with "No tasks specified". (#11836 by @Marukome0743)--silentand--log-levelare now forwarded into the generated activation hook, so per-directoryhook-envoutput can actually be silenced. (#11831 by @JamBalaya56562)sopsCLI (sops.rops = false) are no longer skipped when no age key is present, so KMS, Vault, PGP, and other key services work in non-strict mode. (#11834 by @Marukome0743).mise-bins, fixing tools such asconda:postgresqlandconda:zstdthat previously failed to start with a missing-DLL error. (#11825 by @JamBalaya56562)-2,-3, …) instead of always using the superseded-1build. (#11807 by @JamBalaya56562)//. (#11782 by @williamsjokvist)!=operator are accepted. (#11828, #11832 by @JamBalaya56562)--filealias where-fmeans--force, andignored_config_pathsnow matches on Windows. (#11789, #11818 by @JamBalaya56562)go.set_gopathdeprecation message is corrected. (#11791, #11799 by @JamBalaya56562, #11835 by @jdx)go listdiagnostics are kept out of default output. (#11816 by @JamBalaya56562)patargument is honored on v1trim_start/trim_end. (#11811 by @JamBalaya56562)sub-N:version prefixes is resolved before subtracting. (#11796 by @JamBalaya56562)-stablesuffix. (#11808 by @JamBalaya56562)Documentation
task_config.shellin thetask.shelldefaults (#11775 by @pynappo).Registry
New Contributors
Full Changelog: jdx/mise@v2026.8.3...v2026.8.4
💚 Sponsor mise
mise is maintained by @jdx, an open source developer for entire.io, the title sponsor of the jdx.dev open source tools. Development is funded by sponsors.
If mise saves you or your team time, please consider sponsoring at jdx.dev. Individual and company sponsorships keep mise fast, free, and independent.
jdx/mise-action (jdx/mise-action)
v4.2.5: : Resilient mise downloads with automatic retriesCompare Source
A small patch release that makes setup more resilient to transient network failures when downloading mise.
Fixed
Retry mise downloads after transient failures (#597 by @jdx)
The download helpers previously made a single
curlorwgetattempt, so a transient GitHub release-asset HTTP or TLS failure would abort setup before mise or any user command could run (see #596).Downloads now run through a retry wrapper that makes up to five attempts with a 2s pause between failures, logging a warning on each retry. This applies consistently to binary, checksum, signature, and version fetches. Checksum and minisign verification still run only after a successful download — never inside the retry loop — so integrity guarantees are unchanged.
Full Changelog: jdx/mise-action@v4.2.4...v4.2.5
Configuration
📅 Schedule: (UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
This PR was generated by Mend Renovate. View the repository job log.