diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml new file mode 100644 index 00000000..1bc730b5 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -0,0 +1,4 @@ +contact_links: + - name: CWL Community Forum + url: https://cwl.discourse.group/c/q-and-a/5 + about: Please ask and answer questions here. diff --git a/.wci.yml b/.wci.yml new file mode 100644 index 00000000..59414863 --- /dev/null +++ b/.wci.yml @@ -0,0 +1,50 @@ +# Metadata for https://workflows.community/systems/common-workflow-language/ + +name: Common Workflow Language +icon: https://raw.githubusercontent.com/common-workflow-language/media/main/CWL-Logo-nofonts.svg +headline: Interoperable workflow execution of containerized command line tools +description: | + The Common Workflow Language (CWL) is an open standard for describing analysis workflows and tools + in a way that makes them portable and scalable across a variety of software and hardware environments, + from workstations to cluster, cloud, and high performance computing (HPC) environments. + CWL is designed to meet the needs of data-intensive science, such as Bioinformatics, Medical Imaging, + Astronomy, High Energy Physics, and Machine Learning. + + Multiple engines implements the CWL standard, making the workflows executable and interoperable with minimal or no changes. + +language: YAML + +release: + version: 1.2.0 + date: 2020-08-07 + url: https://www.commonwl.org/v1.2/ + +documentation: + general: https://www.commonwl.org/ + installation: https://www.commonwl.org/#implementations + tutorial: https://www.commonwl.org/user_guide/ + +social: + twitter: commonwl + +execution_environment: + interfaces: + - Command Line + - Web + - REST APIs + resource_managers: + - Local + - AWS + - GCP + - Azure + - Slurm + - Google Cloud + - Grid Engine + - HTCondor + - LSF + - Mesos + - OpenStack + - PBS/Torque + - Kubernetes + - Singularity + - Occam diff --git a/CITATION b/CITATION deleted file mode 100644 index 6bb22869..00000000 --- a/CITATION +++ /dev/null @@ -1,28 +0,0 @@ -To cite the Common Workflow Language standard in a publication, please use: - -Amstutz, Peter; Crusoe, Michael R; Tijanić, Nebojša; Chapman, Brad; -Chilton, John; Heuer, Michael; Kartashov, Andrey; Kern, John; Leehr, Dan; -Ménager, Hervé; Nedeljkovich, Maya; Scales, Matt; Soiland-Reyes, Stian; -Stojanovic, Luka (2016): Common Workflow Language, v1.0. Specification, -Common Workflow Language working group. https://w3id.org/cwl/v1.0/ -https://doi.org/10.6084/m9.figshare.3115156.v2 - -@data{cwl, - doi = {10.6084/m9.figshare.3115156.v2}, - url = {https://doi.org/10.6084/m9.figshare.3115156.v2}, - author = {Peter Amstutz; Michael R. Crusoe; Nebojša Tijanić; Brad Chapman; -John Chilton; Michael Heuer; Andrey Kartashov; John Kern; Dan Leehr; -Hervé Ménager; Maya Nedeljkovich; Matt Scales; Stian Soiland-Reyes; -Luka Stojanovic - }, - publisher = {Figshare}, - institution = {Common Workflow Language working group}, - title = {Common Workflow Language, v1.0}, - year = {2016} -} - -# Are you editing this file? -# Synchronize any changes made with -# README.md -# and -# https://github.com/common-workflow-language/user_guide/blob/gh-pages/CITATION diff --git a/CITATION.cff b/CITATION.cff new file mode 100644 index 00000000..7cf10cd3 --- /dev/null +++ b/CITATION.cff @@ -0,0 +1,107 @@ +# Are you editing this file? +# Synchronize any changes made with +# README.md +# and +# https://github.com/common-workflow-language/user_guide/blob/main/CITATION.md + +cff-version: "1.1.0" +message: | + To reference the CWL project in scholarly work, please cite the following work. + To reference a particular version of the CWL standards, please see the entries + under "references" +title: "Methods Included: Standardizing Computational Reuse and Portability with the Common Workflow Language" +identifiers: + - type: doi + value: 10.1145/3486897 +abstract: "A widely used standard for portable multilingual data analysis pipelines would enable considerable benefits to scholarly publication reuse, research/industry collaboration, regulatory cost control, and to the environment. Published research that used multiple computer languages for their analysis pipelines would include a complete and reusable description of that analysis that is runnable on a diverse set of computing environments. Researchers would be able to easier collaborate and reuse these pipelines, adding or exchanging components regardless of programming language used; collaborations with and within the industry would be easier; approval of new medical interventions that rely on such pipelines would be faster. Time will be saved and environmental impact would also be reduced, as these descriptions contain enough information for advanced optimization without user intervention. Workflows are widely used in data analysis pipelines, enabling innovation and decision-making for the modern society. In many domains the analysis components are numerous and written in multiple different computer languages by third parties. However, lacking a standard for reusable and portable multilingual workflows, then reusing published multilingual workflows, collaborating on open problems, and optimizing their execution would be severely hampered. Moreover, only a standard for multilingual data analysis pipelines that was widely used would enable considerable benefits to research-industry collaboration, regulatory cost control, and to preserving the environment. Prior to the start of the CWL project, there was no standard for describing multilingual analysis pipelines in a portable and reusable manner. Even today / currently, although there exist hundreds of single-vendor and other single-source systems that run workflows, none is a general, community-driven, and consensus-built standard." +authors: + - given-names: "Michael R." + family-names: Crusoe + affiliation: "VU Amsterdam, Department of Computer Science; Software Freedom Conservancy, Common Workflow Language project" + orcid: "https://orcid.org/0000-0002-2961-9670" + - given-names: Sanne + family-names: Abeln + affiliation: "VU Amsterdam, Department of Computer Science" + orcid: "https://orcid.org/0000-0002-2779-7174" + - given-names: Alexandru + family-names: Iosup + affiliation: "VU Amsterdam, Department of Computer Science" + orcid: "https://orcid.org/0000-0001-8030-9398" + - given-names: Peter + family-names: Amstutz + affiliation: "Curii Corporation" + orcid: "https://orcid.org/0000-0003-3566-7705" + - given-names: John + family-names: Chilton + affiliation: "Pennsylvania State University, Department of Biochemistry and Molecular Biology; Galaxy Project" + orcid: "https://orcid.org/0000-0002-6794-0756" + - given-names: "Nebojša" + family-names: "Tijanić" + affiliation: Totient + orcid: "https://orcid.org/0000-0001-8316-4067" + - given-names: "Hervé" + family-names: "Ménager" + affiliation: "Institut Pasteur" + orcid: "https://orcid.org/0000-0002-7552-1009" + - given-names: Stian + family-names: "Soiland-Reyes" + affiliation: "The University of Manchester, Department of Computer Science; Informatics Institute, University of Amsterdam" + orcid: "https://orcid.org/0000-0001-9842-9718" + - given-names: Carole + family-names: Goble + affiliation: "The University of Manchester, Department of Computer Science" + orcid: "https://orcid.org/0000-0003-1219-2137" + - name: "The CWL Community" + website: "https://www.commonwl.org" +references: + - type: standard + title: "Common Workflow Language, v1.0" + doi: 10.6084/m9.figshare.3115156.v2 + date-published: 2016-07-08 + license: Apache-2.0 + url: "https://w3id.org/cwl/v1.0/" + repository-code: "https://github.com/common-workflow-language/common-workflow-language/" + authors: + - given-names: Peter + family-names: Amstutz + orcid: "https://orcid.org/0000-0003-3566-7705" + affiliation: "Arvados Project, Veritas Genetics" + - given-names: "Michael R." + family-names: Crusoe + orcid: "https://orcid.org/0000-0002-2961-9670" + - given-names: Nebojša + family-names: Tijanić + orcid: "https://orcid.org/0000-0001-8316-4067" + affiliation: "Seven Bridges Genomics, Inc." + - type: standard + title: "Common Workflow Language, v1.1" + date-published: 2019-06-06 + license: Apache-2.0 + url: "https://w3id.org/cwl/v1.1/" + repository-code: "https://github.com/common-workflow-language/cwl-v1.1/" + authors: + - given-names: Peter + family-names: Amstutz + affiliation: "Curii Corporation / Arvados" + orcid: "https://orcid.org/0000-0003-3566-7705" + - given-names: "Michael R." + family-names: Crusoe + orcid: "https://orcid.org/0000-0002-2961-9670" + - type: standard + title: "Common Workflow Language, v1.2" + date-published: 2020-08-07 + license: Apache-2.0 + url: "https://w3id.org/cwl/v1.2/" + repository-code: "https://github.com/common-workflow-language/cwl-v1.2/" + authors: + - given-names: Peter + family-names: Amstutz + affiliation: "Curii Corporation / Arvados" + orcid: "https://orcid.org/0000-0003-3566-7705" + - given-names: "Michael R." + family-names: Crusoe + orcid: "https://orcid.org/0000-0002-2961-9670" + - given-names: Kaushik + family-names: Ghose + orcid: "https://orcid.org/0000-0003-2933-1260" + affiliation: "Seven Bridges Genomics, Inc." diff --git a/CONFORMANCE_TESTS.md b/CONFORMANCE_TESTS.md index 2fa975d1..ba3f987e 100644 --- a/CONFORMANCE_TESTS.md +++ b/CONFORMANCE_TESTS.md @@ -1,8 +1,9 @@ -# Common workflow language conformance test suite +# Common Workflow Language standards v1.0 conformance test suite The conformance tests are intended to test feature coverage of a CWL -implementation. It uses the module "cwltool.cwltest" from the cwltool -reference implementation. +implementation. It uses the Python module "cwltest" from https://github.com/common-workflow-language/cwltest/ + +For CWL v1.1 conformance tests see: https://github.com/common-workflow-language/cwl-v1.1/blob/main/CONFORMANCE_TESTS.md and for CWL v1.2 conformance tests see: https://github.com/common-workflow-language/cwl-v1.2/blob/main/CONFORMANCE_TESTS.md ## Usage @@ -22,19 +23,19 @@ RUNNER=other-cwl-runner The CWL implementation to be tested. -DRAFT=draft-N +EXTRA=--parallel -The CWL draft to be tested. +Extra options to pass to the CWL runner -nN Run a single specific test number N. -For example, to run conformance test 15 of draft-2 against the "cwltool" -reference implementation: +For example, to run conformance test 15 against the "cwltool" +reference implementation with `--parallel`: ``` -$ ./run_test.sh RUNNER=cwltool DRAFT=draft-2 -n15 +$ ./run_test.sh RUNNER=cwltool EXTRA=--parallel -n15 Test [15/49] All tests passed ``` diff --git a/README.md b/README.md index b7b4e7b3..53852330 100644 --- a/README.md +++ b/README.md @@ -6,26 +6,27 @@ Main website: https://www.commonwl.org GitHub repository for www.commonwl.org: https://www.github.com/common-workflow-language/cwl-website +CWL v1.0.x: https://github.com/common-workflow-language/common-workflow-language (this repository) + +CWL v1.1.x: https://github.com/common-workflow-language/cwl-v1.1/ + +CWL v1.2.x: https://github.com/common-workflow-language/cwl-v1.2/ + [**Support**](#Support) [](https://gitter.im/common-workflow-language/common-workflow-language?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) [](https://github.com/common-workflow-language/common-workflow-language/stargazers) -
| field | type | required | description | %s | %s | %s | "\ - "%s | " % ( - rfrg, self.typefmt(tp, self.redirects, - jsonldPredicate=i.get("jsonldPredicate")), - opt, - mistune.markdown(desc)) - if opt: - required.append(tr) - else: - optional.append(tr) - for i in required + optional: - doc += "
|---|---|---|---|
| symbol | description |
|---|---|
%s | %s | " % ( - efrg, enumDesc.get(efrg, "")) - doc += "