Setting the environment
The next few steps in packaging your tool involve setting up its execution environment. This allows us to run tools reproducibly.
First, choose a base environment for your tool. You should pick the one corresponding to the main programming language used in the tool. Don't worry if your tool depends on code written in multiple languages, since you can specify additional software dependencies in the next step.
Once you have a base environment, you can add other dependencies. Dependencies are any software packages someone would need to get the tool running on a new computer. You can use any of our supported package managers to add your dependencies. For example, you might normally install the "something" package with the following command:
apt install something
In the above case, you would select the APT package manager as the dependency source and type "something."
You may notice that the form distinguishes between "tool code" and other dependencies. These are effectively the same thing. The “tool code” just refers to a primary repository with code to support the tool, typically written by the tool creator. If your tool is best described as a single script and lacks any custom supporting library, you can leave the “tool code” section blank and put the tool script in the “invocation script” section in the following step.
You can add other dependencies in a similar way. Just click the "Add Package Manager" button to create a new field, then add your packages by typing them in and pressing space.
Currently, we support a limited number of package managers for adding dependencies. If you would like us to add more, please contact support.
After specifying your dependencies, you can run a "build test" to package them up. This might take a few minutes if some of the dependencies are large.
You'll notice log messages appear while the tool builds. You can use these to monitor the build progress and do some troubleshooting if the build fails. For example, you might notice that the test crashed while a particular dependency was being downloaded, perhaps because of a spelling error in the dependency's name. You can go back to the dependencies page, fix the problem, and try the build test again.