From bd7a736b9a6a194e0d0ce1cd258a19bfef481e1f Mon Sep 17 00:00:00 2001 From: Your Name Date: Wed, 13 Aug 2025 05:45:57 +0900 Subject: [PATCH 01/13] Update GitHub Actions workflow to use uv instead of pip Replace actions/setup-python with astral-sh/setup-uv for faster package installation and better dependency resolution in the documentation build. --- .github/workflows/doc.yml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/.github/workflows/doc.yml b/.github/workflows/doc.yml index 054c1fad2e..ce1f451aa3 100644 --- a/.github/workflows/doc.yml +++ b/.github/workflows/doc.yml @@ -32,10 +32,9 @@ jobs: fetch-depth: 0 persist-credentials: false - - uses: actions/setup-python@v5 + - uses: astral-sh/setup-uv@v5 with: python-version: "3.12" - cache: "pip" - name: Install OS Packages run: | @@ -49,7 +48,7 @@ jobs: - name: Install Dependencies run: | sudo apt -y install libgeos-dev - pip install -e .[docs] + uv pip install -e .[docs] - name: PyVista Report run: | From 7b12ce0f6d12dda3da9a7acb9cd540fddb178ba3 Mon Sep 17 00:00:00 2001 From: Your Name Date: Wed, 13 Aug 2025 05:49:02 +0900 Subject: [PATCH 02/13] Pin setup-uv action to specific commit hash Fix pre-commit.ci error by using commit hash instead of floating tag reference. --- .github/workflows/doc.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/doc.yml b/.github/workflows/doc.yml index ce1f451aa3..ddda6073fd 100644 --- a/.github/workflows/doc.yml +++ b/.github/workflows/doc.yml @@ -32,7 +32,7 @@ jobs: fetch-depth: 0 persist-credentials: false - - uses: astral-sh/setup-uv@v5 + - uses: astral-sh/setup-uv@e92bafb6253dcd438e0484186d7669ea7a8ca1cc with: python-version: "3.12" From 08e580db2afda2b05288526a87add6a75b9a9b44 Mon Sep 17 00:00:00 2001 From: Your Name Date: Wed, 13 Aug 2025 08:51:21 +0900 Subject: [PATCH 03/13] Fix uv pip install in GitHub Actions workflow Add --system flag to uv pip install command to enable global package installation in the GitHub Actions environment where no virtual environment is active. --- .github/workflows/doc.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/doc.yml b/.github/workflows/doc.yml index ddda6073fd..dfe4904f43 100644 --- a/.github/workflows/doc.yml +++ b/.github/workflows/doc.yml @@ -48,7 +48,7 @@ jobs: - name: Install Dependencies run: | sudo apt -y install libgeos-dev - uv pip install -e .[docs] + uv pip install --system -e .[docs] - name: PyVista Report run: | From 177ad5318c427c7729ee53751a474f78ac6c5615 Mon Sep 17 00:00:00 2001 From: Your Name Date: Thu, 14 Aug 2025 06:14:01 +0900 Subject: [PATCH 04/13] Fix uv pip install syntax in GitHub Actions workflow MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Change -e to --editable flag for uv pip install command to fix CI build failures in the documentation workflow. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude --- .github/workflows/doc.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/doc.yml b/.github/workflows/doc.yml index dfe4904f43..ea88468114 100644 --- a/.github/workflows/doc.yml +++ b/.github/workflows/doc.yml @@ -48,7 +48,7 @@ jobs: - name: Install Dependencies run: | sudo apt -y install libgeos-dev - uv pip install --system -e .[docs] + uv pip install --system --editable .[docs] - name: PyVista Report run: | From 3598c74791ef80e366591c717f49a2c20210337b Mon Sep 17 00:00:00 2001 From: Your Name Date: Thu, 14 Aug 2025 08:38:44 +0900 Subject: [PATCH 05/13] Fix shell globbing issue in uv pip install command MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Quote the .[docs] argument to prevent shell glob expansion that was causing CI failures. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude --- .github/workflows/doc.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/doc.yml b/.github/workflows/doc.yml index ea88468114..171143df52 100644 --- a/.github/workflows/doc.yml +++ b/.github/workflows/doc.yml @@ -48,7 +48,7 @@ jobs: - name: Install Dependencies run: | sudo apt -y install libgeos-dev - uv pip install --system --editable .[docs] + uv pip install --system --editable ".[docs]" - name: PyVista Report run: | From 722cd7d8cd81da577f309d5ece6198d03a816321 Mon Sep 17 00:00:00 2001 From: Your Name Date: Sat, 16 Aug 2025 04:41:53 +0900 Subject: [PATCH 06/13] Add --break-system-packages flag for externally managed Python MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Ubuntu 24.04 uses externally managed Python (PEP 668) which requires the --break-system-packages flag for system-wide package installation. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude --- .github/workflows/doc.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/doc.yml b/.github/workflows/doc.yml index 171143df52..f1e60427b9 100644 --- a/.github/workflows/doc.yml +++ b/.github/workflows/doc.yml @@ -48,7 +48,7 @@ jobs: - name: Install Dependencies run: | sudo apt -y install libgeos-dev - uv pip install --system --editable ".[docs]" + uv pip install --system --break-system-packages --editable ".[docs]" - name: PyVista Report run: | From eda291b420d24386d94883ee8865b3feb39a006b Mon Sep 17 00:00:00 2001 From: Your Name Date: Sat, 16 Aug 2025 10:12:53 +0900 Subject: [PATCH 07/13] Add sudo to uv pip install command for system-wide installation MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The uv pip install command needs sudo permissions when installing packages system-wide to /usr/local/lib directories. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude --- .github/workflows/doc.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/doc.yml b/.github/workflows/doc.yml index f1e60427b9..dd5a372fbb 100644 --- a/.github/workflows/doc.yml +++ b/.github/workflows/doc.yml @@ -48,7 +48,7 @@ jobs: - name: Install Dependencies run: | sudo apt -y install libgeos-dev - uv pip install --system --break-system-packages --editable ".[docs]" + sudo uv pip install --system --break-system-packages --editable ".[docs]" - name: PyVista Report run: | From 59ad934a33153ff450129fba7e47c590cbf3d7c5 Mon Sep 17 00:00:00 2001 From: Your Name Date: Sat, 16 Aug 2025 10:19:14 +0900 Subject: [PATCH 08/13] Fix sudo uv command not found by preserving PATH environment MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Use sudo -E with env to preserve the PATH variable so sudo can find the uv command that was installed by the setup-uv action. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude --- .github/workflows/doc.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/doc.yml b/.github/workflows/doc.yml index dd5a372fbb..49c79dbbab 100644 --- a/.github/workflows/doc.yml +++ b/.github/workflows/doc.yml @@ -48,7 +48,7 @@ jobs: - name: Install Dependencies run: | sudo apt -y install libgeos-dev - sudo uv pip install --system --break-system-packages --editable ".[docs]" + sudo -E env "PATH=$PATH" uv pip install --system --break-system-packages --editable ".[docs]" - name: PyVista Report run: | From b26247d8c994fda785b0fb6ba41f99d3bb1fd627 Mon Sep 17 00:00:00 2001 From: Your Name Date: Sat, 16 Aug 2025 12:00:18 +0900 Subject: [PATCH 09/13] Use full path to uv executable in sudo command MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Replace 'uv' with '$(which uv)' to ensure the full path to the uv executable is used when running with sudo, fixing the "command not found" error that occurs when PATH isn't properly preserved in sudo context. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude --- .github/workflows/doc.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/doc.yml b/.github/workflows/doc.yml index 49c79dbbab..8eda2079fa 100644 --- a/.github/workflows/doc.yml +++ b/.github/workflows/doc.yml @@ -48,7 +48,7 @@ jobs: - name: Install Dependencies run: | sudo apt -y install libgeos-dev - sudo -E env "PATH=$PATH" uv pip install --system --break-system-packages --editable ".[docs]" + sudo -E env "PATH=$PATH" $(which uv) pip install --system --break-system-packages --editable ".[docs]" - name: PyVista Report run: | From b116af9c2e24601736aac99a9ff8faafcd4b0fe4 Mon Sep 17 00:00:00 2001 From: Your Name Date: Sat, 16 Aug 2025 12:16:41 +0900 Subject: [PATCH 10/13] Add non-critical uv cache cleanup to prevent workflow failures MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Adds explicit cache cleanup step with || true to prevent the cache pruning exit code 2 error from failing the workflow during cleanup. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude --- .github/workflows/doc.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/doc.yml b/.github/workflows/doc.yml index 8eda2079fa..1e9965168b 100644 --- a/.github/workflows/doc.yml +++ b/.github/workflows/doc.yml @@ -50,6 +50,10 @@ jobs: sudo apt -y install libgeos-dev sudo -E env "PATH=$PATH" $(which uv) pip install --system --break-system-packages --editable ".[docs]" + - name: Clean uv cache (non-critical) + run: | + $(which uv) cache clean || true + - name: PyVista Report run: | python -c "import pyvista;print(pyvista.Report())" From 7e04bbae78f321d86a71b8b7dc352fa212bdd0f7 Mon Sep 17 00:00:00 2001 From: Tetsuo Koyama Date: Sun, 17 Aug 2025 08:57:19 +0900 Subject: [PATCH 11/13] Update doc.yml --- .github/workflows/doc.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/doc.yml b/.github/workflows/doc.yml index 1e9965168b..0cab447058 100644 --- a/.github/workflows/doc.yml +++ b/.github/workflows/doc.yml @@ -35,6 +35,7 @@ jobs: - uses: astral-sh/setup-uv@e92bafb6253dcd438e0484186d7669ea7a8ca1cc with: python-version: "3.12" + cache: pyproject.toml - name: Install OS Packages run: | From 49d5372ff81b2d77bf1586a4662a93fe2abf3910 Mon Sep 17 00:00:00 2001 From: Tetsuo Koyama Date: Sun, 17 Aug 2025 08:58:40 +0900 Subject: [PATCH 12/13] Update doc.yml --- .github/workflows/doc.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/doc.yml b/.github/workflows/doc.yml index 0cab447058..9ec8bc5fe8 100644 --- a/.github/workflows/doc.yml +++ b/.github/workflows/doc.yml @@ -35,7 +35,8 @@ jobs: - uses: astral-sh/setup-uv@e92bafb6253dcd438e0484186d7669ea7a8ca1cc with: python-version: "3.12" - cache: pyproject.toml + enable-cache: true + cache-dependency-glob: pyproject.toml - name: Install OS Packages run: | From a099ede2c601c5d4749bf60ec2bae8e5d3efc4f2 Mon Sep 17 00:00:00 2001 From: Tetsuo Koyama Date: Sun, 17 Aug 2025 09:01:14 +0900 Subject: [PATCH 13/13] Update doc.yml --- .github/workflows/doc.yml | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/.github/workflows/doc.yml b/.github/workflows/doc.yml index 9ec8bc5fe8..1163ff7956 100644 --- a/.github/workflows/doc.yml +++ b/.github/workflows/doc.yml @@ -50,15 +50,11 @@ jobs: - name: Install Dependencies run: | sudo apt -y install libgeos-dev - sudo -E env "PATH=$PATH" $(which uv) pip install --system --break-system-packages --editable ".[docs]" - - - name: Clean uv cache (non-critical) - run: | - $(which uv) cache clean || true + uv pip install --system --editable ".[docs]" - name: PyVista Report run: | - python -c "import pyvista;print(pyvista.Report())" + uv run python -c "import pyvista;print(pyvista.Report())" echo PYVISTA_EXAMPLE_DATA_PATH=$(python -c "from pyvista import examples; print(examples.USER_DATA_PATH)") >> $GITHUB_ENV - uses: actions/checkout@v5 @@ -70,7 +66,7 @@ jobs: persist-credentials: false - name: Build Documentation - run: make -C doc ${{ matrix.builder }} SPHINXOPTS="-W --keep-going" + run: uv run make -C doc ${{ matrix.builder }} SPHINXOPTS="-W --keep-going" - name: Tar build run: tar -zcvf doc-build-${{ matrix.builder }}.tar.gz doc/build/