How to submit a tool to the Galaxy ToolShed:
- Create an account on the ToolShed
- Create a $HOME/.planemo.yml file with the following content:
shed_username: $USER # your ToolShed username
sheds:
toolshed:
key: $KEY # your ToolShed API key, under 'User > API Keys'
email: $EMAIL # your ToolShed email
password: $PASS # your ToolShed password- Install Planemo:
pip install planemo- Validate your tool XML:
planemo lint monophylizer.xml- Test your tool:
planemo test monophylizer.xml- Publish your tool:
planemo shed_create --shed_target toolshed- Update your tool:
planemo shed_update --shed_target toolshedThis repository includes GitHub Actions workflows for continuous testing and publishing:
The planemo-publish.yml workflow automatically publishes the tool to the Galaxy Toolshed when a new version is tagged. To use this workflow:
-
Set up the following repository secrets (Settings > Secrets and variables > Actions):
USER: Your Galaxy Toolshed usernameKEY: Your Toolshed API key (found under User > API Keys)EMAIL: Your Toolshed account emailPASS: Your Toolshed account password
-
Create a new tag to trigger publishing:
git tag v1.0.0 git push origin v1.0.0
The workflow will automatically:
- Install Planemo and dependencies
- Create the Planemo configuration file
- Update the existing tool in the toolshed (or create it if it doesn't exist yet)
The planemo-test.yml workflow automatically runs tests on every push and pull request. It captures all temporary output files generated during testing and uploads them as artifacts. You can:
- Go to the Actions tab in GitHub
- Click on a workflow run
- Scroll down to "Artifacts" section
- Download
planemo-test-outputsto view the actual output files generated during testing - The workflow logs also display the contents of TSV output files inline
This is useful for:
- Debugging test failures
- Verifying the actual output format
- Updating test-data files when the tool behavior changes