镜像站点 · 本页由第三方 GitHub 只读镜像提供,非 GitHub 官方站点,不接受任何登录或凭据输入。前往 github.com
Skip to content

registry: replace unsupported exe options - #9587

Merged
jdx merged 5 commits into
jdx:mainfrom
risu729:registry-replace-exe-options
May 11, 2026
Merged

jdx merged 5 commits into
jdx:mainfrom
risu729:registry-replace-exe-options

Conversation

@risu729

@risu729 risu729 commented May 4, 2026 •

Copy link
Copy Markdown
Contributor

Summary

  • remove unsupported exe options from GitHub/GitLab registry backend options
  • use bin = "solc" for Solidity because the selected Linux release asset is named solc-static-linux, but users expect the command to be installed as solc
  • set Sourcery format = "tar.gz" because the Linux release asset is gzip-compressed even though the uploaded filename ends in .tar.xz
  • keep the newly discovered registry command checks as commented # test = ... lines instead of active tests
  • rebase onto current main; tools removed upstream by registry: remove tools with zero users #9725 are no longer part of this PR

Popularity

No new registry tools are added in this PR. This only updates existing registry entries, so new-tool popularity data is not applicable.

flarectl is no longer part of this PR. #9756 has been merged to remove it from the registry because the current cloudflare/cloudflare-go releases no longer publish static binaries and mise versions shows very low usage.

CI status

As of 2026-05-10, the rebased PR head is 7117c21f1be582f0f4ed1e836498b7a7561a7020.

A previous CI run passed at the old head 891419410da51649a24c16f2d6015eef7f2aeef6. The branch has since been rebased onto current main, the CI-token commits were dropped because they are already upstream, and the registry tests added by this PR were commented out.

Changed tools

Tool Opts/config added Test status Linux install works Notes
astro none existing astro version test kept yes, existing test covers install removed unsupported exe = "astro" only
babashka none existing bb --version test kept yes, existing test covers install removed unsupported exe = "bb" only
codefresh none no active test latest no; prior 0.89.6 yes 1.1.4 installs but codefresh version fails with Cannot find module '/snapshot/cli/node_modules/generator-function/require.mjs'; 0.89.6 runs codefresh version and prints client version: 0.89.6
coursier none commented cs --help kept yes, local mise x coursier@latest -- cs --help passed removed unsupported exe = "cs"
databricks-cli none existing databricks --version test kept yes, existing test covers install removed unsupported exe = "databricks" only
depot none existing depot --version test kept yes, existing test covers install removed unsupported exe = "depot" only
doppler none existing doppler --version test kept yes, existing test covers install removed unsupported exe = "doppler" only
dynatrace-monaco none commented monaco version kept yes, local mise x dynatrace-monaco@latest -- monaco version passed removed unsupported exe = "monaco"
flatc none existing flatc --version test kept yes, existing test covers install removed unsupported exe = "flatc" only
fluttergen none existing fluttergen --version test kept yes, existing test covers install removed unsupported exe = "fluttergen" only
gam none commented gam version kept yes, local mise x gam@latest -- gam version passed removed unsupported exe = "gam"
glab none existing glab version test kept yes, existing test covers install removed unsupported exe = "glab" from both platform backends
graphite none existing gt --version test kept yes, existing test covers install removed unsupported exe = "gt" only
jwtui none commented jwtui --version kept yes, local mise x jwtui@latest -- jwtui --version passed removed unsupported exe = "jwtui"
kube-controller-tools none commented controller-gen --version kept yes, local mise x kube-controller-tools@latest -- controller-gen --version passed removed unsupported exe = "controller-gen"
localstack none existing localstack --version test kept yes, existing test covers install removed unsupported exe = "localstack" only
micronaut none commented mn --version kept yes, local mise x micronaut@latest -- mn --version passed removed unsupported exe = "mn"
odin none commented odin version kept yes, local mise x odin@latest -- odin version passed removed unsupported exe = "odin"
openbao none commented bao version kept yes, local mise x openbao@latest -- bao version passed removed unsupported exe = "bao"
protoc-gen-js none commented protoc-gen-js --version kept yes, local mise x protoc-gen-js@latest -- protoc-gen-js --version passed removed unsupported exe = "protoc-gen-js"
purescript none commented purs --version kept yes, local mise x purescript@latest -- purs --version passed removed unsupported exe = "purs"
railway none existing railway --version test kept yes, existing test covers install removed unsupported exe = "railway" only
schemacrawler depends = ["java"] commented schemacrawler.sh --version kept yes with Java explicit mise x schemacrawler@latest -- schemacrawler.sh --version did not put java on PATH locally; mise x java@26 schemacrawler@latest -- schemacrawler.sh --version passed
signadot none existing signadot --version test kept yes, existing test covers install removed unsupported exe = "signadot" only
soft-serve none commented soft --version kept yes, local mise x soft-serve@latest -- soft --version passed removed unsupported exe = "soft"
solidity bin = "solc" commented solc --version kept yes, local mise x solidity@latest -- solc --version passed default selected Linux asset name is solc-static-linux; bin = "solc" installs the expected solc command
sourcery format = "tar.gz" commented which sourcery kept yes, local mise x sourcery@latest -- which sourcery passed Linux asset filename says .tar.xz, but upstream workflow writes it with gzip compression
starknet-foundry-sncast none commented sncast --version kept yes, local mise x starknet-foundry-sncast@latest -- sncast --version passed removed unsupported exe = "sncast"
starknet-foundry none commented snforge --version kept yes, local mise x starknet-foundry@latest -- snforge --version passed removed unsupported exe = "snforge"
swiftgen none no active test left as-is non-Linux tool in practice; current GitHub release contains a Mach-O universal swiftgen binary, so Linux execution is not expected to work
tfswitch none commented tfswitch --version kept yes, local mise x tfswitch@latest -- tfswitch --version passed removed unsupported exe = "tfswitch"
transifex none commented tx --version kept yes, local mise x transifex@latest -- tx --version passed removed unsupported exe = "tx"
tsuru none commented tsuru version --help kept yes, local mise x tsuru@latest -- tsuru version --help passed removed unsupported exe = "tsuru"
weave-gitops none no active test latest no; prior 0.38.0 and 0.37.0 yes latest 0.39.1-rc.1 has no release assets, but older Linux assets still work and gitops version reports the expected versions

Rebased-away tools

  • carp, dtm, and kpack were removed upstream by registry: remove tools with zero users #9725, so this branch no longer touches them.
  • I still checked carp with explicit backend syntax: github:carp-lang/Carp@0.6.0 fails because the latest release has no assets, while github:carp-lang/Carp@0.5.5 -- carp --help installs and runs.
  • dtm is left alone because it is non-Linux-only in practice and has already been removed upstream.
  • flarectl was removed from this PR; registry: remove flarectl #9756 has been merged.

Codefresh history

codefresh started as an asdf-only registry entry in the initial cross-backend registry work. It was later migrated away from asdf by adding ubi:codefresh-io/cli[exe=codefresh] in #3202, then migrated from ubi: to github: in #6232. Current 1.x Linux binaries are broken at runtime, but older 0.89.6 still works through the GitHub backend, so I did not remove it here.

Sourcery release format

The current Sourcery Ubuntu release workflow sets FILENAME="sourcery-${TAG}-${SUFFIX}.tar.xz" and then creates it with tar -zcvf, which produces gzip-compressed tar content despite the .tar.xz filename: https://github.com/krzysztofzablocki/Sourcery/blob/master/.github/workflows/release_ubuntu.yml#L43-L47

I did not find a Sourcery issue or PR that explicitly calls out the gzip-vs-.tar.xz mismatch when searching their issues/PRs for tar.xz, gzip, and tar.gz. The closest relevant release context is:

Solidity binary name

The current Solidity release publishes the Linux CLI asset as solc-static-linux: https://github.com/argotorg/solidity/releases/tag/v0.8.35

Without bin = "solc", the GitHub backend exposes the downloaded asset name as the command name. The bin option renames/symlinks the installed binary to the expected CLI command, solc, which matches Solidity docs and existing user expectations.

Testing

  • mise run build
  • cargo test --all-features cli::args::backend_arg::tests::test_opts
  • target/debug/mise registry | rg '^(flarectl|carp|dtm|kpack)\b' || true
  • local target/debug/mise x ... checks for all commented test commands listed in the table
  • version-specific checks for codefresh@1.1.4, codefresh@0.89.6, weave-gitops@0.39.1-rc.1, weave-gitops@0.38.0, weave-gitops@0.37.0, github:carp-lang/Carp@0.6.0, and github:carp-lang/Carp@0.5.5

@gemini-code-assist

Copy link
Copy Markdown
Contributor

Warning

You have reached your daily quota limit. Please wait up to 24 hours and I will start processing your requests again!

@greptile-apps

greptile-apps Bot commented May 4, 2026 •

Copy link
Copy Markdown
Contributor

Greptile Summary

