How to Contribute with a Workflow System

Register an actively-developed open source workflow system

All Systems

The Workflows Community Initiative (WCI) provides a curated collection of actively-developed open source workflow systems. The main goal of this collection is to showcase workflow system capabilities developed by the community. We invite all workflow system developers and users to share their workflow systems through this collection.

Adding a Workflow System Repository

To add a workflow system repository, you only need to add the organization and repository names into an YAML file hosted as part of the WCI GitHub repository. The preferred way to submit your changes is via creating a pull request with the changes. To this end, these are the recommended steps for adding a workflow system:

  1. Fork the WCI GitHub repository
  2. Clone your forked repository:
    git clone https://github.com/<your_username>/workflowscommunity.github.io
  3. Edit the _data/workflow_systems.yml file, and add the information regarding the workflow system repository:
    - organization: <github-organization>
      repository: <workflow-system-repository>
      type: github
      metadata: <relative-path-to-wci-yml-file> # relative path to the .wci.yml file in the repository
  4. Commit the changes, and create a pull request for the WCI GitHub repository.
  5. The WCI team will then evaluate your pull request, and merge the changes if the workflow system repository and examples are properly documented.

Providing a Rich Set of Information

Although the minimum requirement for publishing a workflow system is to only have an open source repository with a reasonable documentation, we strongly encourage workflow system developers to provide additional metadata.

WCI seeks for a .wci.yml file in the root folder of the workflow system repository. This file is expected to contain metadata that would enrich the workflow system description at WCI.

The following example summarizes the current list of available metadata keywords (all fields are optional):

name: <workflow_system_name> # will use GitHub repository name if not provided

icon: <url_to_workflow_system_logo> # will use GitHub organization icon if not provided

headline: <brief_description> # will use GitHub repository description if not provided

description: <long_description> # will use GitHub repository description if not provided

language: <workflow_system_language> # will attempt to fetch GitHub repository main language if not provided
            
release: # will attempt to fetch latest release from GitHub repository if not provided
  version: <release_name> 
  date: <release_date> # format: YYYY-MM-DD
  url: <release_url>
            
documentation: # nothing will be used if not provided
  general: <documentation_url>
  installation: <installation_url>
  tutorial: <tutorial_url>
            
social: # nothing will be used if not provided
  twitter: <twitter_name>
  youtube: <youtube_channel_url>
            
execution_environment: # nothing will be used if not provided
  interfaces: # list of interfaces
    - <interface_1>
    - <interface_2>
  resource_managers: # list of supported resource managers
    - <resource_manager_1>
    - <resource_manager_2>
  transfer_protocols: # list of supported transfer protocols
    - <transfer_protocol_1>
    - <transfer_protocol_2>            

WCI uses GitHub actions to fetch repository information and build the workflow systems' pages. Updates to the YAML files are currently processed at every 12 hours.