From e71334d943a841ca42c222cfd7101a164b59fbeb Mon Sep 17 00:00:00 2001 From: Edmund Miller Date: Mon, 25 Nov 2024 11:40:17 -0600 Subject: [PATCH 1/9] style: Add sort-simple-yaml This fixes an issue with the Seqera containers naming. The Seqera containers site doesn't care about the context of what module the image is for. It just sorts the dependencies. This avoids having multiple containers with a bunch of different names. Should probably handle that on the wave-cli side. --- .pre-commit-config.yaml | 5 +++++ modules/nf-core/ensemblvep/environment.yml | 2 -- modules/nf-core/gatk4/variantstotable/environment.yml | 2 +- modules/nf-core/regtools/junctionsextract/environment.yml | 2 ++ modules/nf-core/snpeff/environment.yml | 5 +++-- modules/nf-core/trgt/merge/environment.yml | 2 ++ modules/nf-core/trgt/plot/environment.yml | 2 ++ 7 files changed, 15 insertions(+), 5 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index b6517edd742..7dc2c2a5699 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -30,3 +30,8 @@ repos: hooks: - id: editorconfig-checker alias: ec + - repo: https://github.com/pre-commit/pre-commit-hooks + rev: v5.0.0 + hooks: + - id: sort-simple-yaml + files: ^.*/environment\.yml diff --git a/modules/nf-core/ensemblvep/environment.yml b/modules/nf-core/ensemblvep/environment.yml index e94bfeb2cb0..7818cfa6bd4 100644 --- a/modules/nf-core/ensemblvep/environment.yml +++ b/modules/nf-core/ensemblvep/environment.yml @@ -1,5 +1,3 @@ -# You can use this file to create a conda environment for this module: -# conda env create -f environment.yml channels: - conda-forge - bioconda diff --git a/modules/nf-core/gatk4/variantstotable/environment.yml b/modules/nf-core/gatk4/variantstotable/environment.yml index d04a469c944..0fab9f885c5 100644 --- a/modules/nf-core/gatk4/variantstotable/environment.yml +++ b/modules/nf-core/gatk4/variantstotable/environment.yml @@ -1,6 +1,6 @@ # yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/environment-schema.json + --- -# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/environment-schema.json channels: - conda-forge - bioconda diff --git a/modules/nf-core/regtools/junctionsextract/environment.yml b/modules/nf-core/regtools/junctionsextract/environment.yml index 2b615890f84..c210e4c0a04 100644 --- a/modules/nf-core/regtools/junctionsextract/environment.yml +++ b/modules/nf-core/regtools/junctionsextract/environment.yml @@ -1,4 +1,6 @@ # yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/environment-schema.json + +--- channels: - conda-forge - bioconda diff --git a/modules/nf-core/snpeff/environment.yml b/modules/nf-core/snpeff/environment.yml index 6ac55ab765a..4c7a46b77ff 100644 --- a/modules/nf-core/snpeff/environment.yml +++ b/modules/nf-core/snpeff/environment.yml @@ -1,5 +1,6 @@ -# You can use this file to create a conda environment for this module: -# conda env create -f environment.yml +# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/environment-schema.json + +--- channels: - conda-forge - bioconda diff --git a/modules/nf-core/trgt/merge/environment.yml b/modules/nf-core/trgt/merge/environment.yml index 614dc872b7b..6f2e029e311 100644 --- a/modules/nf-core/trgt/merge/environment.yml +++ b/modules/nf-core/trgt/merge/environment.yml @@ -1,4 +1,6 @@ # yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/environment-schema.json + +--- channels: - conda-forge - bioconda diff --git a/modules/nf-core/trgt/plot/environment.yml b/modules/nf-core/trgt/plot/environment.yml index 614dc872b7b..6f2e029e311 100644 --- a/modules/nf-core/trgt/plot/environment.yml +++ b/modules/nf-core/trgt/plot/environment.yml @@ -1,4 +1,6 @@ # yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/environment-schema.json + +--- channels: - conda-forge - bioconda From 372c260506ae5f91562697b296a59916380e7b1a Mon Sep 17 00:00:00 2001 From: Edmund Miller Date: Mon, 25 Nov 2024 12:21:12 -0600 Subject: [PATCH 2/9] fix: This isn't working --- .pre-commit-config.yaml | 10 +++++----- modules/nf-core/bowtie/align/environment.yml | 4 ++-- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 7dc2c2a5699..66a2fbb869c 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -17,6 +17,11 @@ repos: files: ^subworkflows/nf-core/.*/meta\.yml$ args: ["--schemafile", "subworkflows/yaml-schema.json"] - id: check-github-workflows + - repo: https://github.com/pre-commit/pre-commit-hooks + rev: v5.0.0 + hooks: + - id: sort-simple-yaml + files: ^modules/nf-core/.*/environment\.yml$ # use ruff for python files - repo: https://github.com/astral-sh/ruff-pre-commit rev: v0.7.3 @@ -30,8 +35,3 @@ repos: hooks: - id: editorconfig-checker alias: ec - - repo: https://github.com/pre-commit/pre-commit-hooks - rev: v5.0.0 - hooks: - - id: sort-simple-yaml - files: ^.*/environment\.yml diff --git a/modules/nf-core/bowtie/align/environment.yml b/modules/nf-core/bowtie/align/environment.yml index 61bd69c2c7a..b5a02be1cc8 100644 --- a/modules/nf-core/bowtie/align/environment.yml +++ b/modules/nf-core/bowtie/align/environment.yml @@ -2,7 +2,7 @@ channels: - conda-forge - bioconda dependencies: - # renovate: datasource=conda depName=bioconda/bowtie - - bioconda::bowtie=1.3.1 # renovate: datasource=conda depName=bioconda/samtools - bioconda::samtools=1.20 + # renovate: datasource=conda depName=bioconda/bowtie + - bioconda::bowtie=1.3.1 From 3d87140b1183626c3c8131f969672e94961c0155 Mon Sep 17 00:00:00 2001 From: Edmund Miller Date: Mon, 25 Nov 2024 13:23:59 -0600 Subject: [PATCH 3/9] style: Copy conda env sorter script hook https://github.com/MarcoGorelli/madforhooks has been archived so I just copied this into the repo to make it simple to use --- .github/scripts/conda_env_sorter.py | 49 +++++++++++++++++++++++++++++ .pre-commit-config.yaml | 12 ++++--- 2 files changed, 57 insertions(+), 4 deletions(-) create mode 100755 .github/scripts/conda_env_sorter.py diff --git a/.github/scripts/conda_env_sorter.py b/.github/scripts/conda_env_sorter.py new file mode 100755 index 00000000000..0ad295ea9d0 --- /dev/null +++ b/.github/scripts/conda_env_sorter.py @@ -0,0 +1,49 @@ +#!/usr/bin/env python3 +# /// script +# requires-python = ">=3.10" +# dependencies = [ +# "ruamel.yaml", +# ] +# /// + +"""Sort dependencies in conda environment files.""" + +import argparse +from pathlib import Path +from typing import Optional, Sequence + +import ruamel.yaml + +yaml = ruamel.yaml.YAML() + + +def main(argv: Optional[Sequence[str]] = None) -> None: + """Sort dependencies in conda environment files.""" + parser = argparse.ArgumentParser() + parser.add_argument("paths", nargs="*", type=Path) + args = parser.parse_args(argv) + for path in args.paths: + doc = yaml.load(path) + dicts = [] + others = [] + + for term in doc["dependencies"]: + if isinstance(term, dict): + dicts.append(term) + else: + others.append(term) + others.sort(key=str) + for dict_term in dicts: + for value in dict_term.values(): + if isinstance(value, list): + value.sort(key=str) + dicts.sort(key=str) + doc["dependencies"].clear() + doc["dependencies"].extend(others) + doc["dependencies"].extend(dicts) + + yaml.dump(doc, path) + + +if __name__ == "__main__": + main() diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 66a2fbb869c..b1bead87e7b 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -17,11 +17,15 @@ repos: files: ^subworkflows/nf-core/.*/meta\.yml$ args: ["--schemafile", "subworkflows/yaml-schema.json"] - id: check-github-workflows - - repo: https://github.com/pre-commit/pre-commit-hooks - rev: v5.0.0 + - repo: local hooks: - - id: sort-simple-yaml - files: ^modules/nf-core/.*/environment\.yml$ + - id: conda-env-sorter + name: Sort dependencies in conda environment files. + entry: ./.github/scripts/conda_env_sorter.py + language: python + files: environment + types: [yaml] + additional_dependencies: ["ruamel.yaml"] # use ruff for python files - repo: https://github.com/astral-sh/ruff-pre-commit rev: v0.7.3 From 35ada8c8e1b5d91dd7fb62272c7a2bc60e8ccee5 Mon Sep 17 00:00:00 2001 From: Edmund Miller Date: Mon, 25 Nov 2024 13:32:02 -0600 Subject: [PATCH 4/9] chore: Remove empty environment yamls --- modules/nf-core/basicpy/environment.yml | 3 --- modules/nf-core/cellrangeratac/count/environment.yml | 3 --- modules/nf-core/cellrangeratac/mkfastq/environment.yml | 3 --- modules/nf-core/cellrangeratac/mkref/environment.yml | 3 --- modules/nf-core/coreograph/environment.yml | 3 --- modules/nf-core/fastk/histex/environment.yml | 3 --- modules/nf-core/fastk/merge/environment.yml | 3 --- modules/nf-core/fcs/fcsgx/environment.yml | 3 --- modules/nf-core/genescopefk/environment.yml | 3 --- modules/nf-core/ilastik/multicut/environment.yml | 3 --- modules/nf-core/ilastik/pixelclassification/environment.yml | 3 --- modules/nf-core/merquryfk/katcomp/environment.yml | 3 --- modules/nf-core/merquryfk/katgc/environment.yml | 3 --- modules/nf-core/universc/environment.yml | 3 --- 14 files changed, 42 deletions(-) delete mode 100644 modules/nf-core/basicpy/environment.yml delete mode 100644 modules/nf-core/cellrangeratac/count/environment.yml delete mode 100644 modules/nf-core/cellrangeratac/mkfastq/environment.yml delete mode 100644 modules/nf-core/cellrangeratac/mkref/environment.yml delete mode 100644 modules/nf-core/coreograph/environment.yml delete mode 100644 modules/nf-core/fastk/histex/environment.yml delete mode 100644 modules/nf-core/fastk/merge/environment.yml delete mode 100644 modules/nf-core/fcs/fcsgx/environment.yml delete mode 100644 modules/nf-core/genescopefk/environment.yml delete mode 100644 modules/nf-core/ilastik/multicut/environment.yml delete mode 100644 modules/nf-core/ilastik/pixelclassification/environment.yml delete mode 100644 modules/nf-core/merquryfk/katcomp/environment.yml delete mode 100644 modules/nf-core/merquryfk/katgc/environment.yml delete mode 100644 modules/nf-core/universc/environment.yml diff --git a/modules/nf-core/basicpy/environment.yml b/modules/nf-core/basicpy/environment.yml deleted file mode 100644 index 3cebeff05bf..00000000000 --- a/modules/nf-core/basicpy/environment.yml +++ /dev/null @@ -1,3 +0,0 @@ -channels: - - conda-forge - - bioconda diff --git a/modules/nf-core/cellrangeratac/count/environment.yml b/modules/nf-core/cellrangeratac/count/environment.yml deleted file mode 100644 index 3cebeff05bf..00000000000 --- a/modules/nf-core/cellrangeratac/count/environment.yml +++ /dev/null @@ -1,3 +0,0 @@ -channels: - - conda-forge - - bioconda diff --git a/modules/nf-core/cellrangeratac/mkfastq/environment.yml b/modules/nf-core/cellrangeratac/mkfastq/environment.yml deleted file mode 100644 index 3cebeff05bf..00000000000 --- a/modules/nf-core/cellrangeratac/mkfastq/environment.yml +++ /dev/null @@ -1,3 +0,0 @@ -channels: - - conda-forge - - bioconda diff --git a/modules/nf-core/cellrangeratac/mkref/environment.yml b/modules/nf-core/cellrangeratac/mkref/environment.yml deleted file mode 100644 index 3cebeff05bf..00000000000 --- a/modules/nf-core/cellrangeratac/mkref/environment.yml +++ /dev/null @@ -1,3 +0,0 @@ -channels: - - conda-forge - - bioconda diff --git a/modules/nf-core/coreograph/environment.yml b/modules/nf-core/coreograph/environment.yml deleted file mode 100644 index 3cebeff05bf..00000000000 --- a/modules/nf-core/coreograph/environment.yml +++ /dev/null @@ -1,3 +0,0 @@ -channels: - - conda-forge - - bioconda diff --git a/modules/nf-core/fastk/histex/environment.yml b/modules/nf-core/fastk/histex/environment.yml deleted file mode 100644 index 3cebeff05bf..00000000000 --- a/modules/nf-core/fastk/histex/environment.yml +++ /dev/null @@ -1,3 +0,0 @@ -channels: - - conda-forge - - bioconda diff --git a/modules/nf-core/fastk/merge/environment.yml b/modules/nf-core/fastk/merge/environment.yml deleted file mode 100644 index 3cebeff05bf..00000000000 --- a/modules/nf-core/fastk/merge/environment.yml +++ /dev/null @@ -1,3 +0,0 @@ -channels: - - conda-forge - - bioconda diff --git a/modules/nf-core/fcs/fcsgx/environment.yml b/modules/nf-core/fcs/fcsgx/environment.yml deleted file mode 100644 index 3cebeff05bf..00000000000 --- a/modules/nf-core/fcs/fcsgx/environment.yml +++ /dev/null @@ -1,3 +0,0 @@ -channels: - - conda-forge - - bioconda diff --git a/modules/nf-core/genescopefk/environment.yml b/modules/nf-core/genescopefk/environment.yml deleted file mode 100644 index 3cebeff05bf..00000000000 --- a/modules/nf-core/genescopefk/environment.yml +++ /dev/null @@ -1,3 +0,0 @@ -channels: - - conda-forge - - bioconda diff --git a/modules/nf-core/ilastik/multicut/environment.yml b/modules/nf-core/ilastik/multicut/environment.yml deleted file mode 100644 index 3cebeff05bf..00000000000 --- a/modules/nf-core/ilastik/multicut/environment.yml +++ /dev/null @@ -1,3 +0,0 @@ -channels: - - conda-forge - - bioconda diff --git a/modules/nf-core/ilastik/pixelclassification/environment.yml b/modules/nf-core/ilastik/pixelclassification/environment.yml deleted file mode 100644 index 3cebeff05bf..00000000000 --- a/modules/nf-core/ilastik/pixelclassification/environment.yml +++ /dev/null @@ -1,3 +0,0 @@ -channels: - - conda-forge - - bioconda diff --git a/modules/nf-core/merquryfk/katcomp/environment.yml b/modules/nf-core/merquryfk/katcomp/environment.yml deleted file mode 100644 index 3cebeff05bf..00000000000 --- a/modules/nf-core/merquryfk/katcomp/environment.yml +++ /dev/null @@ -1,3 +0,0 @@ -channels: - - conda-forge - - bioconda diff --git a/modules/nf-core/merquryfk/katgc/environment.yml b/modules/nf-core/merquryfk/katgc/environment.yml deleted file mode 100644 index 3cebeff05bf..00000000000 --- a/modules/nf-core/merquryfk/katgc/environment.yml +++ /dev/null @@ -1,3 +0,0 @@ -channels: - - conda-forge - - bioconda diff --git a/modules/nf-core/universc/environment.yml b/modules/nf-core/universc/environment.yml deleted file mode 100644 index 3cebeff05bf..00000000000 --- a/modules/nf-core/universc/environment.yml +++ /dev/null @@ -1,3 +0,0 @@ -channels: - - conda-forge - - bioconda From 1e88c21e285eba530f999f02a47e74ba536472d5 Mon Sep 17 00:00:00 2001 From: Edmund Miller Date: Mon, 25 Nov 2024 13:34:49 -0600 Subject: [PATCH 5/9] chore: Add missing environment.yml --- modules/nf-core/hlala/preparegraph/environment.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/modules/nf-core/hlala/preparegraph/environment.yml b/modules/nf-core/hlala/preparegraph/environment.yml index 3cebeff05bf..3e7bf59bb49 100644 --- a/modules/nf-core/hlala/preparegraph/environment.yml +++ b/modules/nf-core/hlala/preparegraph/environment.yml @@ -1,3 +1,5 @@ channels: - conda-forge - bioconda +dependencies: + - bioconda::hla-la=1.0.4 From 5ef0c996486f7b4194c3dbbec04c69ccb8ec8a09 Mon Sep 17 00:00:00 2001 From: Edmund Miller Date: Mon, 25 Nov 2024 13:43:05 -0600 Subject: [PATCH 6/9] style: Run conda-env-sorter, then prettier conda-env-sorter doesn't make the files pretty --- .pre-commit-config.yaml | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index b1bead87e7b..3ad4957f8ea 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -1,4 +1,13 @@ repos: + - repo: local + hooks: + - id: conda-env-sorter + name: Sort dependencies in conda environment files. + entry: ./.github/scripts/conda_env_sorter.py + language: python + files: environment + types: [yaml] + additional_dependencies: ["ruamel.yaml"] - repo: https://github.com/pre-commit/mirrors-prettier rev: "v3.1.0" hooks: @@ -17,15 +26,6 @@ repos: files: ^subworkflows/nf-core/.*/meta\.yml$ args: ["--schemafile", "subworkflows/yaml-schema.json"] - id: check-github-workflows - - repo: local - hooks: - - id: conda-env-sorter - name: Sort dependencies in conda environment files. - entry: ./.github/scripts/conda_env_sorter.py - language: python - files: environment - types: [yaml] - additional_dependencies: ["ruamel.yaml"] # use ruff for python files - repo: https://github.com/astral-sh/ruff-pre-commit rev: v0.7.3 From df36cac5d9bd099f63c5287328485f6256329ce8 Mon Sep 17 00:00:00 2001 From: Edmund Miller Date: Mon, 25 Nov 2024 13:52:00 -0600 Subject: [PATCH 7/9] style: Check for yaml-language-server in environment.ymls --- .github/scripts/conda_env_sorter.py | 24 +++++++++++++++++-- .../regtools/junctionsextract/environment.yml | 5 +--- 2 files changed, 23 insertions(+), 6 deletions(-) diff --git a/.github/scripts/conda_env_sorter.py b/.github/scripts/conda_env_sorter.py index 0ad295ea9d0..7baa3796510 100755 --- a/.github/scripts/conda_env_sorter.py +++ b/.github/scripts/conda_env_sorter.py @@ -23,7 +23,25 @@ def main(argv: Optional[Sequence[str]] = None) -> None: parser.add_argument("paths", nargs="*", type=Path) args = parser.parse_args(argv) for path in args.paths: - doc = yaml.load(path) + with path.open() as f: + lines = f.readlines() + + # Define the schema lines to be added if missing + schema_lines = [ + "---\n", + "# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/environment-schema.json\n", + ] + + # Check if the first two lines match the expected schema lines + if lines[:2] == schema_lines: + header = lines[:2] + content = lines[2:] + else: + # Add schema lines if they are missing + header = schema_lines + content = lines + + doc = yaml.load("".join(content)) dicts = [] others = [] @@ -42,7 +60,9 @@ def main(argv: Optional[Sequence[str]] = None) -> None: doc["dependencies"].extend(others) doc["dependencies"].extend(dicts) - yaml.dump(doc, path) + with path.open("w") as f: + f.writelines(header) + yaml.dump(doc, f) if __name__ == "__main__": diff --git a/modules/nf-core/regtools/junctionsextract/environment.yml b/modules/nf-core/regtools/junctionsextract/environment.yml index c210e4c0a04..d6cbfc1e982 100644 --- a/modules/nf-core/regtools/junctionsextract/environment.yml +++ b/modules/nf-core/regtools/junctionsextract/environment.yml @@ -1,8 +1,5 @@ -# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/environment-schema.json - ---- channels: - conda-forge - bioconda dependencies: - - "bioconda::regtools=1.0.0" + - bioconda::regtools=1.0.0 From ce2aab5f85deb06a1c51d58e5e47c2a887fcdfbb Mon Sep 17 00:00:00 2001 From: Edmund Miller Date: Mon, 25 Nov 2024 13:54:02 -0600 Subject: [PATCH 8/9] style: Have conda_env_sorter use 2 spaces --- .github/scripts/conda_env_sorter.py | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/scripts/conda_env_sorter.py b/.github/scripts/conda_env_sorter.py index 7baa3796510..6c42e65f0cd 100755 --- a/.github/scripts/conda_env_sorter.py +++ b/.github/scripts/conda_env_sorter.py @@ -15,6 +15,7 @@ import ruamel.yaml yaml = ruamel.yaml.YAML() +yaml.indent(mapping=2, sequence=2, offset=2) # Set indentation to 2 spaces def main(argv: Optional[Sequence[str]] = None) -> None: From 8e4537e40554ae77da23d4ed290be1362fa8a611 Mon Sep 17 00:00:00 2001 From: Edmund Miller Date: Mon, 25 Nov 2024 19:40:35 -0600 Subject: [PATCH 9/9] style: Check version snapshot --- .github/scripts/check_version_snapshot.py | 39 +++++++++++++++++++++++ .pre-commit-config.yaml | 9 ++++++ 2 files changed, 48 insertions(+) create mode 100755 .github/scripts/check_version_snapshot.py diff --git a/.github/scripts/check_version_snapshot.py b/.github/scripts/check_version_snapshot.py new file mode 100755 index 00000000000..85abb816418 --- /dev/null +++ b/.github/scripts/check_version_snapshot.py @@ -0,0 +1,39 @@ +#!/usr/bin/env python3 +# /// script +# requires-python = ">=3.10" +# dependencies = [] +# /// + +"""Check that versions are captured not hashed.""" + +import argparse +import re +from pathlib import Path +from typing import Optional, Sequence + + +def check_snapshotting(lines: list[str], path: Path) -> None: + """Check each line for proper snapshotting.""" + good_pattern = re.compile( + r'snapshot\(path\(process\.out\.versions\.get\(0\)\)\.yaml\)\.match\("versions"\)|path\(process\.out\.versions\.get\(0\)\)\.yaml' + ) + bad_pattern = re.compile(r"process\.out\.versions|snapshot\(process\.out\)\.match\(\)") + + for line_number, line in enumerate(lines, start=1): + if bad_pattern.search(line) and not good_pattern.search(line): + print(f"Improper snapshotting in {path} at line {line_number}: {line.strip()}") + + +def main(argv: Optional[Sequence[str]] = None) -> None: + """Check that versions are captured not hashed.""" + parser = argparse.ArgumentParser() + parser.add_argument("paths", nargs="*", type=Path) + args = parser.parse_args(argv) + for path in args.paths: + with path.open() as f: + lines = f.readlines() + check_snapshotting(lines, path) + + +if __name__ == "__main__": + main() diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 3ad4957f8ea..c6d913aba53 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -8,6 +8,15 @@ repos: files: environment types: [yaml] additional_dependencies: ["ruamel.yaml"] + - repo: local + hooks: + - id: check-version-snapshot + name: Versions are captured not hashed + entry: ./.github/scripts/check_version_snapshot.py + language: python + files: \.nf\.test$ + types: [file] + additional_dependencies: [] - repo: https://github.com/pre-commit/mirrors-prettier rev: "v3.1.0" hooks: