From b43131c2d093c476e20e9594313f20dcc451983d Mon Sep 17 00:00:00 2001 From: Davis Vann Bennett Date: Wed, 29 Jul 2026 20:49:58 +0200 Subject: [PATCH 1/4] docs(zarr-metadata): point the site's repo link at the package directory The material header source widget linked to the zarr-python repository root, presenting the site as zarr-python's. Link the package directory and label it zarr-python/packages/zarr-metadata instead. edit_uri becomes absolute because mkdocs would append it to repo_url's subpath. Assisted-by: ClaudeCode:claude-fable-5 --- packages/zarr-metadata/mkdocs.yml | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/packages/zarr-metadata/mkdocs.yml b/packages/zarr-metadata/mkdocs.yml index 40912d6251..fc54597230 100644 --- a/packages/zarr-metadata/mkdocs.yml +++ b/packages/zarr-metadata/mkdocs.yml @@ -1,7 +1,10 @@ site_name: zarr-metadata -repo_name: zarr-developers/zarr-python -repo_url: https://github.com/zarr-developers/zarr-python -edit_uri: edit/main/packages/zarr-metadata/docs/ +# The package lives in the zarr-python monorepo; point the header source +# widget at the package directory rather than the repository root. +repo_name: zarr-python/packages/zarr-metadata +repo_url: https://github.com/zarr-developers/zarr-python/tree/main/packages/zarr-metadata +# Absolute because mkdocs would otherwise append this to repo_url's subpath. +edit_uri: https://github.com/zarr-developers/zarr-python/edit/main/packages/zarr-metadata/docs/ site_description: Spec-defined metadata types, models, and validators for Zarr v2 and v3. site_author: Davis Bennett site_url: !ENV [READTHEDOCS_CANONICAL_URL, 'https://zarr-metadata.readthedocs.io/'] From f2cfb55fc15ccabcb5bcdf51ae0189e46af2be9d Mon Sep 17 00:00:00 2001 From: Davis Vann Bennett Date: Wed, 29 Jul 2026 21:08:30 +0200 Subject: [PATCH 2/4] docs(zarr-metadata): drop redundant frontmatter title on the homepage Material appends the site name to explicit frontmatter titles, so the homepage browser title rendered as 'zarr-metadata - zarr-metadata'. Without the frontmatter it falls back to the site name alone. Assisted-by: ClaudeCode:claude-fable-5 --- packages/zarr-metadata/docs/index.md | 4 ---- 1 file changed, 4 deletions(-) diff --git a/packages/zarr-metadata/docs/index.md b/packages/zarr-metadata/docs/index.md index 2004f2dc54..58e4f290c6 100644 --- a/packages/zarr-metadata/docs/index.md +++ b/packages/zarr-metadata/docs/index.md @@ -1,7 +1,3 @@ ---- -title: zarr-metadata ---- - # zarr-metadata Basic tools for modelling Zarr metadata, with minimal dependencies. From b7b25bcb5b0416640a2e87ae84bff3912c059610 Mon Sep 17 00:00:00 2001 From: Davis Vann Bennett Date: Wed, 29 Jul 2026 21:12:56 +0200 Subject: [PATCH 3/4] docs(zarr-metadata): skip unrelated RTD PR builds; add site logo and favicon Both Read the Docs projects rebuilt on every pull request regardless of what changed. Each config now cancels PR builds via exit code 183 when the diff against origin/main does not touch its half of the repo: the zarr-metadata project skips PRs that leave packages/zarr-metadata untouched, and the zarr-python project skips PRs confined to it. Scoped to external versions because origin/main is only a meaningful diff base for PR builds. The package site also gets the zarr logo and favicon, copied from the zarr-python docs, instead of stock Material icons. Assisted-by: ClaudeCode:claude-fable-5 --- .readthedocs.yaml | 11 +++++++++++ packages/zarr-metadata/.readthedocs.yaml | 10 ++++++++++ .../docs/_static/favicon-96x96.png | Bin 0 -> 12714 bytes packages/zarr-metadata/docs/_static/logo_bw.png | Bin 0 -> 45208 bytes packages/zarr-metadata/mkdocs.yml | 2 ++ 5 files changed, 23 insertions(+) create mode 100644 packages/zarr-metadata/docs/_static/favicon-96x96.png create mode 100644 packages/zarr-metadata/docs/_static/logo_bw.png diff --git a/.readthedocs.yaml b/.readthedocs.yaml index 1edd099ebd..1551cd45dd 100644 --- a/.readthedocs.yaml +++ b/.readthedocs.yaml @@ -5,6 +5,17 @@ build: tools: python: "3.12" jobs: + post_checkout: + # Cancel pull request builds whose changes are confined to the + # zarr-metadata package, which has its own Read the Docs project. Exit + # code 183 cancels the build and reports success to the Git provider. + # Scoped to PR builds ("external" versions) because origin/main is only + # a meaningful diff base there. + - | + if [ "$READTHEDOCS_VERSION_TYPE" = "external" ] && git diff --quiet origin/main -- ':(exclude)packages/zarr-metadata'; + then + exit 183; + fi install: - pip install --upgrade pip - pip install .[remote] --group docs diff --git a/packages/zarr-metadata/.readthedocs.yaml b/packages/zarr-metadata/.readthedocs.yaml index b89846f570..ace6ccddfd 100644 --- a/packages/zarr-metadata/.readthedocs.yaml +++ b/packages/zarr-metadata/.readthedocs.yaml @@ -9,6 +9,16 @@ build: tools: python: "3.12" jobs: + post_checkout: + # Cancel pull request builds that do not touch this package. Exit code + # 183 cancels the build and reports success to the Git provider. Scoped + # to PR builds ("external" versions) because origin/main is only a + # meaningful diff base there. + - | + if [ "$READTHEDOCS_VERSION_TYPE" = "external" ] && git diff --quiet origin/main -- packages/zarr-metadata; + then + exit 183; + fi install: - pip install --upgrade pip - pip install ./packages/zarr-metadata --group packages/zarr-metadata/pyproject.toml:docs diff --git a/packages/zarr-metadata/docs/_static/favicon-96x96.png b/packages/zarr-metadata/docs/_static/favicon-96x96.png new file mode 100644 index 0000000000000000000000000000000000000000..e77977ccf41426c35a768ea73ed20e05d2676dd5 GIT binary patch literal 12714 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 literal 0 HcmV?d00001 diff --git a/packages/zarr-metadata/docs/_static/logo_bw.png b/packages/zarr-metadata/docs/_static/logo_bw.png new file mode 100644 index 0000000000000000000000000000000000000000..df1979d3cc3317a36feaf5e7aab7c32998bdbfc7 GIT binary patch literal 45208 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 Date: Wed, 29 Jul 2026 21:21:51 +0200 Subject: [PATCH 4/4] fix(docs): quote-free exclude pathspec in RTD build-skip rule Read the Docs strips shell quoting from build commands, so the quoted ':(exclude)packages/zarr-metadata' pathspec reached /bin/sh unquoted and the bare parenthesis was a syntax error, failing every zarr PR build. Use git's quote-free :! exclude form, which survives the stripping; reproduced the mangling and verified both forms against dash locally. Assisted-by: ClaudeCode:claude-fable-5 --- .readthedocs.yaml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.readthedocs.yaml b/.readthedocs.yaml index 1551cd45dd..55b5d6fed0 100644 --- a/.readthedocs.yaml +++ b/.readthedocs.yaml @@ -10,9 +10,11 @@ build: # zarr-metadata package, which has its own Read the Docs project. Exit # code 183 cancels the build and reports success to the Git provider. # Scoped to PR builds ("external" versions) because origin/main is only - # a meaningful diff base there. + # a meaningful diff base there. Read the Docs strips shell quoting from + # commands, so the exclude pathspec must use the quote-free :! form, + # not ':(exclude)'. - | - if [ "$READTHEDOCS_VERSION_TYPE" = "external" ] && git diff --quiet origin/main -- ':(exclude)packages/zarr-metadata'; + if [ "$READTHEDOCS_VERSION_TYPE" = "external" ] && git diff --quiet origin/main -- :!packages/zarr-metadata; then exit 183; fi