Close out #322 residue: renderInstallCommand pin handling + planemo 0.75.45#359
Merged
Merged
Conversation
renderInstallCommand always emitted <pkg>==<package_version>, turning a git+https:// or >=x pin into invalid install syntax. Split out renderPackageSpec, which classifies the pin first: bare version gets ==, a PEP 440 operator is concatenated as-is, a VCS/URL becomes a PEP 508 direct reference. Shell-quote specs that need it so a range pin isn't read as a redirect. build-cli had no test harness; add vitest to match planemo-cli-meta. Refs #322. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Bump content/cli/planemo/index.md and content/schemas/planemo-test-report.md, regenerate vendored artifacts and the six CLI manual pages, recast the three planemo-pinned Molds, reassemble the pipeline harnesses. 0.75.45 reworks `planemo test --failed` (adds --lf alias, reads the new --failed_json) and adds --shed_tool_data_table_config, --shed_data_manager_config, --shed_data_dir. The test-report JSON schema is unchanged from 0.75.44. Also corrects the pin note: #1636 first shipped in 0.75.42, not 0.75.44, so cli_metadata/output_schema were in base planemo before the pin that claimed to be waiting on them. Refs #322. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This was referenced Jul 20, 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.
Closes the remaining residue from #322. Investigating it turned up that the issue's blocking premise was wrong, so items 1–3 were already resolved and only item 4 needed work.
The premise correction
#322 said the fork pin couldn't move to base planemo until a release carried galaxyproject/planemo#1636 (
cli_metadata,output_schema). That PR merged 2026-05-14 and first shipped in 0.75.42 — two releases before the0.75.44the repo was already pinned to. Verified:Items 1–3 (stale convert-nfcore cast, fork
planemo.mdin its bundle, fork SHA across vendored artifacts) were already done in earlier work; there are now zero references to the fork SHA orjmchilton/planemoanywhere in the tree. The pin note is corrected to say 0.75.42 rather than implying 0.75.44 was the first release to carry it.Item 4 —
renderInstallCommand(ef20f36)renderInstallCommandunconditionally emitted<pkg>==<package_version>, which mangles any non-bare pin into invalid syntax. Base-planemo dodged it; the next VCS or range pin would not have.Split out
renderPackageSpec(pkg, version, origin), which classifies the pin first:package_version1.2.3pkg==1.2.3pkg@1.2.3>=1.2pkg>=1.2pkg@>=1.2git+https://…pkg @ git+https://…(PEP 508)pkg@git+https://…Specs are shell-quoted when needed, so a range pin isn't read as a redirect.
build-clihad no test harness at all — added vitest matchingplanemo-cli-meta's setup (tsc --noEmit && vitest run), with 9 tests covering the matrix above. The test earned its keep immediately: the first shell-safe charset omitted=, so bare pins came out quoted, which would have churned every existing cast bundle. Caught red, fixed, green.Planemo rev to 0.75.45 (
c3ad839)Bumped
content/cli/planemo/index.mdandcontent/schemas/planemo-test-report.md(the latter'supstream:URL and Pin prose are live pins), regenerated vendored artifacts and the six CLI manual pages, recast the three planemo-pinned Molds, reassembled the pipeline harnesses, regeneratedDashboard.md.Real deltas in 0.75.45:
planemo test --failedgains an--lfalias and reads a new--failed_json; adds--shed_tool_data_table_config,--shed_data_manager_config,--shed_data_dir. The test-report JSON schema is byte-identical to 0.75.44.Verification
make checkexits 0 (validate 0 errors, 150/150 tests, generated + pipeline-assembly drift gates clean).packages-test,packages-lint,packages-formatall clean.Follow-ups (not in this PR)
foundry-build cast --checkcreates its destination directory despite being read-only — a repo-wide drift scan leaves empty dirs behind and breakstests/plugin-packaging.test.ts. Filed separately.content/cli/planemo/index.mdas the source of truth, and they stampPIN.releaseinto provenance rather than the version actually invoked — so a sync run against a mismatchedPATHplanemo produces artifacts that misreport their own provenance. Hit this during the rev. Worth fixing next.🤖 Generated with Claude Code