Skip to content

Lint verification workflows with planemo workflow_lint - #779

Merged
jmchilton merged 3 commits into
galaxyproject:mainfrom
jmchilton:issue-775-verification-workflow-lint
Nov 10, 2026
Merged

jmchilton merged 3 commits into
galaxyproject:mainfrom
jmchilton:issue-775-verification-workflow-lint

Conversation

@jmchilton

Copy link
Copy Markdown
Member

The verification-workflows job linted with planemo lint, which checks tool XML. On .gxwf.yml files it exits 2 with no message. The step had continue-on-error, so that went unnoticed. workflow_lint turned up real problems, which this PR fixes:

  • Installable Tool Shed pins. Four workflows used the changeset revisions that IWC pins. Those revisions have been superseded by later revisions of the same tool versions, and planemo 0.75.48 rejects them as not installable. The PR pins each tool version's installable revision instead (see Nothing verifies that a written changeset_revision is an installable revision; a non-existent pin survived ten phases #645):
    • map_param_value 0.2.0: 022a635f2283
    • query_tabular 3.3.2: a8e9456dbead
    • collection_column_join 0.0.3: 4b00d89e8690
    • datamash_ops 1.9+galaxy0: aaafc0ac4dd2
  • label: instead of name:. gxformat2's strict schema rejects a top-level name. The PR uses label, as the Mold examples already do.
  • CI step. The step now runs planemo workflow_lint --skip best_practices. The best-practice checks (annotation, creator, license) don't fit these narrow fixtures. The step reports every failing workflow and no longer has continue-on-error, so a lint failure fails the job.

All 31 verification workflows pass the new step locally.

Closes #775.

🤖 Generated with Claude Code

jmchilton and others added 3 commits November 10, 2026 10:56
planemo 0.75.48 workflow_lint rejects superseded changeset_revisions
(IWC-observed pins) for map_param_value, query_tabular,
collection_column_join and datamash_ops. Pin each tool version's
installable revision instead. See galaxyproject#645.

Refs galaxyproject#775.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
gxformat2's strict schema rejects a top-level name; label is the
format2 field and what the Mold examples already use.

Refs galaxyproject#775.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
planemo lint checks tool XML and exits 2 silently on .gxwf.yml; the
continue-on-error step hid that. Switch to workflow_lint, skip the
best_practices checks (annotation/creator/license don't fit narrow
fixtures), report every failing workflow, and make the step gate.

Closes galaxyproject#775.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@jmchilton
jmchilton merged commit e72d75c into galaxyproject:main Nov 10, 2026
3 of 4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Verification CI lints workflows with planemo lint instead of workflow_lint; real errors hidden

2 participants