Skip to content

Commit

Permalink
Merge branch '1.2.1_proposed' into fail_expressiontool
Browse files Browse the repository at this point in the history
  • Loading branch information
mr-c authored Jun 21, 2022
2 parents e5c23e6 + 34b2117 commit de74bc7
Show file tree
Hide file tree
Showing 26 changed files with 414 additions and 214 deletions.
21 changes: 21 additions & 0 deletions .github/config/spellcheck.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
matrix:
- name: Markdown
aspell:
lang: en
ignore-case: true
dictionary:
encoding: utf-8
wordlists:
- .github/config/wordlist.txt
pipeline:
- pyspelling.filters.markdown:
- pyspelling.filters.html:
comments: true
attributes:
- title
- alt
ignores:
- :matches(code, pre)
sources:
- '**/*.md'
default_encoding: utf-8
155 changes: 155 additions & 0 deletions .github/config/wordlist.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,155 @@
acyclic
amstutz
arvados
auditability
avro
backchannel
backrub
basedir
bnf
bogdan
checkpoint
checkpointing
chilton
cisphobia
classname
commandlinetool
commandlinetools
commonwl
complextype
coreutils
ctbrown
curii
curoverse
cwl
cwltest
cwltool
cwlversion
cyclic
dataflow
dev
dockerrequirement
doubleq
dsl
dusenbery
edu
eg
envvarrequirement
expressionlib
expressiontool
expressiontools
filesystem
freedesktop
gavrilovic
ghose
gitter
gmail
hervé
https
ietf
implementer
implementers
implementor
implementors
initialworkdirrequirement
initialworkdirrequirements
inlinejavascriptrequirement
inplaceupdaterequirement
inputparameter
institut
invocab
iri
jmchilton
json
junit
kaushik
ld
lexicographically
linkmerge
lookahead
maccallum
macos
mebibyte
mebibytes
ménager
metaschema
misgendering
mrc
multipleinputfeaturerequirement
multithreaded
namespace
namespaces
nebojsa
nebojša
nekrutenko
networkaccess
neuro
onlinepubs
opengroup
orcid
osx
outputsource
petermac
pickvalue
posix
pre
preprocess
preprocessed
preprocessing
psu
publically
pvanheus
rdf
recurse
repo
reproducibility
resourcerequirement
routable
runtime
sbgenomics
scatterfeaturerequirement
schemadefrequirement
schemaorg
schemas
secondaryfiles
secondaryfilesdsl
shellcommandrequirement
singleq
softwarepackage
softwarerequirement
soiland
stepinputexpressionrequirement
stian
subdirectory
subprocess
subprocesses
subscope
subscoped
subshell
substep
substring
substrings
subtype
subtypes
subworkflow
subworkflowrequirement
superset
svg
tijanic
tijanić
toc
tooltimelimit
transcode
txt
uc
ucdavis
untrusted
uri
utf
vandewege
virtualenv
walkthrough
wdl
whitespace
xdg
yaml
21 changes: 21 additions & 0 deletions .github/workflows/spellcheck.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
name: Spellcheck Action
on:
push:
branches: [ main ]
pull_request:
branches: [ main, 1.2.1_proposed ]
workflow_dispatch:

jobs:
build:
# https://github.com/marketplace/actions/github-spellcheck-action
# To run locally, `pip install pyspelling`, followed by
# `pyspelling -c .github/config/spellcheck.yml`.
name: Spellcheck
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@master
- uses: rojopolis/[email protected]
name: Spellcheck
with:
config_path: .github/config/spellcheck.yml
2 changes: 1 addition & 1 deletion CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ except as necessary to protect vulnerable people from intentional abuse.
- Publication of non-harassing private communication.

The CWL Project prioritizes marginalized people’s safety over privileged
people’s comfort. The CWL Leadeship Team will not act on complaints regarding:
people’s comfort. The CWL Leadership Team will not act on complaints regarding:

- ‘Reverse’ -isms, including ‘reverse racism,’ ‘reverse sexism,’ and ‘cisphobia’
- Reasonable communication of boundaries, such as “leave me alone,” “go away,” or
Expand Down
2 changes: 1 addition & 1 deletion CONFORMANCE_TESTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -184,7 +184,7 @@ Likewise, please do not test the `path` for `class: File` and `class: Directory`

