From def2ce98fa061eaa13a7239b316ba79eaf3c103a Mon Sep 17 00:00:00 2001 From: mhucka Date: Tue, 30 Jun 2026 02:21:46 +0000 Subject: [PATCH 1/5] Switch to using "-n logical" with pytest by default Also provide the ability to change the value when running the workflow manually, and print additional debugging information. --- .github/workflows/nightly.yaml | 29 ++++++++++++++++++++++++----- 1 file changed, 24 insertions(+), 5 deletions(-) diff --git a/.github/workflows/nightly.yaml b/.github/workflows/nightly.yaml index 5d4076b4c..cd61998f8 100644 --- a/.github/workflows/nightly.yaml +++ b/.github/workflows/nightly.yaml @@ -11,6 +11,7 @@ # limitations under the License. name: Nightly CI +run-name: Nightly CI full tests on: schedule: @@ -18,6 +19,11 @@ on: # Allow manual invocation – useful for debugging. workflow_dispatch: + inputs: + processes: + description: 'Value of "-n" option passed to pytest' + type: string + default: "" concurrency: # Cancel any previously-started but still active runs on the same branch. @@ -27,19 +33,32 @@ concurrency: # Declare default permissions as read only. permissions: read-all +env: + # Default value for "-n" argument to pytest with pytest-xdist plugin. + pytest-n: ${{inputs.processes || 'logical'}} + jobs: pytest: - runs-on: ubuntu-22.04 + runs-on: ubuntu-22.04-x64-8-core timeout-minutes: 120 steps: - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 + - uses: ts-graphviz/setup-graphviz@c001ccfb5aff62e28bda6a6c39b59a7e061be5b9 # v1 + - uses: actions/setup-python@42375524e23c412d93fb67b49958b491fce71c38 # v5 with: python-version: "3.12" + - uses: astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b # v8.1.0 + with: + enable-cache: true + - name: Install dependencies - run: | - uv sync --frozen --no-dev --group test - - run: | - uv run --no-sync check/pytest-full --durations=10 -v -n=0 + run: uv sync --frozen --no-dev --group test + + - name: Run the full Pytest suite + env: + # Adding xtrace makes Bash commands & scripts run with "-x". + SHELLOPTS: ${{runner.debug && 'xtrace'}} + run: uv run --no-sync check/pytest-full --durations 10 -v -n ${{env.pytest-n}} From 54df3450374f95a40d8e8434343bc09b847ab203 Mon Sep 17 00:00:00 2001 From: mhucka Date: Wed, 1 Jul 2026 04:25:35 +0000 Subject: [PATCH 2/5] Add a memory monitor to the nightly CI --- .github/workflows/nightly.yaml | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/.github/workflows/nightly.yaml b/.github/workflows/nightly.yaml index cd61998f8..5c16d0f8e 100644 --- a/.github/workflows/nightly.yaml +++ b/.github/workflows/nightly.yaml @@ -25,11 +25,6 @@ on: type: string default: "" -concurrency: - # Cancel any previously-started but still active runs on the same branch. - cancel-in-progress: true - group: ${{github.workflow}}-${{github.event.pull_request.number||github.ref}} - # Declare default permissions as read only. permissions: read-all @@ -57,6 +52,18 @@ jobs: - name: Install dependencies run: uv sync --frozen --no-dev --group test + - name: Continuously monitor memory and disk space during execution + run: | + while true; do + printf '%0.s-' {1..80} + free -h + echo + df -h . + printf '%0.s-' {1..80} + echo + sleep 10 + done & + - name: Run the full Pytest suite env: # Adding xtrace makes Bash commands & scripts run with "-x". From 7ad41de0f1579be16f77fecd6d7312da6ccd565d Mon Sep 17 00:00:00 2001 From: mhucka Date: Wed, 1 Jul 2026 04:26:14 +0000 Subject: [PATCH 3/5] Use 'auto' instead of 'logical' This is to reduce the number of possible problems. --- .github/workflows/nightly.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/nightly.yaml b/.github/workflows/nightly.yaml index 5c16d0f8e..43026127b 100644 --- a/.github/workflows/nightly.yaml +++ b/.github/workflows/nightly.yaml @@ -30,7 +30,7 @@ permissions: read-all env: # Default value for "-n" argument to pytest with pytest-xdist plugin. - pytest-n: ${{inputs.processes || 'logical'}} + pytest-n: ${{inputs.processes || 'auto'}} jobs: pytest: From 64fa692bef56fddf7d29d76d948b75cad8cae9b6 Mon Sep 17 00:00:00 2001 From: Michael Hucka Date: Wed, 1 Jul 2026 10:43:14 -0700 Subject: [PATCH 4/5] Undo unrelated changes --- .github/workflows/nightly.yaml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/.github/workflows/nightly.yaml b/.github/workflows/nightly.yaml index 43026127b..5c4a23295 100644 --- a/.github/workflows/nightly.yaml +++ b/.github/workflows/nightly.yaml @@ -25,12 +25,17 @@ on: type: string default: "" +concurrency: + # Cancel any previously-started but still active runs on the same branch. + cancel-in-progress: true + group: ${{github.workflow}}-${{github.event.pull_request.number||github.ref}} + # Declare default permissions as read only. permissions: read-all env: # Default value for "-n" argument to pytest with pytest-xdist plugin. - pytest-n: ${{inputs.processes || 'auto'}} + pytest-n: ${{inputs.processes || 'logical'}} jobs: pytest: From 7cd80d06ba963ec9d7cbb26d8ee09219d00b1faf Mon Sep 17 00:00:00 2001 From: Michael Hucka Date: Wed, 1 Jul 2026 11:06:35 -0700 Subject: [PATCH 5/5] Use 'auto' after all MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The notebook runs seem to be failing – let's try reducing the number of processes. --- .github/workflows/nightly.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/nightly.yaml b/.github/workflows/nightly.yaml index 5c4a23295..b14c8ffe6 100644 --- a/.github/workflows/nightly.yaml +++ b/.github/workflows/nightly.yaml @@ -35,7 +35,7 @@ permissions: read-all env: # Default value for "-n" argument to pytest with pytest-xdist plugin. - pytest-n: ${{inputs.processes || 'logical'}} + pytest-n: ${{inputs.processes || 'auto'}} jobs: pytest: