Unlike I misunderstand from the objectives, it seems like this episode should be about using CWL requirements (i.e. runtime, ResourseRequirements, InitialWorkDirRequirement, proper filepaths, docker usage), but the exercise seem to focus on general setup of a CWL workflow like how to use the basecommand, inputs, naming outputs, and creating outputs. This might be better put in the capturing outputs or perhaps turning a shell script into a workflow (although it isn't exactly a shell script). The exception is exercise 2 which I believe fits within the objectives. I think perhaps the confusion is over the word requirements and thinking about them broadly as things like inputs/outputs that are required to run a workflow.
Objectives
identify all the requirements of a tool and define them in the tool description
use runtime parameters to access information about the runtime environment
define environment variables necessary for execution
use secondaryFiles or InitialWorkDirRequirement to access files in the same directory as another referenced file
use $(runtime.cores) to define the number of cores to be used
use type: File, instead of a string, to reference a filepath
Unlike I misunderstand from the objectives, it seems like this episode should be about using CWL requirements (i.e. runtime, ResourseRequirements, InitialWorkDirRequirement, proper filepaths, docker usage), but the exercise seem to focus on general setup of a CWL workflow like how to use the basecommand, inputs, naming outputs, and creating outputs. This might be better put in the capturing outputs or perhaps turning a shell script into a workflow (although it isn't exactly a shell script). The exception is exercise 2 which I believe fits within the objectives. I think perhaps the confusion is over the word requirements and thinking about them broadly as things like inputs/outputs that are required to run a workflow.
Objectives identify all the requirements of a tool and define them in the tool description
use runtime parameters to access information about the runtime environment
define environment variables necessary for execution
use secondaryFiles or InitialWorkDirRequirement to access files in the same directory as another referenced file
use $(runtime.cores) to define the number of cores to be used
use type: File, instead of a string, to reference a filepath
https://common-workflow-lab.github.io/cwl-novice-tutorial/requirements/index.html