This PR cleans up 35 registry TOML files by removing exe options that are not recognized by the GitHub/GitLab backends (they were silently ignored), and makes two meaningful functional fixes: bin = "solc" for Solidity so the downloaded solc-static-linux asset is exposed as the expected solc command, and format = "tar.gz" for Sourcery so the gzip-compressed release asset is correctly unpacked despite its misleading .tar.xz filename extension.

  • Unsupported exe removal (30+ files): exe is not a valid option for the GitHub/GitLab backends, so all removed entries were dead configuration that had no effect on install behavior.
  • Solidity bin = "solc": Replaces the no-op exe = "solc" with the supported bin option, which actually renames the installed binary — a real fix for usability.
  • Sourcery format = "tar.gz": Corrects archive decompression to match the actual gzip content produced by upstream's release workflow regardless of the .tar.xz filename.
  • SchemaCrawler depends = ["java"]: Adds a top-level Java dependency so mise ensures Java is on PATH before SchemaCrawler is invoked.
  • Test fixture update (backend_arg.rs): Migrates three unit tests from graphite (no longer has a registry option) to solidity as the canonical example of a tool with a bin registry option.

Confidence Score: 5/5

Safe to merge — all removals are of options that were silently ignored, and the two active changes (bin and format) are well-motivated and locally verified.

Every exe removal is a no-op behaviorally since the GitHub/GitLab backends never read that key. The two real changes (bin = "solc" and format = "tar.gz") are narrow, targeted fixes backed by upstream release-workflow evidence and local install verification. The test updates in backend_arg.rs correctly track the registry change. No regressions are expected.

No files require special attention.

Important Files Changed

Filename Overview
registry/solidity.toml Replaces unsupported exe = "solc" with the supported bin = "solc" option so the GitHub backend actually renames/symlinks the downloaded solc-static-linux asset to solc.
registry/sourcery.toml Replaces unsupported exe = "bin/sourcery" with format = "tar.gz", instructing the backend to decompress the asset as gzip despite its .tar.xz extension, which matches the upstream release workflow.
registry/schemacrawler.toml Adds top-level depends = ["java"] so mise places Java on PATH before SchemaCrawler runs; removes unsupported exe = "schemacrawler.sh"; normalizes commented test format.
src/cli/args/backend_arg.rs Updates three tests that previously used graphite[exe=gt] as the reference registry entry to use solidity[bin=solc] now that graphite no longer carries an exe option; logic is unchanged.
registry/swiftgen.toml Removes unsupported exe = "swiftgen/bin/swiftgen"; since exe was never honoured by the GitHub backend, this is a no-op for users. Tool is macOS-only in practice.
registry/glab.toml Removes duplicate unsupported exe = "glab" from both the linux/macos and windows GitLab backends; active glab version test is preserved.

Reviews (9): Last reviewed commit: "Merge branch 'main' into registry-replac..." | Re-trigger Greptile

Comment thread registry/schemacrawler.toml Outdated
Comment thread registry/odin.toml Outdated

This comment was marked as outdated.

@risu729
risu729 marked this pull request as ready for review May 6, 2026 12:42
@risu729
risu729 marked this pull request as draft May 6, 2026 12:42
@risu729
risu729 force-pushed the registry-replace-exe-options branch from 8914194 to c8792cc Compare May 9, 2026 20:08
@risu729
risu729 force-pushed the registry-replace-exe-options branch from c8792cc to 7117c21 Compare May 9, 2026 20:10
@risu729
risu729 marked this pull request as ready for review May 9, 2026 20:18
@jdx
jdx enabled auto-merge (squash) May 11, 2026 15:44
@jdx
jdx merged commit 49b27e0 into jdx:main May 11, 2026
34 checks passed
@risu729
risu729 deleted the registry-replace-exe-options branch May 11, 2026 16:24
mise-en-dev added a commit that referenced this pull request May 13, 2026
### 🐛 Bug Fixes

- **(backend)** use runtime paths for backend bin dirs by @risu729 in
[#9606](#9606)
- **(ci)** preserve vendor/aqua-registry/ in PPA publish workflow by
@jdx in [#9782](#9782)
- **(ci)** set UTF-8 locale in e2e Docker image by @jdx in
[#9820](#9820)
- **(ci)** pass UTF-8 locale through to e2e tests by @jdx in
[#9823](#9823)
- **(conda)** dedup repodata by archive identifier instead of URL by
@jdx in [#9831](#9831)
- **(github)** use default shell for credential command by @risu729 in
[#9664](#9664)
- **(settings)** distinguish unset known settings from unknown ones by
@jdx in [#9818](#9818)
- **(upgrade)** remove completed progress jobs to prevent duplicate
output by @jdx in [#9779](#9779)
- **(vfox)** resolve GitHub token lazily inside Lua plugins by @jdx in
[#9816](#9816)

### 🚜 Refactor

- **(config)** separate core and backend tool options by @risu729 in
[#9753](#9753)
- **(schema)** reuse env directive property schemas by @risu729 in
[#9651](#9651)

### 📚 Documentation

- **(aliases)** fix Aliased Versions example and drop stale asdf callout
by @jdx in [#9830](#9830)

### ⚡ Performance

- **(aqua)** use phf for baked registry lookups by @risu729 in
[#9763](#9763)
- **(task)** cache per-file content hashes for
source_freshness_hash_contents by @jdx in
[#9819](#9819)

### 🧪 Testing

- **(e2e)** pin aube to known-good version in npm package_manager test
by @jdx in [#9794](#9794)

### 📦 Registry

- replace unsupported exe options by @risu729 in
[#9587](#9587)
- update pi by @garysassano in
[#9792](#9792)

### Chore

- **(ci)** use non-large runners for release builds by @jdx in
[#9786](#9786)
- **(ci)** compare registry PRs from fork point by @risu729 in
[#9643](#9643)
- **(ci)** make build-copr.sh the single source of truth for COPR
chroots by @jdx in [#9788](#9788)
- **(ci)** use crates.io trusted publishing in release-plz by @jdx in
[#9793](#9793)
- **(ci)** remove autofix.ci workflow by @jdx in
[#9801](#9801)
- **(ci)** restore -large runner for Linux release builds by @jdx in
[#9815](#9815)
- **(ci)** add zizmor workflow for github actions security analysis by
@jdx in [#9804](#9804)
- **(ci)** assert mise run render produces no diff by @jdx in
[#9803](#9803)
- **(copr)** publish EL9 builds via centos-stream+epel-next-9 chroot by
@jdx in [#9787](#9787)

### Ci

- remove pull_request_target workflow by @jdx in
[#9799](#9799)
- remove caching from publishing workflows by @jdx in
[#9800](#9800)

### Security

- reject shell metacharacters in version strings and CI inputs by @jdx
in [#9814](#9814)

## 📦 Aqua Registry Updates

### New Packages (11)

- [`Code-Hex/Neo-cowsay`](https://github.com/Code-Hex/Neo-cowsay)
-
[`SonarSource/sonarqube-cli`](https://github.com/SonarSource/sonarqube-cli)
- [`earendil-works/pi`](https://github.com/earendil-works/pi)
- [`hylo-lang/hylo-new`](https://github.com/hylo-lang/hylo-new)
- [`jfernandez/bpftop`](https://github.com/jfernandez/bpftop)
- [`modem-dev/hunk`](https://github.com/modem-dev/hunk)
- [`npm/cli`](https://github.com/npm/cli)
- [`racket/racket/minimal`](https://github.com/racket/racket)
- [`slackapi/slack-cli`](https://github.com/slackapi/slack-cli)
- [`vectordotdev/vector`](https://github.com/vectordotdev/vector)
- [`wasilibs/go-yamllint`](https://github.com/wasilibs/go-yamllint)

### Updated Packages (10)

- [`DataDog/pup`](https://github.com/DataDog/pup)
- [`aquasecurity/trivy`](https://github.com/aquasecurity/trivy)
- [`astral-sh/uv`](https://github.com/astral-sh/uv)
- [`caarlos0/svu`](https://github.com/caarlos0/svu)
-
[`cargo-bins/cargo-binstall`](https://github.com/cargo-bins/cargo-binstall)
- [`foundry-rs/foundry`](https://github.com/foundry-rs/foundry)
- [`gastownhall/beads`](https://github.com/gastownhall/beads)
-
[`gruntwork-io/terragrunt`](https://github.com/gruntwork-io/terragrunt)
- [`pnpm/pnpm`](https://github.com/pnpm/pnpm)
- [`santosr2/TerraTidy`](https://github.com/santosr2/TerraTidy)
3PeatVR pushed a commit to 3PeatVR/mise that referenced this pull request May 14, 2026
### 🐛 Bug Fixes

- **(backend)** use runtime paths for backend bin dirs by @risu729 in
[jdx#9606](jdx#9606)
- **(ci)** preserve vendor/aqua-registry/ in PPA publish workflow by
@jdx in [jdx#9782](jdx#9782)
- **(ci)** set UTF-8 locale in e2e Docker image by @jdx in
[jdx#9820](jdx#9820)
- **(ci)** pass UTF-8 locale through to e2e tests by @jdx in
[jdx#9823](jdx#9823)
- **(conda)** dedup repodata by archive identifier instead of URL by
@jdx in [jdx#9831](jdx#9831)
- **(github)** use default shell for credential command by @risu729 in
[jdx#9664](jdx#9664)
- **(settings)** distinguish unset known settings from unknown ones by
@jdx in [jdx#9818](jdx#9818)
- **(upgrade)** remove completed progress jobs to prevent duplicate
output by @jdx in [jdx#9779](jdx#9779)
- **(vfox)** resolve GitHub token lazily inside Lua plugins by @jdx in
[jdx#9816](jdx#9816)

### 🚜 Refactor

- **(config)** separate core and backend tool options by @risu729 in
[jdx#9753](jdx#9753)
- **(schema)** reuse env directive property schemas by @risu729 in
[jdx#9651](jdx#9651)

### 📚 Documentation

- **(aliases)** fix Aliased Versions example and drop stale asdf callout
by @jdx in [jdx#9830](jdx#9830)

### ⚡ Performance

- **(aqua)** use phf for baked registry lookups by @risu729 in
[jdx#9763](jdx#9763)
- **(task)** cache per-file content hashes for
source_freshness_hash_contents by @jdx in
[jdx#9819](jdx#9819)

### 🧪 Testing

- **(e2e)** pin aube to known-good version in npm package_manager test
by @jdx in [jdx#9794](jdx#9794)

### 📦 Registry

- replace unsupported exe options by @risu729 in
[jdx#9587](jdx#9587)
- update pi by @garysassano in
[jdx#9792](jdx#9792)

### Chore

- **(ci)** use non-large runners for release builds by @jdx in
[jdx#9786](jdx#9786)
- **(ci)** compare registry PRs from fork point by @risu729 in
[jdx#9643](jdx#9643)
- **(ci)** make build-copr.sh the single source of truth for COPR
chroots by @jdx in [jdx#9788](jdx#9788)
- **(ci)** use crates.io trusted publishing in release-plz by @jdx in
[jdx#9793](jdx#9793)
- **(ci)** remove autofix.ci workflow by @jdx in
[jdx#9801](jdx#9801)
- **(ci)** restore -large runner for Linux release builds by @jdx in
[jdx#9815](jdx#9815)
- **(ci)** add zizmor workflow for github actions security analysis by
@jdx in [jdx#9804](jdx#9804)
- **(ci)** assert mise run render produces no diff by @jdx in
[jdx#9803](jdx#9803)
- **(copr)** publish EL9 builds via centos-stream+epel-next-9 chroot by
@jdx in [jdx#9787](jdx#9787)

### Ci

- remove pull_request_target workflow by @jdx in
[jdx#9799](jdx#9799)
- remove caching from publishing workflows by @jdx in
[jdx#9800](jdx#9800)

### Security

- reject shell metacharacters in version strings and CI inputs by @jdx
in [jdx#9814](jdx#9814)

## 📦 Aqua Registry Updates

### New Packages (11)

- [`Code-Hex/Neo-cowsay`](https://github.com/Code-Hex/Neo-cowsay)
-
[`SonarSource/sonarqube-cli`](https://github.com/SonarSource/sonarqube-cli)
- [`earendil-works/pi`](https://github.com/earendil-works/pi)
- [`hylo-lang/hylo-new`](https://github.com/hylo-lang/hylo-new)
- [`jfernandez/bpftop`](https://github.com/jfernandez/bpftop)
- [`modem-dev/hunk`](https://github.com/modem-dev/hunk)
- [`npm/cli`](https://github.com/npm/cli)
- [`racket/racket/minimal`](https://github.com/racket/racket)
- [`slackapi/slack-cli`](https://github.com/slackapi/slack-cli)
- [`vectordotdev/vector`](https://github.com/vectordotdev/vector)
- [`wasilibs/go-yamllint`](https://github.com/wasilibs/go-yamllint)

### Updated Packages (10)

- [`DataDog/pup`](https://github.com/DataDog/pup)
- [`aquasecurity/trivy`](https://github.com/aquasecurity/trivy)
- [`astral-sh/uv`](https://github.com/astral-sh/uv)
- [`caarlos0/svu`](https://github.com/caarlos0/svu)
-
[`cargo-bins/cargo-binstall`](https://github.com/cargo-bins/cargo-binstall)
- [`foundry-rs/foundry`](https://github.com/foundry-rs/foundry)
- [`gastownhall/beads`](https://github.com/gastownhall/beads)
-
[`gruntwork-io/terragrunt`](https://github.com/gruntwork-io/terragrunt)
- [`pnpm/pnpm`](https://github.com/pnpm/pnpm)
- [`santosr2/TerraTidy`](https://github.com/santosr2/TerraTidy)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants