From 8fb66604ef8a1e48c390a4297c60f76ba981cb0e Mon Sep 17 00:00:00 2001 From: Andres Rios Tascon Date: Tue, 18 Nov 2025 09:15:00 -0500 Subject: [PATCH 01/27] Drop Python 3.9 --- .../test_awkward_dask-awkward_uproot_coffea_vector.yml | 2 +- pyproject.toml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test_awkward_dask-awkward_uproot_coffea_vector.yml b/.github/workflows/test_awkward_dask-awkward_uproot_coffea_vector.yml index 3326925..8215cad 100644 --- a/.github/workflows/test_awkward_dask-awkward_uproot_coffea_vector.yml +++ b/.github/workflows/test_awkward_dask-awkward_uproot_coffea_vector.yml @@ -31,7 +31,7 @@ jobs: os: [ubuntu-latest, macOS-latest, windows-latest] java-version: [17] java-distribution: ["corretto"] - python-version: ["3.9", "3.13"] + python-version: ["3.10", "3.13"] dask-client: ["with", "without"] name: Test (${{ matrix.os }}) - 🐍 ${{ matrix.python-version }}, JDK${{ matrix.java-version }}, ${{ matrix.dask-client }} dask diff --git a/pyproject.toml b/pyproject.toml index c52c19f..5450f72 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -2,7 +2,7 @@ name = "integration-tests" version = "0.1.0" readme = "README.md" -requires-python = ">=3.9" +requires-python = ">=3.10" dependencies = [ "pytest", "pyarrow==18.0.0", # this may need a fix in awkward-array for newer versions From ce28bdf9d5c6521145d63951eb00f638c84e39ce Mon Sep 17 00:00:00 2001 From: Andres Rios Tascon Date: Tue, 18 Nov 2025 10:09:40 -0500 Subject: [PATCH 02/27] Added timeouts --- .../test_awkward_dask-awkward_uproot_coffea_vector.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/test_awkward_dask-awkward_uproot_coffea_vector.yml b/.github/workflows/test_awkward_dask-awkward_uproot_coffea_vector.yml index 8215cad..1fb061e 100644 --- a/.github/workflows/test_awkward_dask-awkward_uproot_coffea_vector.yml +++ b/.github/workflows/test_awkward_dask-awkward_uproot_coffea_vector.yml @@ -147,7 +147,7 @@ jobs: - name: Test scikit-hep/awkward id: test-awkward run: | - if uv run pytest -vv -rs repo-awkward/tests -n 4; then + if uv run pytest -vv -rs repo-awkward/tests -n 4 --timeout=1000; then echo "success=true" >> $GITHUB_OUTPUT else echo "success=false" >> $GITHUB_OUTPUT @@ -156,7 +156,7 @@ jobs: - name: Test dask-contrib/dask-awkward id: test-dask-awkward run: | - if uv run pytest -vv -rs repo-dask-awkward/tests -n 1; then + if uv run pytest -vv -rs repo-dask-awkward/tests -n 1 --timeout=1000; then echo "success=true" >> $GITHUB_OUTPUT else echo "success=false" >> $GITHUB_OUTPUT @@ -166,7 +166,7 @@ jobs: id: test-uproot run: | cd repo-uproot5/ - if uv run --project .. pytest -vv -rs tests --reruns 10 --reruns-delay 30 --only-rerun "(?i)http|ssl|timeout|expired|connection|socket"; then + if uv run --project .. pytest -vv -rs tests --reruns 10 --reruns-delay 30 --only-rerun "(?i)http|ssl|timeout|expired|connection|socket" --timeout=1000; then echo "success=true" >> $GITHUB_OUTPUT else echo "success=false" >> $GITHUB_OUTPUT @@ -176,7 +176,7 @@ jobs: id: test-vector run: | cd repo-vector/ - if uv run --project .. pytest -vv -rs tests --ignore tests/test_notebooks.py -n 4; then + if uv run --project .. pytest -vv -rs tests --ignore tests/test_notebooks.py -n 4 --timeout=1000; then echo "success=true" >> $GITHUB_OUTPUT else echo "success=false" >> $GITHUB_OUTPUT @@ -186,7 +186,7 @@ jobs: id: test-coffea run: | cd repo-coffea/ - if uv run --project .. pytest -vv -rs tests --deselect=test_taskvine -m "${{ matrix.dask-client == 'without' && 'not ' || '' }}dask_client" -n 4; then + if uv run --project .. pytest -vv -rs tests --deselect=test_taskvine -m "${{ matrix.dask-client == 'without' && 'not ' || '' }}dask_client" -n 4 --timeout=1000; then echo "success=true" >> $GITHUB_OUTPUT else echo "success=false" >> $GITHUB_OUTPUT From 08d155dab516c35c142575b4854a5860cabf2404 Mon Sep 17 00:00:00 2001 From: Andres Rios Tascon Date: Tue, 18 Nov 2025 10:30:34 -0500 Subject: [PATCH 03/27] Fixed test check logic --- ...est_awkward_dask-awkward_uproot_coffea_vector.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/test_awkward_dask-awkward_uproot_coffea_vector.yml b/.github/workflows/test_awkward_dask-awkward_uproot_coffea_vector.yml index 1fb061e..ae4a30b 100644 --- a/.github/workflows/test_awkward_dask-awkward_uproot_coffea_vector.yml +++ b/.github/workflows/test_awkward_dask-awkward_uproot_coffea_vector.yml @@ -195,14 +195,14 @@ jobs: - name: Save results to file run: | echo -n "| ${{ matrix.os }}, Python${{ matrix.python-version }}, JDK${{ matrix.java-version }}, ${{ matrix.dask-client }} Dask | " > $FILENAME - echo -n "${{ steps.test-awkward.outputs.success && '✅' || '❌' }} | " >> $FILENAME - echo -n "${{ steps.test-dask-awkward.outputs.success && '✅' || '❌' }} | " >> $FILENAME - echo -n "${{ steps.test-uproot.outputs.success && '✅' || '❌' }} | " >> $FILENAME - echo -n "${{ steps.test-vector.outputs.success && '✅' || '❌' }} | " >> $FILENAME - echo "${{ steps.test-coffea.outputs.success && '✅' || '❌' }} |" >> $FILENAME + echo -n "${{ steps.test-awkward.outputs.success == 'true' && '✅' || '❌' }} | " >> $FILENAME + echo -n "${{ steps.test-dask-awkward.outputs.success == 'true' && '✅' || '❌' }} | " >> $FILENAME + echo -n "${{ steps.test-uproot.outputs.success == 'true' && '✅' || '❌' }} | " >> $FILENAME + echo -n "${{ steps.test-vector.outputs.success == 'true' && '✅' || '❌' }} | " >> $FILENAME + echo "${{ steps.test-coffea.outputs.success == 'true' && '✅' || '❌' }} |" >> $FILENAME # Fail the job if any of the tests failed # Ignore the output outcome of dask-awkward since it's flaky - ${{ steps.test-awkward.outputs.success && steps.test-uproot.outputs.success && steps.test-vector.outputs.success && steps.test-coffea.outputs.success && 'true' || 'false' }} + ${{ (steps.test-awkward.outputs.success == 'true' && steps.test-uproot.outputs.success == 'true' && steps.test-vector.outputs.success == 'true' && steps.test-coffea.outputs.success == 'true') && 'true' || 'false' }} - name: Upload results artifact From 4f3b01f9d842cabbec4cc59969cdbd49c1b851fd Mon Sep 17 00:00:00 2001 From: Andres Rios Tascon Date: Tue, 18 Nov 2025 11:06:31 -0500 Subject: [PATCH 04/27] Try fixing awkward-cpp installation --- ...kward_dask-awkward_uproot_coffea_vector.yml | 18 +++++++++--------- pyproject.toml | 1 + 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/.github/workflows/test_awkward_dask-awkward_uproot_coffea_vector.yml b/.github/workflows/test_awkward_dask-awkward_uproot_coffea_vector.yml index ae4a30b..e5ed12b 100644 --- a/.github/workflows/test_awkward_dask-awkward_uproot_coffea_vector.yml +++ b/.github/workflows/test_awkward_dask-awkward_uproot_coffea_vector.yml @@ -104,39 +104,39 @@ jobs: run: | cd repo-awkward pipx run nox -s prepare -- --headers --signatures --tests - uv pip install -vv ./awkward-cpp - cd .. + pipx run build -w awkward-cpp + + - name: Find built awkward-cpp wheel + uses: tj-actions/glob@v22 + id: find-wheel + with: + files: | + repo-awkward/awkward-cpp/dist/*.whl - name: Build awkward run: | cd repo-awkward - uv pip install '.[test]' - uv pip install -r requirements-test-full.txt - cd .. + uv pip install '.[test]' ${{ steps.find-wheel.outputs.paths }} -r requirements-test-full.txt - name: Build dask-awkward run: | cd repo-dask-awkward uv pip install '.[complete,test]' - cd .. - name: Build uproot run: | cd repo-uproot5 uv pip install -e. --group=dev - cd .. - name: Build vector run: | cd repo-vector uv pip install '.[dev]' - cd .. - name: Build coffea run: | cd repo-coffea uv pip install '.[dev,dask]' - cd .. - name: Add xdist run: uv pip install pytest-xdist diff --git a/pyproject.toml b/pyproject.toml index 5450f72..ad1cad2 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -7,6 +7,7 @@ dependencies = [ "pytest", "pyarrow==18.0.0", # this may need a fix in awkward-array for newer versions # the next at their current HEAD + "awkward-cpp @ git+https://github.com/scikit-hep/awkward.git#egg=awkward-cpp&subdirectory=awkward-cpp", "awkward @ git+https://github.com/scikit-hep/awkward.git", "uproot @ git+https://github.com/scikit-hep/uproot5.git", "vector @ git+https://github.com/scikit-hep/vector.git", From cf6ee40d3afd0f2580fff967d423e36ab60028bd Mon Sep 17 00:00:00 2001 From: Andres Rios Tascon Date: Tue, 18 Nov 2025 11:12:31 -0500 Subject: [PATCH 05/27] Try fixing installations --- .../test_awkward_dask-awkward_uproot_coffea_vector.yml | 8 ++++---- pyproject.toml | 1 - 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/.github/workflows/test_awkward_dask-awkward_uproot_coffea_vector.yml b/.github/workflows/test_awkward_dask-awkward_uproot_coffea_vector.yml index e5ed12b..62d959d 100644 --- a/.github/workflows/test_awkward_dask-awkward_uproot_coffea_vector.yml +++ b/.github/workflows/test_awkward_dask-awkward_uproot_coffea_vector.yml @@ -116,7 +116,7 @@ jobs: - name: Build awkward run: | cd repo-awkward - uv pip install '.[test]' ${{ steps.find-wheel.outputs.paths }} -r requirements-test-full.txt + uv pip install --project .. '.[test]' ${{ steps.find-wheel.outputs.paths }} -r requirements-test-full.txt - name: Build dask-awkward run: | @@ -126,17 +126,17 @@ jobs: - name: Build uproot run: | cd repo-uproot5 - uv pip install -e. --group=dev + uv pip install --project .. -e. --group=dev - name: Build vector run: | cd repo-vector - uv pip install '.[dev]' + uv pip install --project .. '.[dev]' - name: Build coffea run: | cd repo-coffea - uv pip install '.[dev,dask]' + uv pip install --project .. '.[dev,dask]' - name: Add xdist run: uv pip install pytest-xdist diff --git a/pyproject.toml b/pyproject.toml index ad1cad2..5450f72 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -7,7 +7,6 @@ dependencies = [ "pytest", "pyarrow==18.0.0", # this may need a fix in awkward-array for newer versions # the next at their current HEAD - "awkward-cpp @ git+https://github.com/scikit-hep/awkward.git#egg=awkward-cpp&subdirectory=awkward-cpp", "awkward @ git+https://github.com/scikit-hep/awkward.git", "uproot @ git+https://github.com/scikit-hep/uproot5.git", "vector @ git+https://github.com/scikit-hep/vector.git", From e69c42bf309eacb955aff2616119384eb5028a33 Mon Sep 17 00:00:00 2001 From: Andres Rios Tascon Date: Tue, 18 Nov 2025 11:18:03 -0500 Subject: [PATCH 06/27] Another try --- ...awkward_dask-awkward_uproot_coffea_vector.yml | 16 ++-------------- 1 file changed, 2 insertions(+), 14 deletions(-) diff --git a/.github/workflows/test_awkward_dask-awkward_uproot_coffea_vector.yml b/.github/workflows/test_awkward_dask-awkward_uproot_coffea_vector.yml index 62d959d..e97285a 100644 --- a/.github/workflows/test_awkward_dask-awkward_uproot_coffea_vector.yml +++ b/.github/workflows/test_awkward_dask-awkward_uproot_coffea_vector.yml @@ -100,23 +100,11 @@ jobs: ref: "master" fetch-depth: 0 - - name: Build awkward-cpp + - name: Build awkward-cpp and awkward run: | cd repo-awkward pipx run nox -s prepare -- --headers --signatures --tests - pipx run build -w awkward-cpp - - - name: Find built awkward-cpp wheel - uses: tj-actions/glob@v22 - id: find-wheel - with: - files: | - repo-awkward/awkward-cpp/dist/*.whl - - - name: Build awkward - run: | - cd repo-awkward - uv pip install --project .. '.[test]' ${{ steps.find-wheel.outputs.paths }} -r requirements-test-full.txt + uv pip install --project .. -vv '.[test]' ./awkward-cpp -r requirements-test-full.txt - name: Build dask-awkward run: | From 0879e2c02c420cc65957e4d3b3e3e027b574b303 Mon Sep 17 00:00:00 2001 From: Andres Rios Tascon Date: Tue, 18 Nov 2025 11:26:24 -0500 Subject: [PATCH 07/27] Fix uproot install --- .../test_awkward_dask-awkward_uproot_coffea_vector.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test_awkward_dask-awkward_uproot_coffea_vector.yml b/.github/workflows/test_awkward_dask-awkward_uproot_coffea_vector.yml index e97285a..d015f88 100644 --- a/.github/workflows/test_awkward_dask-awkward_uproot_coffea_vector.yml +++ b/.github/workflows/test_awkward_dask-awkward_uproot_coffea_vector.yml @@ -114,7 +114,7 @@ jobs: - name: Build uproot run: | cd repo-uproot5 - uv pip install --project .. -e. --group=dev + uv pip install -e. --group=dev - name: Build vector run: | From 0db449df5a9beb5c61510b92e00be80805d6e10d Mon Sep 17 00:00:00 2001 From: Iason Krommydas Date: Tue, 18 Nov 2025 13:57:37 -0600 Subject: [PATCH 08/27] use uvx, no extras for awkward and editable installation --- .../test_awkward_dask-awkward_uproot_coffea_vector.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test_awkward_dask-awkward_uproot_coffea_vector.yml b/.github/workflows/test_awkward_dask-awkward_uproot_coffea_vector.yml index d015f88..8e80a17 100644 --- a/.github/workflows/test_awkward_dask-awkward_uproot_coffea_vector.yml +++ b/.github/workflows/test_awkward_dask-awkward_uproot_coffea_vector.yml @@ -103,8 +103,8 @@ jobs: - name: Build awkward-cpp and awkward run: | cd repo-awkward - pipx run nox -s prepare -- --headers --signatures --tests - uv pip install --project .. -vv '.[test]' ./awkward-cpp -r requirements-test-full.txt + uvx nox -s prepare -- --headers --signatures --tests + uv pip install --project .. -vv -e . ./awkward-cpp -r requirements-test-full.txt - name: Build dask-awkward run: | From 7a5a8aa7cf375d8131959497821e5cc617fa608f Mon Sep 17 00:00:00 2001 From: Iason Krommydas Date: Tue, 18 Nov 2025 14:07:29 -0600 Subject: [PATCH 09/27] ditch packages from pyproject toml --- pyproject.toml | 7 ------- 1 file changed, 7 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 5450f72..9d5af26 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -5,11 +5,4 @@ readme = "README.md" requires-python = ">=3.10" dependencies = [ "pytest", - "pyarrow==18.0.0", # this may need a fix in awkward-array for newer versions - # the next at their current HEAD - "awkward @ git+https://github.com/scikit-hep/awkward.git", - "uproot @ git+https://github.com/scikit-hep/uproot5.git", - "vector @ git+https://github.com/scikit-hep/vector.git", - "coffea @ git+https://github.com/scikit-hep/coffea.git", - "dask-awkward @ git+https://github.com/dask-contrib/dask-awkward.git", ] From 5867743c65428cf1a2322ee27364a2ceb1abf3fa Mon Sep 17 00:00:00 2001 From: Iason Krommydas Date: Tue, 18 Nov 2025 15:01:50 -0600 Subject: [PATCH 10/27] Add fetch-depth option to vector repository checkout --- .../workflows/test_awkward_dask-awkward_uproot_coffea_vector.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/test_awkward_dask-awkward_uproot_coffea_vector.yml b/.github/workflows/test_awkward_dask-awkward_uproot_coffea_vector.yml index 8e80a17..ae12a82 100644 --- a/.github/workflows/test_awkward_dask-awkward_uproot_coffea_vector.yml +++ b/.github/workflows/test_awkward_dask-awkward_uproot_coffea_vector.yml @@ -91,6 +91,7 @@ jobs: repository: scikit-hep/vector path: repo-vector ref: "main" + fetch-depth: 0 - name: Clone scikit-hep/coffea uses: actions/checkout@v4 From 4eaacf0c9f1cece62e087de9fd0b09b350f180ba Mon Sep 17 00:00:00 2001 From: Andres Rios Tascon Date: Tue, 18 Nov 2025 16:39:39 -0500 Subject: [PATCH 11/27] Fail job after artifact was uploaded --- ..._awkward_dask-awkward_uproot_coffea_vector.yml | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/.github/workflows/test_awkward_dask-awkward_uproot_coffea_vector.yml b/.github/workflows/test_awkward_dask-awkward_uproot_coffea_vector.yml index ae12a82..708e3de 100644 --- a/.github/workflows/test_awkward_dask-awkward_uproot_coffea_vector.yml +++ b/.github/workflows/test_awkward_dask-awkward_uproot_coffea_vector.yml @@ -189,10 +189,6 @@ jobs: echo -n "${{ steps.test-uproot.outputs.success == 'true' && '✅' || '❌' }} | " >> $FILENAME echo -n "${{ steps.test-vector.outputs.success == 'true' && '✅' || '❌' }} | " >> $FILENAME echo "${{ steps.test-coffea.outputs.success == 'true' && '✅' || '❌' }} |" >> $FILENAME - # Fail the job if any of the tests failed - # Ignore the output outcome of dask-awkward since it's flaky - ${{ (steps.test-awkward.outputs.success == 'true' && steps.test-uproot.outputs.success == 'true' && steps.test-vector.outputs.success == 'true' && steps.test-coffea.outputs.success == 'true') && 'true' || 'false' }} - - name: Upload results artifact uses: actions/upload-artifact@v4 @@ -200,6 +196,17 @@ jobs: name: ${{ env.FILENAME }} path: ${{ env.FILENAME }} + - name: Check if tests failed + run: | + echo ${{ steps.test-awkward.outputs.success == 'true' && '' || 'Awkward tests failed' }} + echo ${{ steps.test-dask-awkward.outputs.success == 'true' && '' || 'Dask Awkward tests failed' }} + echo ${{ steps.test-uproot.outputs.success == 'true' && '' || 'Uproot tests failed' }} + echo ${{ steps.test-vector.outputs.success == 'true' && '' || 'Vector tests failed' }} + echo ${{ steps.test-coffea.outputs.success == 'true' && '' || 'Coffea tests failed' }} + # Fail the job if any of the tests failed + # Ignore the output outcome of dask-awkward since it's flaky + ${{ (steps.test-awkward.outputs.success == 'true' && steps.test-uproot.outputs.success == 'true' && steps.test-vector.outputs.success == 'true' && steps.test-coffea.outputs.success == 'true') && 'true' || 'false' }} + summary: name: Collect results From 40cfad91a38ca976fa8fd3996886bb5d69713500 Mon Sep 17 00:00:00 2001 From: Iason Krommydas Date: Tue, 18 Nov 2025 15:42:31 -0600 Subject: [PATCH 12/27] remove Java from ci --- ...t_awkward_dask-awkward_uproot_coffea_vector.yml | 14 +++----------- 1 file changed, 3 insertions(+), 11 deletions(-) diff --git a/.github/workflows/test_awkward_dask-awkward_uproot_coffea_vector.yml b/.github/workflows/test_awkward_dask-awkward_uproot_coffea_vector.yml index 708e3de..3d12257 100644 --- a/.github/workflows/test_awkward_dask-awkward_uproot_coffea_vector.yml +++ b/.github/workflows/test_awkward_dask-awkward_uproot_coffea_vector.yml @@ -29,15 +29,13 @@ jobs: fail-fast: false matrix: os: [ubuntu-latest, macOS-latest, windows-latest] - java-version: [17] - java-distribution: ["corretto"] python-version: ["3.10", "3.13"] dask-client: ["with", "without"] - name: Test (${{ matrix.os }}) - 🐍 ${{ matrix.python-version }}, JDK${{ matrix.java-version }}, ${{ matrix.dask-client }} dask + name: Test (${{ matrix.os }}) - 🐍 ${{ matrix.python-version }}, ${{ matrix.dask-client }} dask env: - FILENAME: results-${{ matrix.os }}-${{ matrix.python-version }}-JDK${{ matrix.java-version }}-${{ matrix.dask-client }}.md + FILENAME: results-${{ matrix.os }}-${{ matrix.python-version }}-${{ matrix.dask-client }}.md steps: - name: Set up Python ${{ matrix.python-version }} @@ -45,12 +43,6 @@ jobs: with: python-version: ${{ matrix.python-version }} - - name: JDK ${{ matrix.java-distribution }}/${{ matrix.java-version }} - uses: actions/setup-java@v4 - with: - java-version: ${{ matrix.java-version }} - distribution: ${{ matrix.java-distribution }} - - uses: actions/checkout@v4 - name: Install uv @@ -183,7 +175,7 @@ jobs: - name: Save results to file run: | - echo -n "| ${{ matrix.os }}, Python${{ matrix.python-version }}, JDK${{ matrix.java-version }}, ${{ matrix.dask-client }} Dask | " > $FILENAME + echo -n "| ${{ matrix.os }}, Python${{ matrix.python-version }}, ${{ matrix.dask-client }} Dask | " > $FILENAME echo -n "${{ steps.test-awkward.outputs.success == 'true' && '✅' || '❌' }} | " >> $FILENAME echo -n "${{ steps.test-dask-awkward.outputs.success == 'true' && '✅' || '❌' }} | " >> $FILENAME echo -n "${{ steps.test-uproot.outputs.success == 'true' && '✅' || '❌' }} | " >> $FILENAME From 79e620ac151a15caa8a13bad7797b972d71058e9 Mon Sep 17 00:00:00 2001 From: Iason Krommydas Date: Tue, 18 Nov 2025 16:02:36 -0600 Subject: [PATCH 13/27] add ml requirements for awkward too --- .../test_awkward_dask-awkward_uproot_coffea_vector.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test_awkward_dask-awkward_uproot_coffea_vector.yml b/.github/workflows/test_awkward_dask-awkward_uproot_coffea_vector.yml index 3d12257..e0d474f 100644 --- a/.github/workflows/test_awkward_dask-awkward_uproot_coffea_vector.yml +++ b/.github/workflows/test_awkward_dask-awkward_uproot_coffea_vector.yml @@ -97,7 +97,7 @@ jobs: run: | cd repo-awkward uvx nox -s prepare -- --headers --signatures --tests - uv pip install --project .. -vv -e . ./awkward-cpp -r requirements-test-full.txt + uv pip install --project .. -vv -e . ./awkward-cpp -r requirements-test-full.txt -r requirements-test-ml.txt - name: Build dask-awkward run: | From 808f634184cc362f53f343ba450caeac2cdc68ca Mon Sep 17 00:00:00 2001 From: Iason Krommydas Date: Tue, 18 Nov 2025 16:23:22 -0600 Subject: [PATCH 14/27] add fetch depth to uproot and awkward too --- .../test_awkward_dask-awkward_uproot_coffea_vector.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/test_awkward_dask-awkward_uproot_coffea_vector.yml b/.github/workflows/test_awkward_dask-awkward_uproot_coffea_vector.yml index e0d474f..f40c4ed 100644 --- a/.github/workflows/test_awkward_dask-awkward_uproot_coffea_vector.yml +++ b/.github/workflows/test_awkward_dask-awkward_uproot_coffea_vector.yml @@ -60,6 +60,7 @@ jobs: path: repo-awkward submodules: true ref: "main" + fetch-depth: 0 - name: Clone dask-contrib/dask-awkward uses: actions/checkout@v4 @@ -76,6 +77,7 @@ jobs: repository: scikit-hep/uproot5 path: repo-uproot5 ref: "main" + fetch-depth: 0 - name: Clone scikit-hep/vector uses: actions/checkout@v4 From f9d2ecea951be95f9ddc0a67dfe01df9dae4b285 Mon Sep 17 00:00:00 2001 From: Iason Krommydas Date: Tue, 18 Nov 2025 19:15:36 -0600 Subject: [PATCH 15/27] cd for all tests --- ...ward_dask-awkward_uproot_coffea_vector.yml | 20 ++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/.github/workflows/test_awkward_dask-awkward_uproot_coffea_vector.yml b/.github/workflows/test_awkward_dask-awkward_uproot_coffea_vector.yml index f40c4ed..ec34139 100644 --- a/.github/workflows/test_awkward_dask-awkward_uproot_coffea_vector.yml +++ b/.github/workflows/test_awkward_dask-awkward_uproot_coffea_vector.yml @@ -99,7 +99,7 @@ jobs: run: | cd repo-awkward uvx nox -s prepare -- --headers --signatures --tests - uv pip install --project .. -vv -e . ./awkward-cpp -r requirements-test-full.txt -r requirements-test-ml.txt + uv pip install -vv . ./awkward-cpp -r requirements-test-full.txt -r requirements-test-ml.txt - name: Build dask-awkward run: | @@ -109,17 +109,17 @@ jobs: - name: Build uproot run: | cd repo-uproot5 - uv pip install -e. --group=dev + uv pip install . --group=dev - name: Build vector run: | cd repo-vector - uv pip install --project .. '.[dev]' + uv pip install . --group=dev --group=test-all - name: Build coffea run: | cd repo-coffea - uv pip install --project .. '.[dev,dask]' + uv pip install .. '.[dev,dask]' - name: Add xdist run: uv pip install pytest-xdist @@ -130,7 +130,8 @@ jobs: - name: Test scikit-hep/awkward id: test-awkward run: | - if uv run pytest -vv -rs repo-awkward/tests -n 4 --timeout=1000; then + cd repo-awkward + if uv run --project .. pytest -vv -rs tests -n 4 --timeout=1000; then echo "success=true" >> $GITHUB_OUTPUT else echo "success=false" >> $GITHUB_OUTPUT @@ -139,7 +140,8 @@ jobs: - name: Test dask-contrib/dask-awkward id: test-dask-awkward run: | - if uv run pytest -vv -rs repo-dask-awkward/tests -n 1 --timeout=1000; then + cd repo-dask-awkward + if uv run --project .. pytest -vv -rs repo-dask-awkward -n 1 --timeout=1000; then echo "success=true" >> $GITHUB_OUTPUT else echo "success=false" >> $GITHUB_OUTPUT @@ -148,7 +150,7 @@ jobs: - name: Test scikit-hep/uproot5 id: test-uproot run: | - cd repo-uproot5/ + cd repo-uproot5 if uv run --project .. pytest -vv -rs tests --reruns 10 --reruns-delay 30 --only-rerun "(?i)http|ssl|timeout|expired|connection|socket" --timeout=1000; then echo "success=true" >> $GITHUB_OUTPUT else @@ -158,7 +160,7 @@ jobs: - name: Test dask-contrib/vector id: test-vector run: | - cd repo-vector/ + cd repo-vector if uv run --project .. pytest -vv -rs tests --ignore tests/test_notebooks.py -n 4 --timeout=1000; then echo "success=true" >> $GITHUB_OUTPUT else @@ -168,7 +170,7 @@ jobs: - name: Test scikit-hep/coffea, (${{ matrix.dask-client }} dask Client - run in parallel) id: test-coffea run: | - cd repo-coffea/ + cd repo-coffea if uv run --project .. pytest -vv -rs tests --deselect=test_taskvine -m "${{ matrix.dask-client == 'without' && 'not ' || '' }}dask_client" -n 4 --timeout=1000; then echo "success=true" >> $GITHUB_OUTPUT else From 35c3c31d4d2ac01dbe40bd122e99773c272edc26 Mon Sep 17 00:00:00 2001 From: Iason Krommydas Date: Tue, 18 Nov 2025 19:21:53 -0600 Subject: [PATCH 16/27] typo --- .../test_awkward_dask-awkward_uproot_coffea_vector.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test_awkward_dask-awkward_uproot_coffea_vector.yml b/.github/workflows/test_awkward_dask-awkward_uproot_coffea_vector.yml index ec34139..621627e 100644 --- a/.github/workflows/test_awkward_dask-awkward_uproot_coffea_vector.yml +++ b/.github/workflows/test_awkward_dask-awkward_uproot_coffea_vector.yml @@ -119,7 +119,7 @@ jobs: - name: Build coffea run: | cd repo-coffea - uv pip install .. '.[dev,dask]' + uv pip install . '.[dev,dask]' - name: Add xdist run: uv pip install pytest-xdist From 3254ece9d5fc502db2fef8acb5b80cda15531602 Mon Sep 17 00:00:00 2001 From: Iason Krommydas Date: Tue, 18 Nov 2025 19:22:34 -0600 Subject: [PATCH 17/27] typo --- .../test_awkward_dask-awkward_uproot_coffea_vector.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test_awkward_dask-awkward_uproot_coffea_vector.yml b/.github/workflows/test_awkward_dask-awkward_uproot_coffea_vector.yml index 621627e..c30694c 100644 --- a/.github/workflows/test_awkward_dask-awkward_uproot_coffea_vector.yml +++ b/.github/workflows/test_awkward_dask-awkward_uproot_coffea_vector.yml @@ -119,7 +119,7 @@ jobs: - name: Build coffea run: | cd repo-coffea - uv pip install . '.[dev,dask]' + uv pip install '.[dev,dask]' - name: Add xdist run: uv pip install pytest-xdist From 2dad8075c9d81701b475c2834cfde04720fb10d3 Mon Sep 17 00:00:00 2001 From: Iason Krommydas Date: Tue, 18 Nov 2025 19:24:45 -0600 Subject: [PATCH 18/27] typo --- .../test_awkward_dask-awkward_uproot_coffea_vector.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test_awkward_dask-awkward_uproot_coffea_vector.yml b/.github/workflows/test_awkward_dask-awkward_uproot_coffea_vector.yml index c30694c..1bc447f 100644 --- a/.github/workflows/test_awkward_dask-awkward_uproot_coffea_vector.yml +++ b/.github/workflows/test_awkward_dask-awkward_uproot_coffea_vector.yml @@ -141,7 +141,7 @@ jobs: id: test-dask-awkward run: | cd repo-dask-awkward - if uv run --project .. pytest -vv -rs repo-dask-awkward -n 1 --timeout=1000; then + if uv run --project .. pytest -vv -rs tests -n 1 --timeout=1000; then echo "success=true" >> $GITHUB_OUTPUT else echo "success=false" >> $GITHUB_OUTPUT From 46bb426da3ce4c31c83f0ad30ff5a94873d53dd4 Mon Sep 17 00:00:00 2001 From: Iason Krommydas Date: Tue, 18 Nov 2025 19:31:17 -0600 Subject: [PATCH 19/27] vector is scikit-hep project --- .../test_awkward_dask-awkward_uproot_coffea_vector.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test_awkward_dask-awkward_uproot_coffea_vector.yml b/.github/workflows/test_awkward_dask-awkward_uproot_coffea_vector.yml index 1bc447f..b224cc7 100644 --- a/.github/workflows/test_awkward_dask-awkward_uproot_coffea_vector.yml +++ b/.github/workflows/test_awkward_dask-awkward_uproot_coffea_vector.yml @@ -157,7 +157,7 @@ jobs: echo "success=false" >> $GITHUB_OUTPUT fi - - name: Test dask-contrib/vector + - name: Test scikit-hep/vector id: test-vector run: | cd repo-vector From 1c4f0673b47e7e9d1f3524c9eea2203fd9b070eb Mon Sep 17 00:00:00 2001 From: Iason Krommydas Date: Tue, 18 Nov 2025 19:36:56 -0600 Subject: [PATCH 20/27] only use multiple workers if dask client is off for coffea --- .../test_awkward_dask-awkward_uproot_coffea_vector.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/test_awkward_dask-awkward_uproot_coffea_vector.yml b/.github/workflows/test_awkward_dask-awkward_uproot_coffea_vector.yml index b224cc7..2383433 100644 --- a/.github/workflows/test_awkward_dask-awkward_uproot_coffea_vector.yml +++ b/.github/workflows/test_awkward_dask-awkward_uproot_coffea_vector.yml @@ -141,7 +141,7 @@ jobs: id: test-dask-awkward run: | cd repo-dask-awkward - if uv run --project .. pytest -vv -rs tests -n 1 --timeout=1000; then + if uv run --project .. pytest -vv -rs tests --timeout=1000; then echo "success=true" >> $GITHUB_OUTPUT else echo "success=false" >> $GITHUB_OUTPUT @@ -167,11 +167,11 @@ jobs: echo "success=false" >> $GITHUB_OUTPUT fi - - name: Test scikit-hep/coffea, (${{ matrix.dask-client }} dask Client - run in parallel) + - name: Test scikit-hep/coffea (${{ matrix.dask-client }} dask Client) id: test-coffea run: | cd repo-coffea - if uv run --project .. pytest -vv -rs tests --deselect=test_taskvine -m "${{ matrix.dask-client == 'without' && 'not ' || '' }}dask_client" -n 4 --timeout=1000; then + if uv run --project .. pytest -vv -rs tests --deselect=test_taskvine -m "${{ matrix.dask-client == 'without' && 'not ' || '' }}dask_client" ${{ matrix.dask-client == 'without' && '-n 4' || '' }} --timeout=1000; then echo "success=true" >> $GITHUB_OUTPUT else echo "success=false" >> $GITHUB_OUTPUT From de4cdbe9935b4c9347f992e13f87b9f77672e919 Mon Sep 17 00:00:00 2001 From: Iason Krommydas Date: Tue, 18 Nov 2025 19:48:52 -0600 Subject: [PATCH 21/27] add xdist and timeout to pyproject --- pyproject.toml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pyproject.toml b/pyproject.toml index 9d5af26..d3a5cbe 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -5,4 +5,6 @@ readme = "README.md" requires-python = ">=3.10" dependencies = [ "pytest", + "pytest-timeout", + "pytest-xdist", ] From 515daf01aaab939aea69cefc360f0b3f85e769f7 Mon Sep 17 00:00:00 2001 From: Andres Rios Tascon Date: Wed, 19 Nov 2025 09:31:56 -0500 Subject: [PATCH 22/27] Needed a non-empty string --- .../test_awkward_dask-awkward_uproot_coffea_vector.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/test_awkward_dask-awkward_uproot_coffea_vector.yml b/.github/workflows/test_awkward_dask-awkward_uproot_coffea_vector.yml index 2383433..134a5c8 100644 --- a/.github/workflows/test_awkward_dask-awkward_uproot_coffea_vector.yml +++ b/.github/workflows/test_awkward_dask-awkward_uproot_coffea_vector.yml @@ -194,11 +194,11 @@ jobs: - name: Check if tests failed run: | - echo ${{ steps.test-awkward.outputs.success == 'true' && '' || 'Awkward tests failed' }} - echo ${{ steps.test-dask-awkward.outputs.success == 'true' && '' || 'Dask Awkward tests failed' }} - echo ${{ steps.test-uproot.outputs.success == 'true' && '' || 'Uproot tests failed' }} - echo ${{ steps.test-vector.outputs.success == 'true' && '' || 'Vector tests failed' }} - echo ${{ steps.test-coffea.outputs.success == 'true' && '' || 'Coffea tests failed' }} + echo ${{ steps.test-awkward.outputs.success == 'true' && ' ' || 'Awkward tests failed' }} + echo ${{ steps.test-dask-awkward.outputs.success == 'true' && ' ' || 'Dask Awkward tests failed' }} + echo ${{ steps.test-uproot.outputs.success == 'true' && ' ' || 'Uproot tests failed' }} + echo ${{ steps.test-vector.outputs.success == 'true' && ' ' || 'Vector tests failed' }} + echo ${{ steps.test-coffea.outputs.success == 'true' && ' ' || 'Coffea tests failed' }} # Fail the job if any of the tests failed # Ignore the output outcome of dask-awkward since it's flaky ${{ (steps.test-awkward.outputs.success == 'true' && steps.test-uproot.outputs.success == 'true' && steps.test-vector.outputs.success == 'true' && steps.test-coffea.outputs.success == 'true') && 'true' || 'false' }} From a939c6821841071cf7aec1a4a1cff4dc1692bcf5 Mon Sep 17 00:00:00 2001 From: Andres Rios Tascon Date: Wed, 19 Nov 2025 10:03:33 -0500 Subject: [PATCH 23/27] Don't parallelize awkward tests on windows --- .../test_awkward_dask-awkward_uproot_coffea_vector.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test_awkward_dask-awkward_uproot_coffea_vector.yml b/.github/workflows/test_awkward_dask-awkward_uproot_coffea_vector.yml index 134a5c8..5048b9f 100644 --- a/.github/workflows/test_awkward_dask-awkward_uproot_coffea_vector.yml +++ b/.github/workflows/test_awkward_dask-awkward_uproot_coffea_vector.yml @@ -28,7 +28,7 @@ jobs: strategy: fail-fast: false matrix: - os: [ubuntu-latest, macOS-latest, windows-latest] + os: [ubuntu-latest, macos-latest, windows-latest] python-version: ["3.10", "3.13"] dask-client: ["with", "without"] @@ -131,7 +131,7 @@ jobs: id: test-awkward run: | cd repo-awkward - if uv run --project .. pytest -vv -rs tests -n 4 --timeout=1000; then + if uv run --project .. pytest -vv -rs tests ${{ matrix.os != 'windows-latest' && '-n 4' || '' }} --timeout=1000; then echo "success=true" >> $GITHUB_OUTPUT else echo "success=false" >> $GITHUB_OUTPUT From fc77b4f6db053243f69be3d7bd6981d48b4f00ee Mon Sep 17 00:00:00 2001 From: Andres Rios Tascon Date: Wed, 19 Nov 2025 10:06:04 -0500 Subject: [PATCH 24/27] Disable uv cache --- .../test_awkward_dask-awkward_uproot_coffea_vector.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/test_awkward_dask-awkward_uproot_coffea_vector.yml b/.github/workflows/test_awkward_dask-awkward_uproot_coffea_vector.yml index 5048b9f..2fa8438 100644 --- a/.github/workflows/test_awkward_dask-awkward_uproot_coffea_vector.yml +++ b/.github/workflows/test_awkward_dask-awkward_uproot_coffea_vector.yml @@ -47,6 +47,8 @@ jobs: - name: Install uv uses: astral-sh/setup-uv@v5 + with: + enable-cache: false - name: Sync env run: | From f80d5e853ea8e0c54b5429887233af293998b358 Mon Sep 17 00:00:00 2001 From: Andres Rios Tascon Date: Mon, 24 Nov 2025 09:43:17 -0500 Subject: [PATCH 25/27] Added retries to dask-awkward tests --- .../test_awkward_dask-awkward_uproot_coffea_vector.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test_awkward_dask-awkward_uproot_coffea_vector.yml b/.github/workflows/test_awkward_dask-awkward_uproot_coffea_vector.yml index 2fa8438..fcb72ae 100644 --- a/.github/workflows/test_awkward_dask-awkward_uproot_coffea_vector.yml +++ b/.github/workflows/test_awkward_dask-awkward_uproot_coffea_vector.yml @@ -143,7 +143,7 @@ jobs: id: test-dask-awkward run: | cd repo-dask-awkward - if uv run --project .. pytest -vv -rs tests --timeout=1000; then + if uv run --project .. pytest -vv -rs tests --reruns 5 --reruns-delay 10 --timeout=1000; then echo "success=true" >> $GITHUB_OUTPUT else echo "success=false" >> $GITHUB_OUTPUT From efe3a628b765f7bd6518f509be6073529c334b77 Mon Sep 17 00:00:00 2001 From: Andres Rios Tascon Date: Mon, 24 Nov 2025 14:06:24 -0500 Subject: [PATCH 26/27] Make dask-awkward tests required --- .../test_awkward_dask-awkward_uproot_coffea_vector.yml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/.github/workflows/test_awkward_dask-awkward_uproot_coffea_vector.yml b/.github/workflows/test_awkward_dask-awkward_uproot_coffea_vector.yml index fcb72ae..74acbb4 100644 --- a/.github/workflows/test_awkward_dask-awkward_uproot_coffea_vector.yml +++ b/.github/workflows/test_awkward_dask-awkward_uproot_coffea_vector.yml @@ -143,7 +143,7 @@ jobs: id: test-dask-awkward run: | cd repo-dask-awkward - if uv run --project .. pytest -vv -rs tests --reruns 5 --reruns-delay 10 --timeout=1000; then + if uv run --project .. pytest -vv -rs tests --reruns 10 --reruns-delay 30 --timeout=1000; then echo "success=true" >> $GITHUB_OUTPUT else echo "success=false" >> $GITHUB_OUTPUT @@ -202,8 +202,7 @@ jobs: echo ${{ steps.test-vector.outputs.success == 'true' && ' ' || 'Vector tests failed' }} echo ${{ steps.test-coffea.outputs.success == 'true' && ' ' || 'Coffea tests failed' }} # Fail the job if any of the tests failed - # Ignore the output outcome of dask-awkward since it's flaky - ${{ (steps.test-awkward.outputs.success == 'true' && steps.test-uproot.outputs.success == 'true' && steps.test-vector.outputs.success == 'true' && steps.test-coffea.outputs.success == 'true') && 'true' || 'false' }} + ${{ (steps.test-awkward.outputs.success == 'true' && steps.test-dask-awkward.outputs.success == 'true' && steps.test-uproot.outputs.success == 'true' && steps.test-vector.outputs.success == 'true' && steps.test-coffea.outputs.success == 'true') && 'true' || 'false' }} summary: From 4975a2a9d6773173657d4f65b5da3015f50c633e Mon Sep 17 00:00:00 2001 From: Andres Rios Tascon Date: Tue, 25 Nov 2025 13:26:08 -0500 Subject: [PATCH 27/27] Back to dask-awkward tests being optional --- .../test_awkward_dask-awkward_uproot_coffea_vector.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/test_awkward_dask-awkward_uproot_coffea_vector.yml b/.github/workflows/test_awkward_dask-awkward_uproot_coffea_vector.yml index 74acbb4..bc93d06 100644 --- a/.github/workflows/test_awkward_dask-awkward_uproot_coffea_vector.yml +++ b/.github/workflows/test_awkward_dask-awkward_uproot_coffea_vector.yml @@ -202,7 +202,8 @@ jobs: echo ${{ steps.test-vector.outputs.success == 'true' && ' ' || 'Vector tests failed' }} echo ${{ steps.test-coffea.outputs.success == 'true' && ' ' || 'Coffea tests failed' }} # Fail the job if any of the tests failed - ${{ (steps.test-awkward.outputs.success == 'true' && steps.test-dask-awkward.outputs.success == 'true' && steps.test-uproot.outputs.success == 'true' && steps.test-vector.outputs.success == 'true' && steps.test-coffea.outputs.success == 'true') && 'true' || 'false' }} + # Ignore the output outcome of dask-awkward since it's flaky + ${{ (steps.test-awkward.outputs.success == 'true' && steps.test-uproot.outputs.success == 'true' && steps.test-vector.outputs.success == 'true' && steps.test-coffea.outputs.success == 'true') && 'true' || 'false' }} summary: