From 389021ce3f06f55c3475600d225bc27c366a6518 Mon Sep 17 00:00:00 2001 From: Ehsan ESTAJI <71376358+ehsanestaji@users.noreply.github.com> Date: Fri, 29 May 2026 00:16:42 +0200 Subject: [PATCH] docs: mark v0.3 packaging live --- README.md | 46 +++++++++++-------- docs/adoption-plan.md | 6 +-- docs/benchmarking.md | 15 +++--- docs/packaging.md | 22 ++++----- docs/releases/v0.3.0.md | 19 ++++++-- docs/roadmap.md | 3 +- docs/tool-landscape.md | 9 ++-- docs/vision-plan.md | 2 +- examples/nf-core/README.md | 10 ++-- .../nf-core/modules/local/fastaguard/main.nf | 1 + examples/snakemake/wrapper/README.md | 18 ++------ packaging/bioconda/README.md | 10 ++-- packaging/bioconda/meta.yaml | 21 ++++++--- tests/python/test_adoption_assets.py | 11 +++-- tests/python/test_release_metadata.py | 21 ++++++--- 15 files changed, 120 insertions(+), 94 deletions(-) diff --git a/README.md b/README.md index ebbaec0..286cad1 100644 --- a/README.md +++ b/README.md @@ -28,13 +28,31 @@ Run FastaGuard first. | Channel | Status | | --- | --- | | GitHub release | `v0.3.0` is live with Linux and macOS binaries | -| Bioconda | `v0.2.0` is live; `v0.3.0` update is under Bioconda review | -| BioContainers | `v0.2.0` is live; `v0.3.0` follows the Bioconda update | +| Bioconda | `v0.3.0` is live for Linux and macOS x86_64/ARM64 | +| BioContainers | `v0.3.0` is live as a pinned workflow image | | Source build | `v0.3.0` can be built from the Git tag | ## Install -Latest release binary for Linux x86_64: +Recommended bioinformatics install: + +```bash +mamba install -c conda-forge -c bioconda fastaguard=0.3.0 +``` + +Containerized workflow install: + +```bash +docker pull quay.io/biocontainers/fastaguard:0.3.0--hfa8f182_0 +``` + +Run through BioContainers: + +```bash +docker run --rm quay.io/biocontainers/fastaguard:0.3.0--hfa8f182_0 fastaguard --version +``` + +GitHub release binary for Linux x86_64: ```bash curl -L -O https://github.com/ehsanestaji/FastaGuard/releases/download/v0.3.0/fastaguard-v0.3.0-x86_64-unknown-linux-gnu.tar.gz @@ -42,7 +60,7 @@ tar -xzf fastaguard-v0.3.0-x86_64-unknown-linux-gnu.tar.gz ./fastaguard-v0.3.0-x86_64-unknown-linux-gnu/fastaguard --version ``` -Latest release binary for macOS Apple Silicon: +GitHub release binary for macOS Apple Silicon: ```bash curl -L -O https://github.com/ehsanestaji/FastaGuard/releases/download/v0.3.0/fastaguard-v0.3.0-aarch64-apple-darwin.tar.gz @@ -57,13 +75,6 @@ cargo install --git https://github.com/ehsanestaji/FastaGuard --tag v0.3.0 fastaguard --version ``` -Bioconda install, currently serving the published `v0.2.0` package until the -`v0.3.0` recipe update merges: - -```bash -mamba install -c conda-forge -c bioconda fastaguard -``` - Verify any installed CLI: ```bash @@ -124,12 +135,10 @@ docker run --rm -v "$PWD:/data" fastaguard:local /data/sample.fa \ --multiqc /data/fastaguard_mqc.json ``` -Published BioContainers currently provides the v0.2 image, which does not -include v0.3 gate behavior yet. Use it for v0.2 workflows until the Bioconda -v0.3 update propagates: +Published BioContainers provides the v0.3 image for workflow engines: ```bash -docker pull quay.io/biocontainers/fastaguard:0.2.0--hfa8f182_0 +docker pull quay.io/biocontainers/fastaguard:0.3.0--hfa8f182_0 ``` Exit codes: @@ -244,7 +253,6 @@ FastaGuard catches FASTA-level assembly problems before expensive assembly QC. v0.3.0 is published on GitHub with Linux and macOS release binaries. It adds the assembly gate contract, checksum provenance, and evidence workflow. -Bioconda currently serves v0.2.0 for `linux-64`, `linux-aarch64`, `osx-64`, -and `osx-arm64`; the v0.3.0 Bioconda update is open and passing CI. The -BioContainers v0.3 image will become available after the Bioconda package -propagates. +Bioconda serves v0.3.0 for `linux-64`, `linux-aarch64`, `osx-64`, and +`osx-arm64`. BioContainers publishes the pinned v0.3 workflow image +`quay.io/biocontainers/fastaguard:0.3.0--hfa8f182_0`. diff --git a/docs/adoption-plan.md b/docs/adoption-plan.md index 3623bdc..1c83ba6 100644 --- a/docs/adoption-plan.md +++ b/docs/adoption-plan.md @@ -15,9 +15,9 @@ Bioconda published -> BioContainers available -> MultiQC plugin -> public benchm Goal: make installation natural for bioinformatics users. -Status: Bioconda is live for FastaGuard v0.2.0 on Linux and macOS x86_64/ARM64 +Status: Bioconda is live for FastaGuard v0.3.0 on Linux and macOS x86_64/ARM64 platforms. BioContainers publishes the pinned workflow image -`quay.io/biocontainers/fastaguard:0.2.0--hfa8f182_0`. +`quay.io/biocontainers/fastaguard:0.3.0--hfa8f182_0`. - Keep GitHub release binaries working. - Keep Docker smoke tests passing. @@ -27,7 +27,7 @@ platforms. BioContainers publishes the pinned workflow image Done when: ```bash -mamba install -c conda-forge -c bioconda fastaguard +mamba install -c conda-forge -c bioconda fastaguard=0.3.0 fastaguard --schema ``` diff --git a/docs/benchmarking.md b/docs/benchmarking.md index 513c865..d53787a 100644 --- a/docs/benchmarking.md +++ b/docs/benchmarking.md @@ -87,11 +87,11 @@ Use it to answer: Do not use it to claim performance on contaminated assemblies, highly ambiguous assemblies, or compressed FASTA until separate fixtures cover those cases. -## v0.2 Evidence Targets +## Evidence Targets FastaGuard should prove four preflight categories with small reproducible -fixtures. For v0.3, the same evidence should also show whether each category -blocks the pipeline gate: +fixtures. For v0.3, the evidence should also show whether each category blocks +the pipeline gate: | Evidence case | Gate behavior | What FastaGuard catches | Why it should run before heavier tools | | --- | --- | --- | --- | @@ -132,10 +132,9 @@ This evidence matters more than synthetic speed alone because it shows the wedge ## Evidence Pack Workflow -The v0.2 evidence workflow is documented in -`docs/evidence/fastaguard-v0.2-evidence.md`. -The published evidence document remains v0.2-focused; v0.3 gate evidence should -extend that workflow after the gate contract is released. +The original v0.2 evidence workflow is documented in +`docs/evidence/fastaguard-v0.2-evidence.md`. The v0.3 gate evidence workflow is +documented in `docs/evidence/fastaguard-v0.3-evidence.md`. CI-safe local run: @@ -151,7 +150,7 @@ Public NCBI run: ```bash python3 scripts/collect_evidence.py \ --binary target/release/fastaguard \ - --out-dir target/evidence/v0.2 + --out-dir target/evidence/v0.3 ``` The public run uses NCBI Datasets commands such as diff --git a/docs/packaging.md b/docs/packaging.md index 5d9140c..c757076 100644 --- a/docs/packaging.md +++ b/docs/packaging.md @@ -5,26 +5,26 @@ Treat packaging as part of the product, not as a later chore. For bioinformatics adoption, the order should be: ```text -Bioconda -> GitHub release binaries -> Docker image -> BioContainers -> Homebrew later +Bioconda -> BioContainers -> GitHub release binaries -> Docker image -> Homebrew later ``` -FastaGuard v0.2.0 is published on GitHub with Linux and macOS release binaries. -Bioconda serves v0.2.0 on Linux and macOS x86_64/ARM64 platforms. Docker remains -useful for local smoke tests, while BioContainers now provides the pinned -workflow image generated from the Bioconda package. +FastaGuard v0.3.0 is published on GitHub with Linux and macOS release binaries. +Bioconda serves v0.3.0 on Linux and macOS x86_64/ARM64 platforms. +BioContainers provides the pinned v0.3 workflow image generated from the +Bioconda package. Docker remains useful for local smoke tests. ## Bioconda Recommended install: ```bash -mamba install -c conda-forge -c bioconda fastaguard +mamba install -c conda-forge -c bioconda fastaguard=0.3.0 ``` Conda equivalent: ```bash -conda install -c conda-forge -c bioconda fastaguard +conda install -c conda-forge -c bioconda fastaguard=0.3.0 ``` Verify the installed package: @@ -37,7 +37,7 @@ fastaguard --finding-catalog Current published package: -- Version: `0.2.0` +- Version: `0.3.0` - Platforms: `linux-64`, `linux-aarch64`, `osx-64`, `osx-arm64` - Package page: [anaconda.org/bioconda/fastaguard](https://anaconda.org/bioconda/fastaguard) @@ -89,8 +89,8 @@ For a public release: 1. Tag the release: ```bash - git tag v0.2.0 - git push origin v0.2.0 + git tag v0.3.0 + git push origin v0.3.0 ``` 2. Push the tag to trigger `.github/workflows/release.yml`. @@ -144,7 +144,7 @@ The Bioconda recipe has merged upstream and generated a BioContainers image. Use the pinned tag in workflow examples: ```bash -docker pull quay.io/biocontainers/fastaguard:0.2.0--hfa8f182_0 +docker pull quay.io/biocontainers/fastaguard:0.3.0--hfa8f182_0 ``` That path is preferable to maintaining a separate BioContainers Dockerfile. diff --git a/docs/releases/v0.3.0.md b/docs/releases/v0.3.0.md index a9a88c1..014a1ba 100644 --- a/docs/releases/v0.3.0.md +++ b/docs/releases/v0.3.0.md @@ -23,15 +23,26 @@ or other expensive downstream QC. ## Install -Download the platform binary from this GitHub release, or build from source: +Install through Bioconda: ```bash -cargo install --git https://github.com/ehsanestaji/FastaGuard --tag v0.3.0 +mamba install -c conda-forge -c bioconda fastaguard=0.3.0 fastaguard --version ``` -Bioconda and BioContainers updates should follow after the v0.3.0 source -archive and release assets are public. +Run the pinned BioContainers image: + +```bash +docker run --rm quay.io/biocontainers/fastaguard:0.3.0--hfa8f182_0 fastaguard --version +``` + +You can also download a platform binary from this GitHub release, or build from +source: + +```bash +cargo install --git https://github.com/ehsanestaji/FastaGuard --tag v0.3.0 +fastaguard --version +``` ## Pipeline Gate diff --git a/docs/roadmap.md b/docs/roadmap.md index 2c7181f..73d20d4 100644 --- a/docs/roadmap.md +++ b/docs/roadmap.md @@ -60,8 +60,7 @@ Make FastaGuard credible enough for pipeline authors to add as a default assembl Development scope: - public evidence pack from local fixtures and public assemblies -- Bioconda and BioContainers v0.2 availability documented without implying a - v0.3 package exists yet +- Bioconda and BioContainers v0.3 availability documented as live - input checksum provenance with `provenance.input_sha256` - clearer machine-readable threshold metadata - assembly gate preset with `--gate pipeline` diff --git a/docs/tool-landscape.md b/docs/tool-landscape.md index f883eea..fb23712 100644 --- a/docs/tool-landscape.md +++ b/docs/tool-landscape.md @@ -56,12 +56,12 @@ Current product evidence: - Rust CLI builds and runs as a single binary. - Docker build and smoke test pass. - GitHub release workflow builds Linux and macOS binaries. -- FastaGuard v0.2.0 is published on GitHub with Linux and macOS binaries. -- FastaGuard v0.2.0 is published on Bioconda for `linux-64`, +- FastaGuard v0.3.0 is published on GitHub with Linux and macOS binaries. +- FastaGuard v0.3.0 is published on Bioconda for `linux-64`, `linux-aarch64`, `osx-64`, and `osx-arm64`. - Clean Bioconda install has been smoke-tested with `fastaguard --schema`. - BioContainers publishes - `quay.io/biocontainers/fastaguard:0.2.0--hfa8f182_0`. + `quay.io/biocontainers/fastaguard:0.3.0--hfa8f182_0`. - JSON Schema validates committed golden reports. - Reports include bounded evidence records and suggested actions. - The v0.3 gate contract exposes `gate.blocking_findings`, @@ -72,11 +72,12 @@ Current product evidence: - nf-core, Nextflow, and Snakemake starters exist under `examples/`. - The v0.2 evidence workflow is documented in `docs/evidence/fastaguard-v0.2-evidence.md`. +- The v0.3 gate evidence workflow is documented in + `docs/evidence/fastaguard-v0.3-evidence.md`. Evidence still needed: - committed benchmark summaries from public assemblies -- v0.3 assembly gate evidence runs using `--gate pipeline` - user feedback from real pipeline authors - broader public assembly evidence runs - official MultiQC module or packaged plugin diff --git a/docs/vision-plan.md b/docs/vision-plan.md index 9be159a..ae62e39 100644 --- a/docs/vision-plan.md +++ b/docs/vision-plan.md @@ -48,7 +48,7 @@ Make FastaGuard credible enough for pipeline authors to add as a default assembl Priorities: - publish a small evidence pack from local fixtures and public assemblies -- document Bioconda and BioContainers v0.2 availability +- document Bioconda and BioContainers v0.3 availability - add input checksums to provenance - add clearer machine-readable threshold metadata - add an assembly gate preset for common pipeline behavior diff --git a/examples/nf-core/README.md b/examples/nf-core/README.md index 4d7f68b..099fcf3 100644 --- a/examples/nf-core/README.md +++ b/examples/nf-core/README.md @@ -20,19 +20,15 @@ The module assumes `fastaguard` is available on `PATH` when run without a container. The recommended install is: ```bash -mamba install -c conda-forge -c bioconda fastaguard +mamba install -c conda-forge -c bioconda fastaguard=0.3.0 ``` -Published BioContainers currently provides the v0.2 image: +Published BioContainers provides the pinned v0.3 image: ```text -quay.io/biocontainers/fastaguard:0.2.0--hfa8f182_0 +quay.io/biocontainers/fastaguard:0.3.0--hfa8f182_0 ``` -Do not pair that v0.2 image with the v0.3 `--gate pipeline` command below. -Run this starter with a current local v0.3 binary, or add a v0.3 container tag -after the v0.3 BioContainers image is available. - The command block is written for the v0.3 assembly gate and runs: ```bash diff --git a/examples/nf-core/modules/local/fastaguard/main.nf b/examples/nf-core/modules/local/fastaguard/main.nf index 3a69c71..9b4f86e 100644 --- a/examples/nf-core/modules/local/fastaguard/main.nf +++ b/examples/nf-core/modules/local/fastaguard/main.nf @@ -1,6 +1,7 @@ process FASTAGUARD { tag "$meta.id" label 'process_low' + container 'quay.io/biocontainers/fastaguard:0.3.0--hfa8f182_0' input: tuple val(meta), path(fasta) diff --git a/examples/snakemake/wrapper/README.md b/examples/snakemake/wrapper/README.md index 7c2febd..3eed3b9 100644 --- a/examples/snakemake/wrapper/README.md +++ b/examples/snakemake/wrapper/README.md @@ -2,15 +2,12 @@ This is a local wrapper-style starter for FastaGuard. It assumes `fastaguard` is available on `PATH`. -Published Bioconda currently provides v0.2.0: +Published Bioconda provides v0.3.0: ```bash -mamba install -c conda-forge -c bioconda fastaguard +mamba install -c conda-forge -c bioconda fastaguard=0.3.0 ``` -The v0.3 gate example below needs a current local v0.3 binary until the v0.3 -Bioconda package is published. - Run from this directory with a `sample.fa` input: ```bash @@ -27,23 +24,18 @@ That gate blocks downstream workflow steps on duplicate IDs, invalid characters, invalid FASTA structure, and high-N content. GC and length outliers remain advisory unless explicitly added with `--fail-on`. Gate failures intentionally exit with code `2` after writing reports, so downstream workflow steps stop while the JSON/HTML evidence remains available. -The wrapper also includes a v0.3 Conda environment for use after the v0.3 -Bioconda package is published: +The wrapper also includes a v0.3 Conda environment: ```bash snakemake -s Snakefile --cores 1 --use-conda ``` -For current published containerized workflow runs, the latest pinned -BioContainers image is still v0.2: +For containerized workflow runs, the latest pinned BioContainers image is: ```text -quay.io/biocontainers/fastaguard:0.2.0--hfa8f182_0 +quay.io/biocontainers/fastaguard:0.3.0--hfa8f182_0 ``` -Do not pair that v0.2 image with `--gate pipeline`; update the container tag -when a v0.3 BioContainers image is available for gate runs. - The wrapper emits: - `fastaguard_report.html` diff --git a/packaging/bioconda/README.md b/packaging/bioconda/README.md index d9f3876..3613b11 100644 --- a/packaging/bioconda/README.md +++ b/packaging/bioconda/README.md @@ -1,23 +1,23 @@ # Bioconda Recipe -Upstream Bioconda currently publishes FastaGuard v0.2.0. +Upstream Bioconda currently publishes FastaGuard v0.3.0. The recipe has been merged into `bioconda/bioconda-recipes` as `recipes/fastaguard/`, and the current published package is available from Bioconda: ```bash -mamba install -c conda-forge -c bioconda fastaguard +mamba install -c conda-forge -c bioconda fastaguard=0.3.0 ``` BioContainers publishes the pinned workflow image: ```bash -docker pull quay.io/biocontainers/fastaguard:0.2.0--hfa8f182_0 +docker pull quay.io/biocontainers/fastaguard:0.3.0--hfa8f182_0 ``` -This local recipe directory mirrors the FastaGuard v0.2.0 Bioconda recipe. The -v0.2.0 GitHub source archive is published and `meta.yaml` includes the real +This local recipe directory mirrors the FastaGuard v0.3.0 Bioconda recipe. The +v0.3.0 GitHub source archive is published and `meta.yaml` includes the real archive SHA256. ## Local Checks diff --git a/packaging/bioconda/meta.yaml b/packaging/bioconda/meta.yaml index 22364de..28f0f07 100644 --- a/packaging/bioconda/meta.yaml +++ b/packaging/bioconda/meta.yaml @@ -1,5 +1,5 @@ {% set name = "fastaguard" %} -{% set version = "0.2.0" %} +{% set version = "0.3.0" %} package: name: {{ name|lower }} @@ -7,7 +7,7 @@ package: source: url: https://github.com/ehsanestaji/FastaGuard/archive/refs/tags/v{{ version }}.tar.gz - sha256: ad1c2243a7feeb25622bd139b609de942be8219ad5f62176e8e98f46f0d155cf + sha256: 643d5d0107b6dc237f3be782a8463414880b95c45964397b773dac7e794e4fde build: number: 0 @@ -16,29 +16,36 @@ build: requirements: build: - - {{ compiler('rust') }} - {{ compiler('c') }} + - {{ compiler('rust') }} - {{ stdlib('c') }} - cargo-bundle-licenses test: commands: + - fastaguard --version | grep {{ version }} - fastaguard --help - fastaguard --schema - fastaguard --finding-catalog about: home: https://github.com/ehsanestaji/FastaGuard + license: MIT + license_family: MIT + license_file: + - LICENSE + - THIRDPARTY.yml summary: FASTA preflight QC for assembly pipelines description: | FastaGuard validates assembly FASTA files, detects structural and composition red flags, and emits pipeline-ready JSON, TSV, HTML, and MultiQC outputs before downstream analysis. - license: MIT - license_file: - - LICENSE - - THIRDPARTY.yml + dev_url: https://github.com/ehsanestaji/FastaGuard + doc_url: https://github.com/ehsanestaji/FastaGuard/blob/v{{ version }}/README.md extra: + additional-platforms: + - linux-aarch64 + - osx-arm64 recipe-maintainers: - ehsanestaji diff --git a/tests/python/test_adoption_assets.py b/tests/python/test_adoption_assets.py index 730c3ef..abf3aeb 100644 --- a/tests/python/test_adoption_assets.py +++ b/tests/python/test_adoption_assets.py @@ -75,6 +75,10 @@ def test_v0_3_gate_examples_do_not_pin_v0_2_runtimes(self): ).read_text() self.assertNotIn("0.2.0--", nf_core_module) + self.assertIn( + "quay.io/biocontainers/fastaguard:0.3.0--hfa8f182_0", + nf_core_module, + ) self.assertNotIn("fastaguard=0.2.0", wrapper_env) self.assertIn("--gate {gate}", wrapper_py) self.assertIn("Gate failures intentionally exit with code `2`", nf_core_readme) @@ -404,19 +408,20 @@ def test_workflow_docs_reference_bioconda_and_container_status(self): self.assertIn(install, nfcore_readme) self.assertIn(install, snakemake_readme) self.assertIn( - "quay.io/biocontainers/fastaguard:0.2.0--hfa8f182_0", + "quay.io/biocontainers/fastaguard:0.3.0--hfa8f182_0", nfcore_readme, ) self.assertNotIn("0.2.0--", nfcore_module) self.assertIn( - "quay.io/biocontainers/fastaguard:0.2.0--hfa8f182_0", + "quay.io/biocontainers/fastaguard:0.3.0--hfa8f182_0", snakemake_readme, ) def test_benchmarking_docs_include_v0_2_evidence_topics(self): text = (ROOT / "docs" / "benchmarking.md").read_text() - self.assertIn("## v0.2 Evidence Targets", text) + self.assertIn("## Evidence Targets", text) + self.assertIn("docs/evidence/fastaguard-v0.3-evidence.md", text) self.assertIn("duplicate IDs", text) self.assertIn("invalid characters", text) self.assertIn("high-N", text) diff --git a/tests/python/test_release_metadata.py b/tests/python/test_release_metadata.py index f67c3b7..0829ccf 100644 --- a/tests/python/test_release_metadata.py +++ b/tests/python/test_release_metadata.py @@ -15,10 +15,11 @@ def test_package_targets_v0_3_0(self): self.assertEqual(cargo["package"]["version"], "0.3.0") - def test_bioconda_recipe_remains_on_published_v0_2_0_archive(self): + def test_bioconda_recipe_tracks_published_v0_3_0_archive(self): recipe = (ROOT / "packaging" / "bioconda" / "meta.yaml").read_text() - self.assertIn('{% set version = "0.2.0" %}', recipe) + self.assertIn('{% set version = "0.3.0" %}', recipe) + self.assertIn("fastaguard --version | grep {{ version }}", recipe) def test_v0_2_0_release_notes_exist(self): notes = ROOT / "docs" / "releases" / "v0.2.0.md" @@ -42,19 +43,19 @@ def test_v0_3_0_release_notes_exist(self): self.assertIn("--gate pipeline", text) self.assertIn("input_sha256", text) - def test_bioconda_recipe_has_publishable_v0_2_0_source_sha(self): + def test_bioconda_recipe_has_publishable_v0_3_0_source_sha(self): recipe = (ROOT / "packaging" / "bioconda" / "meta.yaml").read_text() marker = "REPLACE" + "_WITH_" - self.assertTrue((ROOT / "docs" / "releases" / "v0.2.0.md").exists()) - self.assertIn('{% set version = "0.2.0" %}', recipe) + self.assertTrue((ROOT / "docs" / "releases" / "v0.3.0.md").exists()) + self.assertIn('{% set version = "0.3.0" %}', recipe) self.assertNotIn(marker, recipe) match = re.search(r"sha256: ([a-f0-9]{64})", recipe) self.assertIsNotNone(match, recipe) self.assertEqual( match.group(1), - "ad1c2243a7feeb25622bd139b609de942be8219ad5f62176e8e98f46f0d155cf", + "643d5d0107b6dc237f3be782a8463414880b95c45964397b773dac7e794e4fde", ) def test_release_ready_bioconda_recipe_requires_real_sha(self): @@ -76,7 +77,7 @@ def test_release_ready_bioconda_recipe_requires_real_sha(self): self.assertIsNotNone(match, recipe) self.assertEqual( match.group(1), - "ad1c2243a7feeb25622bd139b609de942be8219ad5f62176e8e98f46f0d155cf", + "643d5d0107b6dc237f3be782a8463414880b95c45964397b773dac7e794e4fde", ) self.assertNotIn(marker + "PUBLIC_SOURCE_ARCHIVE_SHA256", recipe) @@ -113,6 +114,8 @@ def test_bioconda_build_script_uses_portable_install(self): def test_docs_reference_published_bioconda_install(self): install_command = "mamba install -c conda-forge -c bioconda fastaguard" + pinned_install = install_command + "=0.3.0" + container = "quay.io/biocontainers/fastaguard:0.3.0--hfa8f182_0" docs = [ ROOT / "README.md", ROOT / "docs" / "packaging.md", @@ -124,6 +127,10 @@ def test_docs_reference_published_bioconda_install(self): with self.subTest(path=path): text = path.read_text() self.assertIn(install_command, text) + self.assertIn(pinned_install, text) + self.assertIn(container, text) + self.assertNotIn("under Bioconda review", text) + self.assertNotIn("does not include v0.3 gate behavior yet", text) packaging = (ROOT / "docs" / "packaging.md").read_text() self.assertNotIn("GitHub repository is private", packaging)