To add a new conformance test:
1. Ensure the CWL document you have tests the desired feature or aspect.
2. All `CommandLineTool`s need a software container (via `DockerRequirement`) for better reproducibility, preferrably under `hints`.
2. All `CommandLineTool`s need a software container (via `DockerRequirement`) for better reproducibility, preferably under `hints`.
Please limit your container usage to the following:
- `dockerPull: docker.io/alpine:latest`
- `dockerPull: docker.io/bash:4.4`
Expand Down
16 changes: 12 additions & 4 deletions CommandLineTool.yml
Original file line number Diff line number Diff line change
Expand Up @@ -567,6 +567,10 @@ $graph:
stdout: random_stdout_filenameABCDEFG
```
If the `CommandLineTool` contains logically chained commands
(e.g. `echo a && echo b`) `stdout` must include the output of
every command.
- name: stderr
type: enum
Expand Down Expand Up @@ -700,6 +704,10 @@ $graph:
Capture the command's standard output stream to a file written to
the designated output directory.
If the `CommandLineTool` contains logically chained commands
(e.g. `echo a && echo b`) `stdout` must include the output of
every command.
If `stdout` is a string, it specifies the file name to use.
If `stdout` is an expression, the expression is evaluated and must
Expand Down Expand Up @@ -1017,8 +1025,8 @@ $graph:

Normally files are staged within the designated output directory.
However, when running inside containers, files may be staged at
arbitrary locations, see discussion for `Dirent.entryname`.
Together with `DockerRequirement.dockerOutputDirectory` this it
arbitrary locations, see discussion for [`Dirent.entryname`](#Dirent).
Together with `DockerRequirement.dockerOutputDirectory` it is
possible to control the locations of both input and output files
when running in containers.
fields:
Expand Down Expand Up @@ -1105,8 +1113,8 @@ $graph:
extends: ProcessRequirement
doc: |
Modify the behavior of CommandLineTool to generate a single string
containing a shell command line. Each item in the argument list must be
joined into a string separated by single spaces and quoted to prevent
containing a shell command line. Each item in the `arguments` list must
be joined into a string separated by single spaces and quoted to prevent
intepretation by the shell, unless `CommandLineBinding` for that argument
contains `shellQuote: false`. If `shellQuote: false` is specified, the
argument is joined into the command string without quoting, which allows
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,6 @@ This repo holds the development version of CWL v1.2.1; see https://github.com/co

See https://github.com/common-workflow-language/cwl-v1.2/tree/v1.2.0 for the released v1.2 of the Common Workflow Language standards and the history of its development.

You can render this using https://github.com/common-workflow-language/cwl-website/blob/master/website.sh
You can render this using https://github.com/common-workflow-language/cwl-website/blob/main/website.sh

You may browse the released v1.2 standards online at https://www.commonwl.org/v1.2
10 changes: 7 additions & 3 deletions Workflow.yml
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ $graph:
should be trivially updatable by changing `cwlVersion`, however
CWL documents that relied on previously undefined or
underspecified behavior may have slightly different behavior in
v1.2.
v1.2. See note about `cwl-upgrader` in the changelog.
## Changelog
Expand Down Expand Up @@ -74,7 +74,10 @@ $graph:
See also the [CWL Command Line Tool Description, v1.2 changelog](CommandLineTool.html#Changelog).
For other changes since CWL v1.0, see the
[CWL Workflow Description, v1.1 changelog](https://www.commonwl.org/v1.1/Workflow.html#Changelog)
[CWL Workflow Description, v1.1 changelog](https://www.commonwl.org/v1.1/Workflow.html#Changelog).
[`cwl-upgrader`](https://github.com/common-workflow-language/cwl-upgrader) can
be used for upgrading CWL documents from version `draft-3`, `v1.0`, and `v1.1` to `v1.2`.
## Purpose
Expand Down Expand Up @@ -616,7 +619,8 @@ $graph:
_type: "@id"
subscope: run
doc: |
Specifies the process to run.
Specifies the process to run. If `run` is a string, it must be an absolute IRI
or a relative path from the primary document.
- name: when
type:
- "null"
Expand Down
20 changes: 10 additions & 10 deletions concepts.md
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ the CWL specification.
## Data concepts

An **object** is a data structure equivalent to the "object" type in JSON,
consisting of a unordered set of name/value pairs (referred to here as
consisting of an unordered set of name/value pairs (referred to here as
**fields**) and where the name is a string and the value is a string, number,
boolean, array, or object.

Expand Down Expand Up @@ -100,12 +100,12 @@ must declare the `cwlVersion` of that document. Implementations must
validate against the document's declared version. Implementations
should allow workflows to reference documents of both newer and older
CWL versions (up to the highest version of CWL supported by that
implementation). Where the runtime enviroment or runtime behavior has
implementation). Where the runtime environment or runtime behavior has
changed between versions, for that portion of the execution an
implementation must provide runtime enviroment and behavior consistent
implementation must provide runtime environment and behavior consistent
with the document's declared version. An implementation must not
expose a newer feature when executing a document that specifies an
older version that does not not include that feature.
older version that does not include that feature.

### map

Expand All @@ -115,7 +115,7 @@ Note: This section is non-normative.
The above syntax in the CWL specifications means there are two or more ways to write the given value.

Option one is a array and is the most verbose option.
Option one is an array and is the most verbose option.

Option one generic example:
```
Expand Down Expand Up @@ -191,7 +191,7 @@ hints:
version: [ "1.0" ]
python: {}
```
`

Sometimes we have a third and even more compact option denoted like this:
> type: array<ComplexType> |
> map<`key_field`, `field2` | ComplexType>
Expand Down Expand Up @@ -297,8 +297,8 @@ which the `id` field is explicitly listed in this specification.
## Document preprocessing

An implementation must resolve [$import](SchemaSalad.html#Import) and
[$include](SchemaSalad.html#Import) directives as described in the
[Schema Salad specification](SchemaSalad.html).
[$include](SchemaSalad.html#Include) directives as described in the
[Schema Salad specification](SchemaSalad.html#Document_preprocessing).

Another transformation defined in Schema salad is simplification of data type definitions.
Type `<T>` ending with `?` should be transformed to `[<T>, "null"]`.
Expand Down Expand Up @@ -376,7 +376,7 @@ produces output, and then terminates.

A **workflow** is a process characterized by multiple subprocess steps,
where step outputs are connected to the inputs of downstream steps to
form a directed acylic graph, and independent steps may run concurrently.
form a directed acyclic graph, and independent steps may run concurrently.

A **runtime environment** is the actual hardware and software environment when
executing a command line tool. It includes, but is not limited to, the
Expand Down Expand Up @@ -421,7 +421,7 @@ of [process requirements](#Requirements_and_hints).
## Generic execution process

The generic execution sequence of a CWL process (including workflows
and command line line tools) is as follows. Processes are
and command line tools) is as follows. Processes are
modeled as functions that consume an input object and produce an
output object.

Expand Down
Loading

0 comments on commit de74bc7

Please sign in to comment.