From 82172b5b9e2839884c4d9150a8d9f47ee2224b6e Mon Sep 17 00:00:00 2001 From: William Warriner <6930772+wwarriner@users.noreply.github.com> Date: Tue, 17 Mar 2026 18:40:38 -0500 Subject: [PATCH 01/13] update ruff - increment to v0.15.6 - update ruff config - remove test.py, vscode supports interpreter selection natively in cli --- .github/workflows/check_python.yml | 4 ++-- .pre-commit-config.yaml | 2 +- .ruff.toml | 20 +++++++++++++------- build_env.yml | 2 +- test.py | 0 5 files changed, 17 insertions(+), 11 deletions(-) delete mode 100644 test.py diff --git a/.github/workflows/check_python.yml b/.github/workflows/check_python.yml index e503edabb..81e36758a 100644 --- a/.github/workflows/check_python.yml +++ b/.github/workflows/check_python.yml @@ -24,8 +24,8 @@ jobs: matrix: args: ["check", "format --check --diff"] steps: - - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # 4.2.2 + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # 6.0.2 - uses: astral-sh/ruff-action@eaf0ecdd668ceea36159ff9d91882c9795d89b49 # 3.4.0 with: args: ${{ matrix.args }} - version: 0.12.0 + version: 0.15.6 diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 88107a765..bd76d47a8 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -13,7 +13,7 @@ repos: args: [-c, .yamllint.yaml, --strict] # check python - repo: https://github.com/astral-sh/ruff-pre-commit - rev: v0.12.0 + rev: v0.15.6 hooks: - id: ruff-check - id: ruff-format diff --git a/.ruff.toml b/.ruff.toml index f9b6e02a7..3fc890a8a 100644 --- a/.ruff.toml +++ b/.ruff.toml @@ -1,12 +1,10 @@ -exclude = ["test.py"] fix = true indent-width = 4 line-length = 88 -required-version = "==0.12.0" +required-version = ">=0.15.6" show-fixes = true [lint] -select = ["ALL"] ignore = [ "D203", # prefer conflicting D211 "D213", # prefer conflicting D212 @@ -22,10 +20,18 @@ ignore = [ "Q002", "Q003", # END ] - -[lint.per-file-ignores] -"build_scripts/*" = ["INP001"] -"verification_scripts/*" = ["INP001"] +select = ["ALL"] +per-file-ignores = { "test/*" = [ + "ANN201", + "ANN202", + "D101", + "D102", + "D100", + "PT", +], "**/*.ipynb" = [ + "T201", + "ANN401", +] } [format] indent-style = "space" diff --git a/build_env.yml b/build_env.yml index a0843c8e0..4457f3e1c 100644 --- a/build_env.yml +++ b/build_env.yml @@ -16,7 +16,7 @@ dependencies: - conda-forge::python-dateutil=2.9.0 - conda-forge::pytz=2025.2 - conda-forge::pyyaml=6.0.2 - - conda-forge::ruff=0.12.0 + - conda-forge::ruff=0.15.6 - conda-forge::setuptools=80.9.0 - conda-forge::six=1.17.0 - conda-forge::sqlite=3.50.0 diff --git a/test.py b/test.py deleted file mode 100644 index e69de29bb..000000000 From 204571f89b48f6688cd7cf88ebbd6f069ab958ae Mon Sep 17 00:00:00 2001 From: William Warriner <6930772+wwarriner@users.noreply.github.com> Date: Tue, 17 Mar 2026 18:44:47 -0500 Subject: [PATCH 02/13] update markdownlint - increment version to 0.21.0 - add rule MD060 preference - update workflow --- .github/workflows/reusable_check_markdown.yml | 4 ++-- .markdownlint.json | 4 ++++ .pre-commit-config.yaml | 2 +- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/.github/workflows/reusable_check_markdown.yml b/.github/workflows/reusable_check_markdown.yml index 31a2229e0..4f92eff78 100644 --- a/.github/workflows/reusable_check_markdown.yml +++ b/.github/workflows/reusable_check_markdown.yml @@ -28,7 +28,7 @@ jobs: permissions: contents: read steps: - - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # 4.2.2 + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # 6.0.2 - name: Configure Globs id: globs run: | @@ -50,7 +50,7 @@ jobs: echo "globs<> "$GITHUB_OUTPUT" echo "$NEWLINE_DELIMITED_GLOBS" >> "$GITHUB_OUTPUT" echo "EOF" >> "$GITHUB_OUTPUT" - - uses: DavidAnson/markdownlint-cli2-action@992badcdf24e3b8eb7e87ff9287fe931bcb00c6e # 20.0.0 + - uses: DavidAnson/markdownlint-cli2-action@07035fd053f7be764496c0f8d8f9f41f98305101 # 22.0.0 with: config: ".markdownlint-cli2.jsonc" globs: "${{ steps.globs.outputs.globs }}" diff --git a/.markdownlint.json b/.markdownlint.json index 736eb7fad..1f70435da 100644 --- a/.markdownlint.json +++ b/.markdownlint.json @@ -125,5 +125,9 @@ "above", "below" ] + }, + "MD060": { + "style": "aligned", + "aligned_delimiter": true } } diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index bd76d47a8..27c4956c6 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -1,7 +1,7 @@ repos: # check markdown - repo: https://github.com/DavidAnson/markdownlint-cli2 - rev: v0.18.1 + rev: v0.21.0 hooks: - id: markdownlint-cli2 require_serial: true From 20cd555934364727092c188d6db2607fd8fbe928 Mon Sep 17 00:00:00 2001 From: William Warriner <6930772+wwarriner@users.noreply.github.com> Date: Tue, 17 Mar 2026 18:47:10 -0500 Subject: [PATCH 03/13] update yamllint - increment to 1.38.0 - update workflow --- .github/workflows/check_yaml.yml | 2 +- .pre-commit-config.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/check_yaml.yml b/.github/workflows/check_yaml.yml index 5aef429fb..e23123239 100644 --- a/.github/workflows/check_yaml.yml +++ b/.github/workflows/check_yaml.yml @@ -23,7 +23,7 @@ jobs: permissions: contents: read steps: - - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # 4.2.2 + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # 6.0.2 - uses: karancode/yamllint-github-action@4052d365f09b8d34eb552c363d1141fd60e2aeb2 # 3.0.0 with: yamllint_config_filepath: ".yamllint.yaml" diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 27c4956c6..e891434df 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -7,7 +7,7 @@ repos: require_serial: true # check yaml - repo: https://github.com/adrienverge/yamllint - rev: v1.37.1 + rev: v1.38.0 hooks: - id: yamllint args: [-c, .yamllint.yaml, --strict] From 2bd27c0707e6cc70bbc617d258af4025934aa321 Mon Sep 17 00:00:00 2001 From: William Warriner <6930772+wwarriner@users.noreply.github.com> Date: Tue, 17 Mar 2026 18:48:08 -0500 Subject: [PATCH 04/13] update remaining workflows --- .github/shared/build_docs_pages/action.yml | 2 +- .github/workflows/check_docs.yml | 2 +- .github/workflows/deploy_docs.yml | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/shared/build_docs_pages/action.yml b/.github/shared/build_docs_pages/action.yml index a2a365304..088c49621 100644 --- a/.github/shared/build_docs_pages/action.yml +++ b/.github/shared/build_docs_pages/action.yml @@ -6,7 +6,7 @@ description: Build Docs Pages for mkdocs workflows. runs: using: composite steps: - - uses: conda-incubator/setup-miniconda@835234971496cad1653abb28a638a281cf32541f # 3.2.0 + - uses: conda-incubator/setup-miniconda@fc2d68f6413eb2d87b895e92f8584b5b94a10167 # 3.3.0 with: environment-file: build_env.yml activate-environment: mkdocs diff --git a/.github/workflows/check_docs.yml b/.github/workflows/check_docs.yml index 980c65114..8800126e7 100644 --- a/.github/workflows/check_docs.yml +++ b/.github/workflows/check_docs.yml @@ -24,7 +24,7 @@ jobs: permissions: contents: read steps: - - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # 4.2.2 + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # 6.0.2 with: fetch-depth: 0 # mkdocs-git-revision-date-localized-plugin - uses: "./.github/shared/build_docs_pages/" diff --git a/.github/workflows/deploy_docs.yml b/.github/workflows/deploy_docs.yml index 6efe7bb7b..9b63f4a9a 100644 --- a/.github/workflows/deploy_docs.yml +++ b/.github/workflows/deploy_docs.yml @@ -33,12 +33,12 @@ jobs: pages: write id-token: write steps: - - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # 4.2.2 + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # 6.0.2 with: fetch-depth: 0 # mkdocs-git-revision-date-localized-plugin - uses: "./.github/shared/build_docs_pages/" - uses: actions/configure-pages@983d7736d9b0ae728b81ab479565c72886d7745b # 5.0.0 - - uses: actions/upload-pages-artifact@56afc609e74202658d3ffba0e8f6dda462b719fa # 3.0.1 + - uses: actions/upload-pages-artifact@7b1f4a764d45c48632c6b24a0339c27f5614fb0b # 4.0.0 with: path: "./site" - uses: actions/deploy-pages@d6db90164ac5ed86f2b6aed7e0febac5b3c0c03e # 4.0.5 From cfd6b1fcf84e3dda92d1652b7dbad8292fcf97ab Mon Sep 17 00:00:00 2001 From: William Warriner <6930772+wwarriner@users.noreply.github.com> Date: Tue, 17 Mar 2026 18:49:20 -0500 Subject: [PATCH 05/13] update environment - increment versions - remove auto packages - push critical requirements into pip - split build from dev --- build_env-final.yml | 9 +++++++++ requirements-build.txt | 13 +++++++++++++ requirements-dev.txt | 9 +++++++++ 3 files changed, 31 insertions(+) create mode 100644 build_env-final.yml create mode 100644 requirements-build.txt create mode 100644 requirements-dev.txt diff --git a/build_env-final.yml b/build_env-final.yml new file mode 100644 index 000000000..02aa41d02 --- /dev/null +++ b/build_env-final.yml @@ -0,0 +1,9 @@ +name: mkdocs +dependencies: + - conda-forge::libffi=3.5.2 + - conda-forge::pandoc=3.7.0.2 + - conda-forge::pip=26.0.1 + - conda-forge::python=3.13.12 + - pip: # + - -r requirements-build.txt + - -r requirements-dev.txt diff --git a/requirements-build.txt b/requirements-build.txt new file mode 100644 index 000000000..f33683f51 --- /dev/null +++ b/requirements-build.txt @@ -0,0 +1,13 @@ +jinja2==3.1.6 +jinja2-workarounds==0.1.0 +markdown==3.10.2 +markupsafe==3.0.3 # not semver, be cautious +mkdocs-glightbox==0.5.2 +mkdocs-git-revision-date-localized-plugin==1.5.1 +mkdocs-material==9.7.5 +mkdocs-redirects==1.2.2 +mkdocs-table-reader-plugin==3.1.0 +pymdown-extensions==10.21 +git+https://github.com/wwarriner/mkdocs-macros-plugin@d445c98dcc14ecae48ddf53b4758f3942ed706b8 +git+https://github.com/uabrc/mkdocs@888fd28f92a320352f63600c24635231a42e5fac +git+https://github.com/uabrc/mkdocs-title-casing-plugin.git@stable diff --git a/requirements-dev.txt b/requirements-dev.txt new file mode 100644 index 000000000..080c56d0d --- /dev/null +++ b/requirements-dev.txt @@ -0,0 +1,9 @@ +attrs==25.4.0 +linkchecker==10.6.0 +mkdocs-gen-files==0.6.1 +pandas==2.3.3 +pre-commit==4.5.1 +pypandoc==1.17 +pyyaml==6.0.3 +ruff==0.15.6 +yamllint==1.38.0 From 7b79f9285f00a64e4abd8a15dc30f413f7bab8b5 Mon Sep 17 00:00:00 2001 From: William Warriner <6930772+wwarriner@users.noreply.github.com> Date: Tue, 17 Mar 2026 19:52:05 -0500 Subject: [PATCH 06/13] fix pre-commit errors --- .../posts/2025-10-07-migration-overview.md | 36 +++++++++---------- macros/__init__.py | 4 ++- macros/render.py | 10 +++--- scripts/__init__.py | 1 - 4 files changed, 27 insertions(+), 24 deletions(-) diff --git a/docs/news/posts/2025-10-07-migration-overview.md b/docs/news/posts/2025-10-07-migration-overview.md index e074bc659..aa739d882 100644 --- a/docs/news/posts/2025-10-07-migration-overview.md +++ b/docs/news/posts/2025-10-07-migration-overview.md @@ -153,13 +153,13 @@ Compute nodes are only able to run jobs from one of GPFS 4 or GPFS 5 so compute **Current GPFS 5 Compute Capacity Pre-Migration**: -| Partition | Available Nodes | Notes | -|---|---|---| -| mainline | 20 (2560 cores) | Include AMD CPUs. See the [list of changes](#changes-to-mainline-partitions) for details | -| pascalnodes | 0 | All pascalnodes will be moved during the 1st compute migration | -| amperenodes | 5 (10 A100s) | 10 amperenodes will be added during the 1st compute migration with the remaining 5 added once the migration completes | -| amperenodes-medium | 1 (2 A100s) | Nodes will be added to the amperenodes-medium partition during both compute migrations | -| largemem | 0 | largemem and largmem-long nodes will remain on GPFS 4 until the full migration completes. If you require access to the 1.5 TiB RAM nodes, contact support | +| Partition | Available Nodes | Notes | +|--------------------|-----------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------| +| mainline | 20 (2560 cores) | Include AMD CPUs. See the [list of changes](#changes-to-mainline-partitions) for details | +| pascalnodes | 0 | All pascalnodes will be moved during the 1st compute migration | +| amperenodes | 5 (10 A100s) | 10 amperenodes will be added during the 1st compute migration with the remaining 5 added once the migration completes | +| amperenodes-medium | 1 (2 A100s) | Nodes will be added to the amperenodes-medium partition during both compute migrations | +| largemem | 0 | largemem and largmem-long nodes will remain on GPFS 4 until the full migration completes. If you require access to the 1.5 TiB RAM nodes, contact support | #### Changes to Mainline Partitions @@ -190,17 +190,17 @@ To best accomodate workload for both migrated and not-yet-migrated users, comput **50% Migration Completion**: -| Partition | GPFS 4 Nodes | GPFS 5 Nodes | Notes | -|---|---|---|---| -| mainline | 25 | 68 | GPFS 4 mainline partitions will use the remaining largemem and amd-hdr100 nodes. Mixed Intel and AMD hardware on both GPFS 4 and GPFS 5 | -| pascalnodes | 0 | 17 | | -| pascalnodes-medium | 0 | 8 | | -| amperenodes | 5 (10 A100s) | 15 (30 A100s) | | -| amperenodes-medium | 1 (2 A100s) | 7 (14 A100s) | | -| largemem | 13 | 0 | Shared with mainline partitions | -| largemem-long | 5 | 0 | Shared with mainline partitions | -| amd-hdr100 | 12 | 20 | Shared with mainline partitions | -| intel-dcb | 9 | 0 | | +| Partition | GPFS 4 Nodes | GPFS 5 Nodes | Notes | +|--------------------|--------------|---------------|-----------------------------------------------------------------------------------------------------------------------------------------| +| mainline | 25 | 68 | GPFS 4 mainline partitions will use the remaining largemem and amd-hdr100 nodes. Mixed Intel and AMD hardware on both GPFS 4 and GPFS 5 | +| pascalnodes | 0 | 17 | | +| pascalnodes-medium | 0 | 8 | | +| amperenodes | 5 (10 A100s) | 15 (30 A100s) | | +| amperenodes-medium | 1 (2 A100s) | 7 (14 A100s) | | +| largemem | 13 | 0 | Shared with mainline partitions | +| largemem-long | 5 | 0 | Shared with mainline partitions | +| amd-hdr100 | 12 | 20 | Shared with mainline partitions | +| intel-dcb | 9 | 0 | | #### Effects on Queue Times diff --git a/macros/__init__.py b/macros/__init__.py index e2bb8bc45..c473ee01c 100644 --- a/macros/__init__.py +++ b/macros/__init__.py @@ -3,7 +3,7 @@ from __future__ import annotations from pathlib import Path, PurePath -from typing import TYPE_CHECKING, Callable +from typing import TYPE_CHECKING import yaml @@ -13,6 +13,8 @@ from .render import CardRenderer if TYPE_CHECKING: + from collections.abc import Callable + from mkdocs.structure.pages import Page from mkdocs_macros.plugin import MacrosPlugin diff --git a/macros/render.py b/macros/render.py index ba2126d70..3f9429508 100644 --- a/macros/render.py +++ b/macros/render.py @@ -4,12 +4,14 @@ import textwrap from pathlib import PurePath -from typing import TYPE_CHECKING, Callable +from typing import TYPE_CHECKING from macros.card import Card, CardNamespace, EmojiSizesCss, EmojiVerticalAlignmentCss from macros.util import normalize_page_link if TYPE_CHECKING: + from collections.abc import Callable + from mkdocs.structure.pages import Page @@ -145,7 +147,7 @@ def _icon_vertical_alignment(self) -> str: def _icon_color(self) -> str: color = self._card.icon_color - return color if color else self._DEFAULT_ICON_COLOR + return color or self._DEFAULT_ICON_COLOR #### CONTENT PART def _content_part(self) -> str | None: @@ -159,11 +161,11 @@ def _link_part(self) -> str | None: def _link_text(self) -> str: text = self._card.link_text - return text if text else self._DEFAULT_LINK_TEXT + return text or self._DEFAULT_LINK_TEXT def _link_icon(self) -> str: name = self._card.link_icon_name - return name if name else self._DEFAULT_LINK_ICON_NAME + return name or self._DEFAULT_LINK_ICON_NAME def _link_url(self) -> str | None: url = self._card.link_url diff --git a/scripts/__init__.py b/scripts/__init__.py index 6e031999e..e69de29bb 100644 --- a/scripts/__init__.py +++ b/scripts/__init__.py @@ -1 +0,0 @@ -# noqa: D104 From d7b7976d73e2e6a2e1b8ac863753d459d69fcc6d Mon Sep 17 00:00:00 2001 From: William Warriner <6930772+wwarriner@users.noreply.github.com> Date: Tue, 17 Mar 2026 19:54:58 -0500 Subject: [PATCH 07/13] fix conda build env --- build_env-final.yml | 9 --------- build_env.yml | 45 ++++++--------------------------------------- 2 files changed, 6 insertions(+), 48 deletions(-) delete mode 100644 build_env-final.yml diff --git a/build_env-final.yml b/build_env-final.yml deleted file mode 100644 index 02aa41d02..000000000 --- a/build_env-final.yml +++ /dev/null @@ -1,9 +0,0 @@ -name: mkdocs -dependencies: - - conda-forge::libffi=3.5.2 - - conda-forge::pandoc=3.7.0.2 - - conda-forge::pip=26.0.1 - - conda-forge::python=3.13.12 - - pip: # - - -r requirements-build.txt - - -r requirements-dev.txt diff --git a/build_env.yml b/build_env.yml index 4457f3e1c..02aa41d02 100644 --- a/build_env.yml +++ b/build_env.yml @@ -1,42 +1,9 @@ name: mkdocs dependencies: - - conda-forge::click=8.2.1 - - conda-forge::jinja2=3.1.6 - - conda-forge::libffi=3.4.6 - - conda-forge::markupsafe=3.0.2 # Not semver, be cautious - - conda-forge::mergedeep=1.3.4 - - conda-forge::numpy=2.2.6 - - conda-forge::pandas=2.3.0 + - conda-forge::libffi=3.5.2 - conda-forge::pandoc=3.7.0.2 - - conda-forge::pip=25.1.1 - - conda-forge::pygments=2.19.1 - - conda-forge::pypandoc=1.15 - - conda-forge::pyparsing=3.0.9 - - conda-forge::python=3.13.3 - - conda-forge::python-dateutil=2.9.0 - - conda-forge::pytz=2025.2 - - conda-forge::pyyaml=6.0.2 - - conda-forge::ruff=0.15.6 - - conda-forge::setuptools=80.9.0 - - conda-forge::six=1.17.0 - - conda-forge::sqlite=3.50.0 - - conda-forge::tabulate=0.9.0 - - conda-forge::tk=8.6.13 - - conda-forge::xz=5.8.1 - - conda-forge::yaml=0.2.5 - - conda-forge::yamllint=1.37.1 - - pip: - - jinja2-workarounds==0.1.0 - - markdown==3.8.0 - - mkdocs-gen-files==0.5.0 - - mkdocs-glightbox==0.3.7 - - mkdocs-git-revision-date-localized-plugin==1.2.6 - - mkdocs-material==9.6.14 - - mkdocs-redirects==1.2.1 - - mkdocs-table-reader-plugin==3.1.0 - - linkchecker==10.4.0 - - pre-commit==3.7.1 - - pymdown-extensions==10.8.1 # Not semver, be cautious - - git+https://github.com/wwarriner/mkdocs-macros-plugin@d445c98dcc14ecae48ddf53b4758f3942ed706b8 - - git+https://github.com/uabrc/mkdocs@888fd28f92a320352f63600c24635231a42e5fac # new - - git+https://github.com/uabrc/mkdocs-title-casing-plugin.git@stable + - conda-forge::pip=26.0.1 + - conda-forge::python=3.13.12 + - pip: # + - -r requirements-build.txt + - -r requirements-dev.txt From ab1f32fe39509b4a292e58cf03afd920fc28a428 Mon Sep 17 00:00:00 2001 From: William Warriner <6930772+wwarriner@users.noreply.github.com> Date: Tue, 17 Mar 2026 20:02:11 -0500 Subject: [PATCH 08/13] fix ruff issues --- .pre-commit-config.yaml | 1 + .ruff.toml | 2 ++ verification_scripts/__init__.py | 0 verification_scripts/linkchecker.py | 2 +- 4 files changed, 4 insertions(+), 1 deletion(-) create mode 100644 verification_scripts/__init__.py diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index e891434df..f4d5ce6d7 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -17,6 +17,7 @@ repos: hooks: - id: ruff-check - id: ruff-format + args: [--check, --diff] # check mkdocs-specific issues - repo: local hooks: diff --git a/.ruff.toml b/.ruff.toml index 3fc890a8a..45ab4afd2 100644 --- a/.ruff.toml +++ b/.ruff.toml @@ -31,6 +31,8 @@ per-file-ignores = { "test/*" = [ ], "**/*.ipynb" = [ "T201", "ANN401", +], "**/__init__.py" = [ + "D104", ] } [format] diff --git a/verification_scripts/__init__.py b/verification_scripts/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/verification_scripts/linkchecker.py b/verification_scripts/linkchecker.py index e64eff52c..4216fb778 100644 --- a/verification_scripts/linkchecker.py +++ b/verification_scripts/linkchecker.py @@ -126,7 +126,7 @@ def modify_file_uris(_s: pd.Series) -> pd.Series: splits = _s.str.split("repos/uabrc.github.io", expand=True) fixes = splits.iloc[:, -1][keep] - fixes = fixes.apply(lambda x: PurePath(x)) # pyright: ignore[reportCallIssue,reportArgumentType] + fixes = fixes.apply(PurePath) # pyright: ignore[reportCallIssue,reportArgumentType] fixes = fixes.astype(str) fixes = fixes.str.lstrip(os.sep) From ba1efe53ff7a13e35711266d2beaf627e7449339 Mon Sep 17 00:00:00 2001 From: William Warriner <6930772+wwarriner@users.noreply.github.com> Date: Thu, 9 Apr 2026 18:26:14 -0500 Subject: [PATCH 09/13] fix separation of environments --- .github/shared/build_docs_pages/action.yml | 4 ++-- .github/workflows/check_docs.yml | 2 +- .pre-commit-config.yaml | 2 +- env_build.yml | 6 ++++++ build_env.yml => env_dev.yml | 4 +--- requirements-build.txt | 4 +++- requirements-dev.txt | 2 -- 7 files changed, 14 insertions(+), 10 deletions(-) create mode 100644 env_build.yml rename build_env.yml => env_dev.yml (67%) diff --git a/.github/shared/build_docs_pages/action.yml b/.github/shared/build_docs_pages/action.yml index 088c49621..96b6a234a 100644 --- a/.github/shared/build_docs_pages/action.yml +++ b/.github/shared/build_docs_pages/action.yml @@ -8,8 +8,8 @@ runs: steps: - uses: conda-incubator/setup-miniconda@fc2d68f6413eb2d87b895e92f8584b5b94a10167 # 3.3.0 with: - environment-file: build_env.yml - activate-environment: mkdocs + environment-file: env_build.yml + activate-environment: mkdocs-build miniforge-version: latest - name: Build Pages # this is both a build and check step diff --git a/.github/workflows/check_docs.yml b/.github/workflows/check_docs.yml index 8800126e7..3938b6fe6 100644 --- a/.github/workflows/check_docs.yml +++ b/.github/workflows/check_docs.yml @@ -7,7 +7,7 @@ on: # yamllint disable-line rule:truthy branches: - main paths: - - "build_env.yml" + - "env_build.yml" - "mkdocs.yml" - "build_scripts/**" - "docs/**" diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index f4d5ce6d7..c433ec7c1 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -23,7 +23,7 @@ repos: hooks: - id: mkdocs-build name: Build documentation - entry: conda run -n mkdocs mkdocs build --strict + entry: conda run -n mkdocs-build mkdocs build --strict language: system always_run: true pass_filenames: false diff --git a/env_build.yml b/env_build.yml new file mode 100644 index 000000000..416dfa4da --- /dev/null +++ b/env_build.yml @@ -0,0 +1,6 @@ +name: mkdocs-build +dependencies: + - conda-forge::pip=26.0.1 + - conda-forge::python=3.13.12 + - pip: + - -r requirements-build.txt diff --git a/build_env.yml b/env_dev.yml similarity index 67% rename from build_env.yml rename to env_dev.yml index 02aa41d02..3452d13c6 100644 --- a/build_env.yml +++ b/env_dev.yml @@ -1,9 +1,7 @@ name: mkdocs dependencies: - - conda-forge::libffi=3.5.2 - - conda-forge::pandoc=3.7.0.2 - conda-forge::pip=26.0.1 - conda-forge::python=3.13.12 - - pip: # + - pip: - -r requirements-build.txt - -r requirements-dev.txt diff --git a/requirements-build.txt b/requirements-build.txt index f33683f51..19d87b4d4 100644 --- a/requirements-build.txt +++ b/requirements-build.txt @@ -2,12 +2,14 @@ jinja2==3.1.6 jinja2-workarounds==0.1.0 markdown==3.10.2 markupsafe==3.0.3 # not semver, be cautious +mkdocs-gen-files==0.6.1 mkdocs-glightbox==0.5.2 mkdocs-git-revision-date-localized-plugin==1.5.1 mkdocs-material==9.7.5 mkdocs-redirects==1.2.2 mkdocs-table-reader-plugin==3.1.0 -pymdown-extensions==10.21 +pymdown-extensions==10.21.2 +pypandoc-binary==1.17 git+https://github.com/wwarriner/mkdocs-macros-plugin@d445c98dcc14ecae48ddf53b4758f3942ed706b8 git+https://github.com/uabrc/mkdocs@888fd28f92a320352f63600c24635231a42e5fac git+https://github.com/uabrc/mkdocs-title-casing-plugin.git@stable diff --git a/requirements-dev.txt b/requirements-dev.txt index 080c56d0d..4ddf15abc 100644 --- a/requirements-dev.txt +++ b/requirements-dev.txt @@ -1,9 +1,7 @@ attrs==25.4.0 linkchecker==10.6.0 -mkdocs-gen-files==0.6.1 pandas==2.3.3 pre-commit==4.5.1 -pypandoc==1.17 pyyaml==6.0.3 ruff==0.15.6 yamllint==1.38.0 From ec6757071b900886ef53f5f27820039de05706ac Mon Sep 17 00:00:00 2001 From: William Warriner <6930772+wwarriner@users.noreply.github.com> Date: Thu, 9 Apr 2026 18:41:06 -0500 Subject: [PATCH 10/13] all changes trigger deploy --- .github/workflows/deploy_docs.yml | 5 ----- 1 file changed, 5 deletions(-) diff --git a/.github/workflows/deploy_docs.yml b/.github/workflows/deploy_docs.yml index 9b63f4a9a..7c565d101 100644 --- a/.github/workflows/deploy_docs.yml +++ b/.github/workflows/deploy_docs.yml @@ -6,11 +6,6 @@ on: # yamllint disable-line rule:truthy push: branches: - main - paths: - - "build_env.yml" - - "mkdocs.yml" - - "build_scripts/**" - - "docs/**" workflow_dispatch: # enables manual docs deployment in case of GitHub service issue concurrency: From 37117e1371d3d4ad284f157ecf22eef5c3cd325c Mon Sep 17 00:00:00 2001 From: William Warriner <6930772+wwarriner@users.noreply.github.com> Date: Thu, 9 Apr 2026 18:41:49 -0500 Subject: [PATCH 11/13] cleanup --- .github/workflows/reusable_check_markdown.yml | 2 +- .gitignore | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/.github/workflows/reusable_check_markdown.yml b/.github/workflows/reusable_check_markdown.yml index 4f92eff78..e1250f783 100644 --- a/.github/workflows/reusable_check_markdown.yml +++ b/.github/workflows/reusable_check_markdown.yml @@ -9,7 +9,7 @@ on: # yamllint disable-line rule:truthy - main paths: - "**.md" - - "!docs/**" # covered by check_docs.yml + - "!docs/**" # covered by deploy_docs.yml pull_request: branches: - main diff --git a/.gitignore b/.gitignore index b52314e11..6a3f10b1d 100644 --- a/.gitignore +++ b/.gitignore @@ -271,6 +271,5 @@ $RECYCLE.BIN/ # Custom rules (everything added below won't be overriden by 'Generate .gitignore File' if you use 'Update' option) -site/ -test.py out/ +site/ From f0079597da1e5aafe0a33730845a590a76a10d88 Mon Sep 17 00:00:00 2001 From: William Warriner <6930772+wwarriner@users.noreply.github.com> Date: Thu, 9 Apr 2026 18:42:17 -0500 Subject: [PATCH 12/13] improve yamllint ignore --- .yamllint-ignore | 1 + .yamllint.yaml | 11 +++++------ 2 files changed, 6 insertions(+), 6 deletions(-) create mode 100644 .yamllint-ignore diff --git a/.yamllint-ignore b/.yamllint-ignore new file mode 100644 index 000000000..b57f89055 --- /dev/null +++ b/.yamllint-ignore @@ -0,0 +1 @@ +theme/ diff --git a/.yamllint.yaml b/.yamllint.yaml index 4f50ae545..c324fa7ad 100644 --- a/.yamllint.yaml +++ b/.yamllint.yaml @@ -1,7 +1,6 @@ yaml-files: - - "*.yaml" - - "*.yml" - - ".yamllint" + - "**.yaml" + - "**.yml" rules: anchors: enable @@ -34,6 +33,6 @@ rules: truthy: level: warning -ignore: - - .git/ - - site/ +ignore-from-file: + - .gitignore + - .yamllint-ignore From 283eeff32ba9f171e7c0dda54305c67604314d4c Mon Sep 17 00:00:00 2001 From: William Warriner <6930772+wwarriner@users.noreply.github.com> Date: Mon, 27 Apr 2026 17:05:27 -0500 Subject: [PATCH 13/13] moved pyyaml from dev to build --- requirements-build.txt | 1 + requirements-dev.txt | 1 - 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements-build.txt b/requirements-build.txt index 19d87b4d4..79692119b 100644 --- a/requirements-build.txt +++ b/requirements-build.txt @@ -10,6 +10,7 @@ mkdocs-redirects==1.2.2 mkdocs-table-reader-plugin==3.1.0 pymdown-extensions==10.21.2 pypandoc-binary==1.17 +pyyaml==6.0.3 git+https://github.com/wwarriner/mkdocs-macros-plugin@d445c98dcc14ecae48ddf53b4758f3942ed706b8 git+https://github.com/uabrc/mkdocs@888fd28f92a320352f63600c24635231a42e5fac git+https://github.com/uabrc/mkdocs-title-casing-plugin.git@stable diff --git a/requirements-dev.txt b/requirements-dev.txt index 4ddf15abc..6f6e1494b 100644 --- a/requirements-dev.txt +++ b/requirements-dev.txt @@ -2,6 +2,5 @@ attrs==25.4.0 linkchecker==10.6.0 pandas==2.3.3 pre-commit==4.5.1 -pyyaml==6.0.3 ruff==0.15.6 yamllint==1.38.0