You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
You're working on the source code for `miniwdl`, the Workflow Description Language (WDL) runner and developer toolkit.
2
+
3
+
See CONTRIBUTING.md for an overview of the codebase and development workflow. Note in particular that Python code should be linted with `mypy`, `ruff check`, and `ruff format`.
4
+
5
+
For many tasks it'll be useful to refer to the WDL 1.2 specification, which you can find under spec/wdl-1.2/SPEC.md. The version changelog is spec/wdl-1.2/CHANGELOG.md, and the older version 1.1 spec is spec/wdl-1.1/SPEC.md.
6
+
7
+
These development tutorials under docs/ introduce a few common ways the codebase is used and extended.
8
+
- trace_identifiers.md -- basic syntax tree traversal
9
+
- wdlviz.md -- generating graphviz diagrams from WDL source code
10
+
- add_functions.md -- adding new functions to the standard library
11
+
- assert.md -- adding a new WDL language feature, with parsing, type-checking, and runtime execution
Copy file name to clipboardExpand all lines: CONTRIBUTING.md
+2-1Lines changed: 2 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -21,7 +21,7 @@ Generally, `python3 -m WDL ...` invokes the equivalent of the `miniwdl ...` entr
21
21
The Makefile has a few typical flows:
22
22
23
23
-`make` or `make test` runs the full test suite with code coverage report (takes several minutes)
24
-
-`make qtest` runs most of the tests more quickly (by omitting some slower cases, and not tracking coverage)
24
+
-`make qtest` runs most of the tests more quickly (by omitting some slower cases, not tracking coverage, and failing fast)
25
25
-`make pretty` reformats the code with `ruff format`
26
26
-`make check` validates the code with `ruff check` and `mypy`
27
27
@@ -117,5 +117,6 @@ The miniwdl test suite is located in the `tests/` directory and is organized int
117
117
- true unit tests of isolated components
118
118
- artificial WDL sources exercising various aspects of the runtime
119
119
- tests of the parser and linter on a collection of WDL from external sources found under `test_corpi/`
120
+
***WDL Spec Examples (spec_tests/):** Tests all the examples embedded in the WDL SPEC.md (extracted following the [WDL Markdown Test Specification](https://github.com/openwdl/wdl-tests/blob/main/docs/MarkdownTests.md)). The `config.yaml` file marks several examples xfail or skip, for various reasons commented there.
120
121
***Bash-TAP Tests (\*.t):** These files are shell scripts that use the `bash-tap` framework to run commands and check their output. They primarily exercise the `miniwdl` command-line interface (parsing arguments, executing workflows/tasks, etc.) and associated shell integration.
121
122
***Applied Tests (applied/):** These are bash-tap that run `miniwdl run` on complete WDL workflows, drawn from various sources, with specific input JSON files. These tests are used to ensure that miniwdl correctly executes realistic workflows.
0 commit comments