Skip to content

Configure

Alexis Lucattini edited this page Jun 30, 2021 · 5 revisions

Configuration files

These files sit inside config/

tool.yaml

This contains a [list-formatted][list-format] list of each CWL Tool under the key 'tools'.

This file is 'ica agnostic' and provides no information on the projects / ica workflow ids or versions.
Each workflow in here has the following attributes:

  • tool name
    • This is the name of the tool
    • Created with tool-init
  • tool path
    • Path to cwl tool
    • Created with tool-init
  • versions:
    • name
      • Name of the tool version
      • Created with tool init
    • path
      • Created with tool-init, in the syntax version/name__version.cwl
    • md5sum
      • Created with tool-init, updated with tool-sync
  • categories
    • category list

workflow.yaml

This contains a [list-formatted][list-format] of each workflow under the key 'workflows'.
This file is 'ica agnostic' and provides no information on the projects / ica workflow ids or versions.
Each workflow in here has the following attributes:

  • workflow name
    • This is the name of the workflow
    • Created with workflow-init
  • workflow path
    • Path to cwl workflow
    • Created with workflow-init
  • versions:
    • name
      • Name of the workflow version
      • Created with workflow init
    • path
      • Created with workflow-init, in the syntax version/name__version.cwl
    • md5sum
      • Created with workflow-init, updated with workflow-sync
  • categories
    • category list

expression.yaml

This contains a key-formatted list of each expression

This file is 'ica' agnostic and provides no information on the projects / ica workflow ids or versions. Each workflow in here has the following attributes:

  • expression id (this is the key)
  • expression path
    • Path to cwl expression
    • Created with expression-init
  • expression name
    • Name of the expression
    • Created with expression-init
  • expression version name
    • Name of the expression
    • Created with expression-init
  • md5sum
    • Created with expression-init, updated with expression-sync or with github-actions expression-update.

schema.yaml

This contains a key-formatted list of each schema

This file is 'ica' agnostic and provides no information on the projects / ica workflow ids or versions. Each workflow in here has the following attributes:

  • schema id (this is the key)
  • schema path
    • Path to cwl schema
    • Created with schema-init
  • schema name
    • Name of the schema
    • Created with schema-init
  • schema version name
    • Name of the schema
    • Created with schema-init
  • md5sum
    • Created with schema-init, updated with schema-sync or with github-actions schema-update.

category.yaml

Registered categories

  • category name
    • Category description
    • image / emoji path

project.yaml

The project.yaml contains the following attributes

Note that each project does not have expressions or schemas as attributes.
This is as these cannot be registered or used on ICA.

  • projects

    Sub-attributes are in list-format

    • project_name: <project_name

    • project_id: <project_id>

    • project_abbr: project abbreviaion # Set in project-init

    • project_api_key_name: project_api_key_name

    • production: <boolean> # Set in project-init

    • tools

      Sub-attributes are in list-format

      • name<tool_name> # Matches tool_name attribute in tool.yaml
      • path: /path/to/tool # Path to tool root
      • ica_workflow_name: name of the workflow on ica
      • id: ica workflow id (wfl...) # ICA workflow id
      • versions:

        Sub-attributes are in list-format
        If this is a production project,
        this component is only created at GitHub actions time.

        • name: name of tool version # Set in tool init,
        • path: tool version path # Set in tool init
        • ica_workflow_modification_time: workflow modification time # Used by GitHub actions to determine if this workflow should be 'auto-updated'\
        • run_instances: # Instances of this tool version run
          • wfr.run-id-1
          • wfr.run-id-2
    • workflows

      Sub-attributes are in list-format

      • name: <workflow_name> # Matches workflow_name attribute in workflow.yaml
      • path: /path/to/workflow # Path to workflow root
      • id: ica workflow id (wfl...) # ICA workflow id
      • versions:

        Sub-attributes are in list-format
        If this is a production project,
        this component is only created at GitHub actions time.

        • name: name of workflow version # Set in workflow init,
        • path: workflow version path # Set in workflow init
        • ica_workflow_modification_time: workflow modification time # Used by GitHub actions to determine if this workflow should be 'auto-updated'\
        • run_instances: # Instances of this workflow version run
          • wfr.run-id-1
          • wfr.run-id-2