WORK IN PROGRESS
Add the following dependency resolver:
<conda prefix="/cvmfs/sandbox.galaxyproject.org/dependencies/conda" auto_install="False" auto_init="False" />
preferably above your existing conda dependency resolver (you will need to set conda_auto_install: false
in your galaxy.yml
).
And add the new shed tool conf:
tool_config_file: ...,/cvmfs/sandbox.galaxyproject.org/config/shed_tool_conf.xml
In your destination you should set:
<param id="singularity_enabled">true</param>
<param id="singularity_volumes">$defaults</param>
yaml
files are manually curatedyaml.lock
files are automatically generated- Only IUC tools are automatically updated with the latest version each week
- Use the provided
requirements.txt
to install dependences needed for the make targets
Anyone can request tool installations or updates on usegalaxy.org or test.galaxyproject.org.
In the commands below fill the {server_name}
as appropriate (usegalaxy.org, test.galaxyproject.org)
- Fork and clone usegalaxy-tools
- Create/activate a virtualenv and
pip install -r requirements.txt
- You are either installing a new repo or updating existing repo
- NEW REPO
- If this is a new a section without an existing yml file create a new one like this:
- Determine the desired section label
- Normalize the section label to an ID/filename with this process
- Create
{server_name}/<section_id>.yml
settingtool_panel_section_label
from the section label obtained in previous step (see existing yml files for exact syntax) - Continue with the steps below
- Add the entry for the new tool to the section yml (only the yml, not the yml.lock) example
- Run
$ make TOOLSET={server_name} fix
(this will fill the yml.lock ) - Then
$ git add <file>
only the updates that you care about.
- If this is a new a section without an existing yml file create a new one like this:
- UPDATE REPO
- Find the yml and yml.lock files with the repository entries. Add the changeset hash of repo's desired installable revision to the yml.lock file example
- Alternatively, run
make TOOLSET={server_name} OWNER={repo_owner} update-trusted
for every owner in your yml file, then run$ make TOOLSET={server_name} fix
, and then$ git add <file>
only the updates that you care about.
- NEW REPO
- Run
make TOOLSET={server_name} lint
- Commit
{server_name}/<repo>.yaml{.lock}
- Create a PR against the
master
branch of usegalaxy-tools- Use PR labels as appropriate
- To aid PR mergers, you can include information on tools in the repo's use of
$GALAXY_SLOTS
, or even PR any needed update(s) to Main's job_conf.xml as explained in the "Determine tool requirements" section once the test installation (via Travis) succeeds (see details below)
- Once the PR is merged and the tool appears on usegalaxy.org or test.galaxyproject.org, test to ensure the tool works
- If you just want the latest version:
- Edit the .yaml file to add name/owner/section
- run
make fix
- run
- Edit the .yaml file to add name/owner/section
- If you want a specific version:
- Edit the .yaml file to add name/owner/section
- Run
make fix-no-deps
- Edit the .yaml.lock to correct the version number.
- Open a pull request
Use make TOOLSET=<toolset_dir> <target>
to limit a make action to a specific toolset subdirectory, e.g.:
$ make TOOLSET=usegalaxy.org lint
find ./usegalaxy.org -name '*.yml' | grep '^\./[^/]*/' | xargs -n 1 -P 8 python scripts/fix-lockfile.py
find ./usegalaxy.org -name '*.yml' | grep '^\./[^/]*/' | xargs -n 1 -P 8 -I{} pykwalify -d '{}' -s .schema.yml
INFO - validation.valid
INFO - validation.valid
...