Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: new wdl-format crate #108

Closed
wants to merge 86 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
86 commits
Select commit Hold shift + click to select a range
a961355
[WIP]feat: new wdl-format crate
a-frantz Jul 3, 2024
7e1ab8c
Update import_sort.rs
a-frantz Jul 3, 2024
4362f5a
feat: format version and import statements
a-frantz Jul 4, 2024
0beb5c6
Update format.rs
a-frantz Jul 4, 2024
ffe38be
Update format.rs
a-frantz Jul 5, 2024
0a609ac
Update format.rs
a-frantz Jul 6, 2024
a070f55
[WIP]
a-frantz Jul 6, 2024
98267de
Update format.rs
a-frantz Jul 6, 2024
c28ad06
Update format.rs
a-frantz Jul 7, 2024
405cab1
chore: break monolithic format.rs into modules
a-frantz Jul 7, 2024
a69c784
[WIP]
a-frantz Jul 7, 2024
65c1401
[WIP]feat: imports are working
a-frantz Jul 8, 2024
82ee8e9
tests: add no comments import test
a-frantz Jul 8, 2024
34e2c51
chore: code cleanup
a-frantz Jul 8, 2024
eac9f51
[WIP]
a-frantz Jul 9, 2024
1805827
[WIP]
a-frantz Jul 11, 2024
8c9112c
feat: include format in Cargo.toml
a-frantz Jul 12, 2024
957f2ca
fix(wdl-ast): return parameter_meta with .items()
a-frantz Jul 12, 2024
9014e72
chore: code clean up
a-frantz Jul 12, 2024
6d2800e
[WIP]
a-frantz Jul 12, 2024
9bc2a06
chore: code clean up
a-frantz Jul 13, 2024
396045c
fix(ast): typo in TaskItem
a-frantz Jul 13, 2024
e61d37a
feat(format): should be everything but expr
a-frantz Jul 13, 2024
9fc4506
chore: code cleanup
a-frantz Jul 13, 2024
ed666a6
fix(format): newlines between top level elems
a-frantz Jul 14, 2024
311978a
fix: prevent extra newline
a-frantz Jul 14, 2024
ea83f4f
Merge branch 'main' into feat/wdl-format
a-frantz Jul 14, 2024
bc2a408
fix: cleaning up merge
a-frantz Jul 14, 2024
da538e0
fix(format): comment logic
a-frantz Jul 14, 2024
bbd92e8
feat(format): format top level metadata
a-frantz Jul 14, 2024
6d1f461
[WIP]
a-frantz Jul 14, 2024
cfa491c
chore: clippy lints
a-frantz Jul 14, 2024
994660f
chore: update Arena
a-frantz Jul 14, 2024
657db17
docs: more complete documentation
a-frantz Jul 14, 2024
b162dc4
chore: cargo fmt
a-frantz Jul 14, 2024
d624405
Update workflow.rs
a-frantz Jul 14, 2024
26c8c84
fix: try to keep imports to one line
a-frantz Jul 14, 2024
c1fb44c
feat: implements multiple lint rules (#120)
claymcleod Jul 15, 2024
37a0970
feat: implement `hints` sections from WDL 1.2. (#121)
peterhuene Jul 15, 2024
d75da41
feat: implement multi-line strings from WDL 1.2. (#123)
peterhuene Jul 15, 2024
2023489
feat: implement the `Directory` type from WDL 1.2. (#124)
peterhuene Jul 15, 2024
14975e6
feat: implement optional input keyword in call statements for WDL 1.2…
peterhuene Jul 15, 2024
5c48281
feat: implement struct metadata sections for WDL 1.2. (#127)
peterhuene Jul 15, 2024
bf47ea2
feat: implements a rule to flag `TODO` items
claymcleod Jul 15, 2024
aef2823
fix: remove the `Send` and `Sync` requirement on `Visitor`. (#128)
peterhuene Jul 15, 2024
d45f7f2
feat: add non-matching output lint rule (#114)
adthrasher Jul 16, 2024
2da59bc
fix(SectionOrder): allow workflow conditionals (#129)
a-frantz Jul 16, 2024
b104efb
chore: refresh gauntlet and arena (#132)
a-frantz Jul 16, 2024
fce8919
[WIP]feat: new wdl-format crate
a-frantz Jul 3, 2024
1fc367e
Update import_sort.rs
a-frantz Jul 3, 2024
47467b9
feat: format version and import statements
a-frantz Jul 4, 2024
d718340
Update format.rs
a-frantz Jul 4, 2024
2c3b826
Update format.rs
a-frantz Jul 5, 2024
a129045
Update format.rs
a-frantz Jul 6, 2024
297bca3
[WIP]
a-frantz Jul 6, 2024
6af671a
Update format.rs
a-frantz Jul 6, 2024
49e702a
Update format.rs
a-frantz Jul 7, 2024
b1a44d0
chore: break monolithic format.rs into modules
a-frantz Jul 7, 2024
9c314b0
[WIP]
a-frantz Jul 7, 2024
76dfe63
[WIP]feat: imports are working
a-frantz Jul 8, 2024
fb7299c
tests: add no comments import test
a-frantz Jul 8, 2024
fbb0b45
chore: code cleanup
a-frantz Jul 8, 2024
ab99890
[WIP]
a-frantz Jul 9, 2024
d68f88e
[WIP]
a-frantz Jul 11, 2024
de50b3e
feat: include format in Cargo.toml
a-frantz Jul 12, 2024
bed135d
chore: code clean up
a-frantz Jul 12, 2024
fabbb6d
[WIP]
a-frantz Jul 12, 2024
58eddde
chore: code clean up
a-frantz Jul 13, 2024
ed76783
feat(format): should be everything but expr
a-frantz Jul 13, 2024
9d17742
chore: code cleanup
a-frantz Jul 13, 2024
6373f7b
fix(format): newlines between top level elems
a-frantz Jul 14, 2024
aaa73ba
fix: prevent extra newline
a-frantz Jul 14, 2024
59f208e
fix: cleaning up merge
a-frantz Jul 14, 2024
83d59ba
fix(format): comment logic
a-frantz Jul 14, 2024
6b8e70a
feat(format): format top level metadata
a-frantz Jul 14, 2024
a19784d
[WIP]
a-frantz Jul 14, 2024
632d5c7
chore: clippy lints
a-frantz Jul 14, 2024
335bbce
chore: update Arena
a-frantz Jul 14, 2024
ecaab11
docs: more complete documentation
a-frantz Jul 14, 2024
5675b8a
chore: cargo fmt
a-frantz Jul 14, 2024
aade157
Update workflow.rs
a-frantz Jul 14, 2024
dc69715
fix: try to keep imports to one line
a-frantz Jul 14, 2024
15411ed
[WIP]
a-frantz Jul 17, 2024
a0e47e5
Merge branch 'feat/wdl-format' of https://github.com/stjude-rust-labs…
a-frantz Jul 17, 2024
e091ee9
fix: bad merge/rebase
a-frantz Jul 17, 2024
2aee658
[WIP]tests: first attempt at better tests
a-frantz Jul 17, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,11 @@ Rule specific checks:
- [ ] You have added a test case in `wdl-lint/tests/lints` that covers every
possible diagnostic emitted for the rule within the file where the rule
is implemented.
- [ ] If you have implemented a new `Visitor` callback, you have also
overridden that callback method for the special `Validator`
(`wdl-ast/src/validation.rs`) and `LintVisitor`
(`wdl-lint/src/visitor.rs`) visitors. These are required to ensure the new
visitor callback will execute.
- [ ] You have run `wdl-gauntlet --refresh` to ensure that there are no
unintended changes to the baseline configuration file (`Gauntlet.toml`).
- [ ] You have run `wdl-gauntlet --refresh --arena` to ensure that all of the
Expand Down
60 changes: 0 additions & 60 deletions Arena.toml
Original file line number Diff line number Diff line change
Expand Up @@ -1430,11 +1430,6 @@ document = "stjudecloud/workflows:/workflows/chipseq/chipseq-standard.wdl"
message = "chipseq-standard.wdl:12:1: note[LineWidth]: line exceeds maximum width of 90"
permalink = "https://github.com/stjudecloud/workflows/blob/efdca837bc35fe5647de6aa95989652a5a9648dc/workflows/chipseq/chipseq-standard.wdl/#L12"

[[diagnostics]]
document = "stjudecloud/workflows:/workflows/chipseq/chipseq-standard.wdl"
message = "chipseq-standard.wdl:15:10: note[SectionOrdering]: sections are not in order for workflow `chipseq_standard`"
permalink = "https://github.com/stjudecloud/workflows/blob/efdca837bc35fe5647de6aa95989652a5a9648dc/workflows/chipseq/chipseq-standard.wdl/#L15"

[[diagnostics]]
document = "stjudecloud/workflows:/workflows/dnaseq/dnaseq-core.wdl"
message = "dnaseq-core.wdl:115:1: note[LineWidth]: line exceeds maximum width of 90"
Expand All @@ -1450,26 +1445,11 @@ document = "stjudecloud/workflows:/workflows/dnaseq/dnaseq-standard-fastq.wdl"
message = "dnaseq-standard-fastq.wdl:51:1: note[LineWidth]: line exceeds maximum width of 90"
permalink = "https://github.com/stjudecloud/workflows/blob/efdca837bc35fe5647de6aa95989652a5a9648dc/workflows/dnaseq/dnaseq-standard-fastq.wdl/#L51"

[[diagnostics]]
document = "stjudecloud/workflows:/workflows/dnaseq/dnaseq-standard-fastq.wdl"
message = "dnaseq-standard-fastq.wdl:9:10: note[SectionOrdering]: sections are not in order for workflow `dnaseq_standard_fastq_experimental`"
permalink = "https://github.com/stjudecloud/workflows/blob/efdca837bc35fe5647de6aa95989652a5a9648dc/workflows/dnaseq/dnaseq-standard-fastq.wdl/#L9"

[[diagnostics]]
document = "stjudecloud/workflows:/workflows/dnaseq/dnaseq-standard.wdl"
message = "dnaseq-standard.wdl:11:10: note[SectionOrdering]: sections are not in order for workflow `dnaseq_standard_experimental`"
permalink = "https://github.com/stjudecloud/workflows/blob/efdca837bc35fe5647de6aa95989652a5a9648dc/workflows/dnaseq/dnaseq-standard.wdl/#L11"

[[diagnostics]]
document = "stjudecloud/workflows:/workflows/general/alignment-post.wdl"
message = "alignment-post.wdl:6:1: note[LineWidth]: line exceeds maximum width of 90"
permalink = "https://github.com/stjudecloud/workflows/blob/efdca837bc35fe5647de6aa95989652a5a9648dc/workflows/general/alignment-post.wdl/#L6"

[[diagnostics]]
document = "stjudecloud/workflows:/workflows/general/alignment-post.wdl"
message = "alignment-post.wdl:8:10: note[SectionOrdering]: sections are not in order for workflow `alignment_post`"
permalink = "https://github.com/stjudecloud/workflows/blob/efdca837bc35fe5647de6aa95989652a5a9648dc/workflows/general/alignment-post.wdl/#L8"

[[diagnostics]]
document = "stjudecloud/workflows:/workflows/general/samtools-merge.wdl"
message = "samtools-merge.wdl:23:1: note[LineWidth]: line exceeds maximum width of 90"
Expand All @@ -1480,11 +1460,6 @@ document = "stjudecloud/workflows:/workflows/general/samtools-merge.wdl"
message = "samtools-merge.wdl:35:1: note[LineWidth]: line exceeds maximum width of 90"
permalink = "https://github.com/stjudecloud/workflows/blob/efdca837bc35fe5647de6aa95989652a5a9648dc/workflows/general/samtools-merge.wdl/#L35"

[[diagnostics]]
document = "stjudecloud/workflows:/workflows/general/samtools-merge.wdl"
message = "samtools-merge.wdl:7:10: note[SectionOrdering]: sections are not in order for workflow `samtools_merge`"
permalink = "https://github.com/stjudecloud/workflows/blob/efdca837bc35fe5647de6aa95989652a5a9648dc/workflows/general/samtools-merge.wdl/#L7"

[[diagnostics]]
document = "stjudecloud/workflows:/workflows/qc/quality-check-standard.wdl"
message = "quality-check-standard.wdl:110:1: note[LineWidth]: line exceeds maximum width of 90"
Expand All @@ -1495,41 +1470,11 @@ document = "stjudecloud/workflows:/workflows/qc/quality-check-standard.wdl"
message = "quality-check-standard.wdl:150:1: note[LineWidth]: line exceeds maximum width of 90"
permalink = "https://github.com/stjudecloud/workflows/blob/efdca837bc35fe5647de6aa95989652a5a9648dc/workflows/qc/quality-check-standard.wdl/#L150"

[[diagnostics]]
document = "stjudecloud/workflows:/workflows/qc/quality-check-standard.wdl"
message = "quality-check-standard.wdl:18:10: note[SectionOrdering]: sections are not in order for workflow `quality_check`"
permalink = "https://github.com/stjudecloud/workflows/blob/efdca837bc35fe5647de6aa95989652a5a9648dc/workflows/qc/quality-check-standard.wdl/#L18"

[[diagnostics]]
document = "stjudecloud/workflows:/workflows/qc/quality-check-standard.wdl"
message = "quality-check-standard.wdl:435:1: note[LineWidth]: line exceeds maximum width of 90"
permalink = "https://github.com/stjudecloud/workflows/blob/efdca837bc35fe5647de6aa95989652a5a9648dc/workflows/qc/quality-check-standard.wdl/#L435"

[[diagnostics]]
document = "stjudecloud/workflows:/workflows/reference/gatk-reference.wdl"
message = "gatk-reference.wdl:7:10: note[SectionOrdering]: sections are not in order for workflow `gatk_reference`"
permalink = "https://github.com/stjudecloud/workflows/blob/efdca837bc35fe5647de6aa95989652a5a9648dc/workflows/reference/gatk-reference.wdl/#L7"

[[diagnostics]]
document = "stjudecloud/workflows:/workflows/reference/make-qc-reference.wdl"
message = "make-qc-reference.wdl:6:10: note[SectionOrdering]: sections are not in order for workflow `make_qc_reference`"
permalink = "https://github.com/stjudecloud/workflows/blob/efdca837bc35fe5647de6aa95989652a5a9648dc/workflows/reference/make-qc-reference.wdl/#L6"

[[diagnostics]]
document = "stjudecloud/workflows:/workflows/rnaseq/rnaseq-standard-fastq.wdl"
message = "rnaseq-standard-fastq.wdl:25:10: note[SectionOrdering]: sections are not in order for workflow `rnaseq_standard_fastq`"
permalink = "https://github.com/stjudecloud/workflows/blob/efdca837bc35fe5647de6aa95989652a5a9648dc/workflows/rnaseq/rnaseq-standard-fastq.wdl/#L25"

[[diagnostics]]
document = "stjudecloud/workflows:/workflows/rnaseq/rnaseq-standard.wdl"
message = "rnaseq-standard.wdl:9:10: note[SectionOrdering]: sections are not in order for workflow `rnaseq_standard`"
permalink = "https://github.com/stjudecloud/workflows/blob/efdca837bc35fe5647de6aa95989652a5a9648dc/workflows/rnaseq/rnaseq-standard.wdl/#L9"

[[diagnostics]]
document = "stjudecloud/workflows:/workflows/rnaseq/rnaseq-variant-calling.wdl"
message = "rnaseq-variant-calling.wdl:6:10: note[SectionOrdering]: sections are not in order for workflow `rnaseq_variant_calling`"
permalink = "https://github.com/stjudecloud/workflows/blob/efdca837bc35fe5647de6aa95989652a5a9648dc/workflows/rnaseq/rnaseq-variant-calling.wdl/#L6"

[[diagnostics]]
document = "stjudecloud/workflows:/workflows/scrnaseq/10x-bam-to-fastqs.wdl"
message = "10x-bam-to-fastqs.wdl:28:1: note[LineWidth]: line exceeds maximum width of 90"
Expand Down Expand Up @@ -1605,11 +1550,6 @@ document = "stjudecloud/workflows:/workflows/scrnaseq/scrnaseq-standard.wdl"
message = "scrnaseq-standard.wdl:28:1: note[LineWidth]: line exceeds maximum width of 90"
permalink = "https://github.com/stjudecloud/workflows/blob/efdca837bc35fe5647de6aa95989652a5a9648dc/workflows/scrnaseq/scrnaseq-standard.wdl/#L28"

[[diagnostics]]
document = "stjudecloud/workflows:/workflows/scrnaseq/scrnaseq-standard.wdl"
message = "scrnaseq-standard.wdl:40:10: note[SectionOrdering]: sections are not in order for workflow `scrnaseq_standard`"
permalink = "https://github.com/stjudecloud/workflows/blob/efdca837bc35fe5647de6aa95989652a5a9648dc/workflows/scrnaseq/scrnaseq-standard.wdl/#L40"

[[diagnostics]]
document = "stjudecloud/workflows:/workflows/scrnaseq/scrnaseq-standard.wdl"
message = "scrnaseq-standard.wdl:5:1: note[LineWidth]: line exceeds maximum width of 90"
Expand Down
1 change: 1 addition & 0 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ members = [
"wdl",
"wdl-analysis",
"wdl-ast",
"wdl-format",
"wdl-gauntlet",
"wdl-grammar",
"wdl-lint",
Expand Down
30 changes: 15 additions & 15 deletions Gauntlet.toml
Original file line number Diff line number Diff line change
Expand Up @@ -20,15 +20,15 @@ commit_hash = "4536dd2c6719b86f4c50348f0ce354818260cadb"

[repositories."broadinstitute/palantir-workflows"]
identifier = "broadinstitute/palantir-workflows"
commit_hash = "1e32078d3b57dcb2291534d0caa30f600d40967e"
commit_hash = "4e7fdfa7992dd1bf4c4721e77c81e4d7b8ecf4fe"

[repositories."broadinstitute/warp"]
identifier = "broadinstitute/warp"
commit_hash = "e49ffbcd72b138ad4dc6ec62c847943908e4abf9"
commit_hash = "25a98392991857f4a8be429075c0c7496834aa88"

[repositories."chanzuckerberg/czid-workflows"]
identifier = "chanzuckerberg/czid-workflows"
commit_hash = "a7c54be041e9fbd4cfdd9fac99226e6b4f6f3bfd"
commit_hash = "79f77cff3ebc013930cef3d5d63b3b2ca9b32e30"

[repositories."getwilds/ww-fastq-to-cram"]
identifier = "getwilds/ww-fastq-to-cram"
Expand All @@ -44,12 +44,12 @@ commit_hash = "c2c13e85efda8ac7aca7f8765fbaa7c2cacb08b2"

[repositories."stjudecloud/workflows"]
identifier = "stjudecloud/workflows"
commit_hash = "efdca837bc35fe5647de6aa95989652a5a9648dc"
commit_hash = "ec7cb3e21ef900d71db040943d7e14e94fa3b567"
filters = ["/template/task-templates.wdl"]

[repositories."theiagen/public_health_bioinformatics"]
identifier = "theiagen/public_health_bioinformatics"
commit_hash = "59ee38708ffdfc5dbbdd2f0df3ab02064570447a"
commit_hash = "42a06efca2be1935cc8b5936b1fa9164e5646b80"

[[diagnostics]]
document = "aws-samples/amazon-omics-tutorials:/example-workflows/gatk-best-practices/workflows/somatic-snps-and-indels/mutec2.wdl"
Expand Down Expand Up @@ -379,39 +379,39 @@ permalink = "https://github.com/biowdl/tasks/blob/2bf875300d90a3c9c8d670b3d99026
[[diagnostics]]
document = "broadinstitute/palantir-workflows:/HaplotypeMap/BuildHaplotypeMap.wdl"
message = "BuildHaplotypeMap.wdl:17:1: error: a WDL document must start with a version statement"
permalink = "https://github.com/broadinstitute/palantir-workflows/blob/1e32078d3b57dcb2291534d0caa30f600d40967e/HaplotypeMap/BuildHaplotypeMap.wdl/#L17"
permalink = "https://github.com/broadinstitute/palantir-workflows/blob/4e7fdfa7992dd1bf4c4721e77c81e4d7b8ecf4fe/HaplotypeMap/BuildHaplotypeMap.wdl/#L17"

[[diagnostics]]
document = "broadinstitute/warp:/pipelines/skylab/scATAC/scATAC.wdl"
message = "scATAC.wdl:203:9: error: duplicate key `cpu` in runtime section"
permalink = "https://github.com/broadinstitute/warp/blob/e49ffbcd72b138ad4dc6ec62c847943908e4abf9/pipelines/skylab/scATAC/scATAC.wdl/#L203"
permalink = "https://github.com/broadinstitute/warp/blob/25a98392991857f4a8be429075c0c7496834aa88/pipelines/skylab/scATAC/scATAC.wdl/#L203"

[[diagnostics]]
document = "broadinstitute/warp:/tasks/broad/GermlineVariantDiscovery.wdl"
message = "GermlineVariantDiscovery.wdl:137:32: error: expected string, but found integer"
permalink = "https://github.com/broadinstitute/warp/blob/e49ffbcd72b138ad4dc6ec62c847943908e4abf9/tasks/broad/GermlineVariantDiscovery.wdl/#L137"
message = "GermlineVariantDiscovery.wdl:140:32: error: expected string, but found integer"
permalink = "https://github.com/broadinstitute/warp/blob/25a98392991857f4a8be429075c0c7496834aa88/tasks/broad/GermlineVariantDiscovery.wdl/#L140"

[[diagnostics]]
document = "broadinstitute/warp:/tasks/broad/GermlineVariantDiscovery.wdl"
message = "GermlineVariantDiscovery.wdl:65:32: error: expected string, but found integer"
permalink = "https://github.com/broadinstitute/warp/blob/e49ffbcd72b138ad4dc6ec62c847943908e4abf9/tasks/broad/GermlineVariantDiscovery.wdl/#L65"
message = "GermlineVariantDiscovery.wdl:67:32: error: expected string, but found integer"
permalink = "https://github.com/broadinstitute/warp/blob/25a98392991857f4a8be429075c0c7496834aa88/tasks/broad/GermlineVariantDiscovery.wdl/#L67"

[[diagnostics]]
document = "broadinstitute/warp:/tasks/broad/UltimaGenomicsWholeGenomeGermlineTasks.wdl"
message = "UltimaGenomicsWholeGenomeGermlineTasks.wdl:814:27: error: expected string, but found integer"
permalink = "https://github.com/broadinstitute/warp/blob/e49ffbcd72b138ad4dc6ec62c847943908e4abf9/tasks/broad/UltimaGenomicsWholeGenomeGermlineTasks.wdl/#L814"
permalink = "https://github.com/broadinstitute/warp/blob/25a98392991857f4a8be429075c0c7496834aa88/tasks/broad/UltimaGenomicsWholeGenomeGermlineTasks.wdl/#L814"

[[diagnostics]]
document = "broadinstitute/warp:/tasks/broad/UltimaGenomicsWholeGenomeGermlineTasks.wdl"
message = "UltimaGenomicsWholeGenomeGermlineTasks.wdl:866:27: error: expected string, but found integer"
permalink = "https://github.com/broadinstitute/warp/blob/e49ffbcd72b138ad4dc6ec62c847943908e4abf9/tasks/broad/UltimaGenomicsWholeGenomeGermlineTasks.wdl/#L866"
permalink = "https://github.com/broadinstitute/warp/blob/25a98392991857f4a8be429075c0c7496834aa88/tasks/broad/UltimaGenomicsWholeGenomeGermlineTasks.wdl/#L866"

[[diagnostics]]
document = "broadinstitute/warp:/tests/cemba/pr/CheckCembaOutputs.wdl"
message = "CheckCembaOutputs.wdl:1:1: error: a WDL document must start with a version statement"
permalink = "https://github.com/broadinstitute/warp/blob/e49ffbcd72b138ad4dc6ec62c847943908e4abf9/tests/cemba/pr/CheckCembaOutputs.wdl/#L1"
permalink = "https://github.com/broadinstitute/warp/blob/25a98392991857f4a8be429075c0c7496834aa88/tests/cemba/pr/CheckCembaOutputs.wdl/#L1"

[[diagnostics]]
document = "chanzuckerberg/czid-workflows:/workflows/index-generation/index-generation.wdl"
message = "index-generation.wdl:1:9: error: unsupported WDL version `development`"
permalink = "https://github.com/chanzuckerberg/czid-workflows/blob/a7c54be041e9fbd4cfdd9fac99226e6b4f6f3bfd/workflows/index-generation/index-generation.wdl/#L1"
permalink = "https://github.com/chanzuckerberg/czid-workflows/blob/79f77cff3ebc013930cef3d5d63b3b2ca9b32e30/workflows/index-generation/index-generation.wdl/#L1"
8 changes: 6 additions & 2 deletions wdl-analysis/src/engine.rs
Original file line number Diff line number Diff line change
Expand Up @@ -550,9 +550,13 @@ impl AnalysisEngine {
) -> (GreenNode, Vec<Diagnostic>) {
let start = Instant::now();
let (document, mut diagnostics) = wdl_ast::Document::parse(source);
if let Some(validator) = validator {
diagnostics.extend(validator.validate(&document).err().unwrap_or_default());

if diagnostics.is_empty() {
if let Some(validator) = validator {
diagnostics.extend(validator.validate(&document).err().unwrap_or_default());
}
}

log::info!("parsing of `{id}` completed in {:?}", start.elapsed());
(document.syntax().green().into(), diagnostics)
}
Expand Down
4 changes: 3 additions & 1 deletion wdl-analysis/src/scope.rs
Original file line number Diff line number Diff line change
Expand Up @@ -921,6 +921,7 @@ impl DocumentScope {
| v1::TaskItem::Output(_)
| v1::TaskItem::Command(_)
| v1::TaskItem::Requirements(_)
| v1::TaskItem::Hints(_)
| v1::TaskItem::Runtime(_)
| v1::TaskItem::Metadata(_)
| v1::TaskItem::ParameterMetadata(_) => continue,
Expand Down Expand Up @@ -1017,7 +1018,8 @@ impl DocumentScope {
v1::WorkflowItem::Input(_)
| v1::WorkflowItem::Output(_)
| v1::WorkflowItem::Metadata(_)
| v1::WorkflowItem::ParameterMetadata(_) => continue,
| v1::WorkflowItem::ParameterMetadata(_)
| v1::WorkflowItem::Hints(_) => continue,
}
}

Expand Down
2 changes: 1 addition & 1 deletion wdl-analysis/tests/analysis.rs
Original file line number Diff line number Diff line change
Expand Up @@ -110,7 +110,7 @@ fn compare_results(test: &Path, results: Vec<AnalysisResult>) -> Result<()> {
// Attempt to strip the CWD from the result path
let path: Cow<'_, str> = match &path {
// Strip the CWD from the path
Some(path) => path.strip_prefix(&cwd).unwrap_or(&path).to_string_lossy(),
Some(path) => path.strip_prefix(&cwd).unwrap_or(path).to_string_lossy(),
// Use the id itself if there is no path
None => result.id().to_str(),
};
Expand Down
13 changes: 11 additions & 2 deletions wdl-ast/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,20 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

### Added

* Add support for `meta` and `parameter_meta` sections in struct definitions in
WDL 1.2 ([#127](https://github.com/stjude-rust-labs/wdl/pull/127)).
* Add support for omitting `input` keyword in call statement bodies in WDL 1.2
([#125](https://github.com/stjude-rust-labs/wdl/pull/125)).
* Add support for the `Directory` type in WDL 1.2 ([#124](https://github.com/stjude-rust-labs/wdl/pull/124)).
* Add support for multi-line strings in WDL 1.2 ([#123](https://github.com/stjude-rust-labs/wdl/pull/123)).
* Add support for `hints` sections in WDL 1.2 ([#121](https://github.com/stjude-rust-labs/wdl/pull/121)).
* Add support for `requirements` sections in WDL 1.2 ([#117](https://github.com/stjude-rust-labs/wdl/pull/117)).
* Add support for the exponentiation operator in WDL 1.2 ([#111](https://github.com/stjude-rust-labs/wdl/pull/111)).

### Changed

* Removed `Send` and `Sync` constraints from the `Visitor` trait
([#128](https://github.com/stjude-rust-labs/wdl/pull/128)).
* Changed the API for parsing documents; `Document::parse` now returns
`(Document, Vec<Diagnostic>)` rather than a `Parse` type ([#110](https://github.com/stjude-rust-labs/wdl/pull/110)).
* The `Type` enumeration, and friends, in `wdl-ast` no longer implement
Expand All @@ -39,7 +48,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

### Changed

* Refactored the `Visitor` trait and validation visitors so that they are not
* Refactored the `Visitor` trait and validation visitors so that they are not
in a `v1` module ([#95](https://github.com/stjude-rust-labs/wdl/pull/95)).

## 0.3.0 - 06-13-2024
Expand All @@ -59,7 +68,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

### Changed

* Removed the old AST implementation in favor of new new parser; this also
* Removed the old AST implementation in favor of new new parser; this also
removes the `experimental` feature from the crate ([#79](https://github.com/stjude-rust-labs/wdl/pull/79)).
* Removed dependency on `miette` and `thiserror` in the experimental parser,
re-exported key items from `wdl-grammar`'s experimental parser implementation,
Expand Down
Loading
Loading