-
Notifications
You must be signed in to change notification settings - Fork 10
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
repo-wide WDL conventions #12
Comments
I've been playing with imports and organization over in https://github.com/edawson/dawdl. I like the separation of tasks, workflows, and dockerfiles (when they're needed). Version tagging in Docker is something I'm still trying to figure out; in the past I have stuck to "latest". Maybe we use a coded date / time for builds somehow? Camel casing seems the right answer (as I've bumped into weird WDL issues with underscores). I have gravitated towards upper camel-case and adding the "Task" suffix to tasks. Imports on FireCloud (and Cromwell, the Broad's WDL runner) fail unless the tasks being imported are pushed to the FireCloud repos. I need to write some wrapper scripts for pushing / making public / updating task import versions. |
👍 to keeping dockerfiles next to WDLs when possible. I have a long term idea that the dockerfile should actually be embedded in the WDL (i.e. a 'docker_image' concept alongside 'workflow' and 'task'), but need to finish miniwdl first :) Re docker image versioning, in vg_docker we tag each image build based on the git tag/revision. So it's traceable to the exact source code version used to build it, and also assuredly sticks around when it's no longer the latest version. I can get on board with camel casing even though it's not my first choice. From a miniwdl perspective, I'd be curious if you can elaborate on the underscore and import issues you mention. I'd like to aim towards getting all the WDL in this repo automatically tested on small examples inside Travis CI (or some other future public CI), using Cromwell and/or eventually miniwdl. This forces us to embed all knowledge/assets for how to invoke the workflow in the repo, where otherwise it's too easy to forget something or leave it implicit. What I want to do is get as much of what's here now under such testing as practical, and move everything else into some kind of "incubator" or "needs_testing" folder. |
@mlin |
Agree upon, and document conventions:
The text was updated successfully, but these errors were encountered: