From 092b545778a73f2635a4678cfcbbdc47497bba5d Mon Sep 17 00:00:00 2001 From: Max Jones <14077947+maxrjones@users.noreply.github.com> Date: Thu, 24 Jul 2025 17:06:23 -0700 Subject: [PATCH 1/5] Run slow tests in ci based on test-slow label --- .github/workflows/main.yml | 26 +++++++++++++++++++++----- .github/workflows/minimum-versions.yml | 3 +-- .github/workflows/typing.yml | 2 +- .github/workflows/upstream.yml | 3 +-- pyproject.toml | 2 +- 5 files changed, 25 insertions(+), 11 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 659e7256..1fd9c06a 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -7,6 +7,7 @@ on: - 'docs/**' pull_request: branches: [ "main" ] + types: [opened, reopened, synchronize, labeled] paths-ignore: - 'docs/**' schedule: @@ -31,17 +32,32 @@ jobs: - uses: actions/checkout@v4 - uses: prefix-dev/setup-pixi@v0.8.3 with: - pixi-version: v0.41.4 + pixi-version: v0.49.0 environments: ${{ matrix.environment }} - name: List installed libraries run: | - pixi install --environment ${{ matrix.environment }} pixi list --environment ${{ matrix.environment }} - - name: Running Tests + - name: Determine test type + id: test-type run: | - pixi run -e ${{ matrix.environment }} run-tests-xml-cov + if [[ "${{ github.event_name }}" == "pull_request" ]] && \ + [[ "${{ contains(github.event.pull_request.labels.*.name, 'test-slow') }}" == "true" ]]; then + echo "run-slow=true" >> $GITHUB_OUTPUT + echo "Running slow tests due to 'test-slow' label" + else + echo "run-slow=false" >> $GITHUB_OUTPUT + echo "Running standard tests (skipping slow tests)" + fi + + - name: Run Tests + run: | + if [[ "${{ steps.test-type.outputs.run-slow }}" == "true" ]]; then + pixi run -e ${{ matrix.environment }} run-tests-including-slow + else + pixi run -e ${{ matrix.environment }} run-tests-xml-cov + fi - name: Upload code coverage to Codecov uses: codecov/codecov-action@v3.1.4 @@ -63,7 +79,7 @@ jobs: - uses: actions/checkout@v4 - uses: prefix-dev/setup-pixi@v0.8.3 with: - pixi-version: v0.41.4 + pixi-version: v0.49.0 - name: List installed libraries run: | diff --git a/.github/workflows/minimum-versions.yml b/.github/workflows/minimum-versions.yml index 514b6ae1..8e1ff47b 100644 --- a/.github/workflows/minimum-versions.yml +++ b/.github/workflows/minimum-versions.yml @@ -34,12 +34,11 @@ jobs: - uses: actions/checkout@v4 - uses: prefix-dev/setup-pixi@v0.8.3 with: - pixi-version: v0.41.4 + pixi-version: v0.49.0 environments: minimum-versions - name: List installed libraries run: | - pixi install --environment minimum-versions pixi list --environment minimum-versions - name: Running Tests run: | diff --git a/.github/workflows/typing.yml b/.github/workflows/typing.yml index 267615a8..d947c552 100644 --- a/.github/workflows/typing.yml +++ b/.github/workflows/typing.yml @@ -27,7 +27,7 @@ jobs: - uses: actions/checkout@v4 - uses: prefix-dev/setup-pixi@v0.8.3 with: - pixi-version: v0.41.4 + pixi-version: v0.49.0 - name: List installed libraries run: | pixi install --environment test diff --git a/.github/workflows/upstream.yml b/.github/workflows/upstream.yml index d92d0cba..7878e925 100644 --- a/.github/workflows/upstream.yml +++ b/.github/workflows/upstream.yml @@ -34,12 +34,11 @@ jobs: - uses: actions/checkout@v4 - uses: prefix-dev/setup-pixi@v0.8.3 with: - pixi-version: v0.41.4 + pixi-version: v0.49.0 environments: upstream - name: List installed libraries run: | - pixi install --environment upstream pixi list --environment upstream - name: Running Tests diff --git a/pyproject.toml b/pyproject.toml index aeafacb7..e538741e 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -177,7 +177,7 @@ run-mypy = { cmd = "mypy virtualizarr" } # Using '--dist loadscope' (rather than default of '--dist load' when '-n auto' # is used), reduces test hangs that appear to be macOS-related. run-tests = { cmd = "pytest -n auto --dist loadscope --run-network-tests --verbose --durations=10" } -run-tests-including-slow = { cmd = "pytest -n auto --dist loadscope --run-network-tests --run-slow-tests --verbose --durations=10" } +run-tests-including-slow = { cmd = "pytest -n auto --dist loadscope --run-network-tests --run-slow-tests --verbose --durations=10 --cov=virtualizarr --cov-report=xml" } run-tests-no-network = { cmd = "pytest -n auto --verbose" } run-tests-cov = { cmd = "pytest -n auto --run-network-tests --verbose --cov=virtualizarr --cov=term-missing" } run-tests-xml-cov = { cmd = "pytest -n auto --run-network-tests --verbose --cov=virtualizarr --cov-report=xml" } From 93725408f06769369dac0a32beceacc044c64f68 Mon Sep 17 00:00:00 2001 From: Max Jones <14077947+maxrjones@users.noreply.github.com> Date: Thu, 24 Jul 2025 17:10:36 -0700 Subject: [PATCH 2/5] Apply changes to minimum-versions and upstream --- .github/workflows/minimum-versions.yml | 19 +++++++++++++++++-- .github/workflows/upstream.yml | 20 ++++++++++++++++++-- 2 files changed, 35 insertions(+), 4 deletions(-) diff --git a/.github/workflows/minimum-versions.yml b/.github/workflows/minimum-versions.yml index 8e1ff47b..8c5bac6b 100644 --- a/.github/workflows/minimum-versions.yml +++ b/.github/workflows/minimum-versions.yml @@ -40,10 +40,25 @@ jobs: - name: List installed libraries run: | pixi list --environment minimum-versions - - name: Running Tests + - name: Determine test type + id: test-type run: | - pixi run -e minimum-versions run-tests-xml-cov + if [[ "${{ github.event_name }}" == "pull_request" ]] && \ + [[ "${{ contains(github.event.pull_request.labels.*.name, 'test-slow') }}" == "true" ]]; then + echo "run-slow=true" >> $GITHUB_OUTPUT + echo "Running slow tests due to 'test-slow' label" + else + echo "run-slow=false" >> $GITHUB_OUTPUT + echo "Running standard tests (skipping slow tests)" + fi + - name: Run Tests + run: | + if [[ "${{ steps.test-type.outputs.run-slow }}" == "true" ]]; then + pixi run -e minimum-versions run-tests-including-slow + else + pixi run -e minimum-versions run-tests-xml-cov + fi - name: Upload code coverage to Codecov uses: codecov/codecov-action@v3.1.4 with: diff --git a/.github/workflows/upstream.yml b/.github/workflows/upstream.yml index 7878e925..90c9e073 100644 --- a/.github/workflows/upstream.yml +++ b/.github/workflows/upstream.yml @@ -41,9 +41,25 @@ jobs: run: | pixi list --environment upstream - - name: Running Tests + - name: Determine test type + id: test-type run: | - pixi run -e upstream run-tests-xml-cov + if [[ "${{ github.event_name }}" == "pull_request" ]] && \ + [[ "${{ contains(github.event.pull_request.labels.*.name, 'test-slow') }}" == "true" ]]; then + echo "run-slow=true" >> $GITHUB_OUTPUT + echo "Running slow tests due to 'test-slow' label" + else + echo "run-slow=false" >> $GITHUB_OUTPUT + echo "Running standard tests (skipping slow tests)" + fi + + - name: Run Tests + run: | + if [[ "${{ steps.test-type.outputs.run-slow }}" == "true" ]]; then + pixi run -e upstream run-tests-including-slow + else + pixi run -e upstream run-tests-xml-cov + fi - name: Upload code coverage to Codecov uses: codecov/codecov-action@v3.1.4 From 5cf27ca070811d4a10bf3eb01bad4f77fec20c92 Mon Sep 17 00:00:00 2001 From: Max Jones <14077947+maxrjones@users.noreply.github.com> Date: Thu, 24 Jul 2025 17:14:21 -0700 Subject: [PATCH 3/5] Bump setup-pixi --- .github/workflows/main.yml | 4 ++-- .github/workflows/minimum-versions.yml | 2 +- .github/workflows/typing.yml | 2 +- .github/workflows/upstream.yml | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 1fd9c06a..03534dc6 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -30,7 +30,7 @@ jobs: environment: [test-py311, test-py312, min-deps, minio] steps: - uses: actions/checkout@v4 - - uses: prefix-dev/setup-pixi@v0.8.3 + - uses: prefix-dev/setup-pixi@v0.8.13 with: pixi-version: v0.49.0 environments: ${{ matrix.environment }} @@ -77,7 +77,7 @@ jobs: shell: bash -l {0} steps: - uses: actions/checkout@v4 - - uses: prefix-dev/setup-pixi@v0.8.3 + - uses: prefix-dev/setup-pixi@v0.8.13 with: pixi-version: v0.49.0 diff --git a/.github/workflows/minimum-versions.yml b/.github/workflows/minimum-versions.yml index 8c5bac6b..b6c807e3 100644 --- a/.github/workflows/minimum-versions.yml +++ b/.github/workflows/minimum-versions.yml @@ -32,7 +32,7 @@ jobs: shell: bash -l {0} steps: - uses: actions/checkout@v4 - - uses: prefix-dev/setup-pixi@v0.8.3 + - uses: prefix-dev/setup-pixi@v0.8.13 with: pixi-version: v0.49.0 environments: minimum-versions diff --git a/.github/workflows/typing.yml b/.github/workflows/typing.yml index d947c552..fc528474 100644 --- a/.github/workflows/typing.yml +++ b/.github/workflows/typing.yml @@ -25,7 +25,7 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - - uses: prefix-dev/setup-pixi@v0.8.3 + - uses: prefix-dev/setup-pixi@v0.8.13 with: pixi-version: v0.49.0 - name: List installed libraries diff --git a/.github/workflows/upstream.yml b/.github/workflows/upstream.yml index 90c9e073..4a973095 100644 --- a/.github/workflows/upstream.yml +++ b/.github/workflows/upstream.yml @@ -32,7 +32,7 @@ jobs: shell: bash -l {0} steps: - uses: actions/checkout@v4 - - uses: prefix-dev/setup-pixi@v0.8.3 + - uses: prefix-dev/setup-pixi@v0.8.13 with: pixi-version: v0.49.0 environments: upstream From 91d008ce703d840a690193a9d29c76d42fd179cf Mon Sep 17 00:00:00 2001 From: Max Jones <14077947+maxrjones@users.noreply.github.com> Date: Thu, 24 Jul 2025 17:22:04 -0700 Subject: [PATCH 4/5] Revert version changes --- .github/workflows/main.yml | 8 ++++---- .github/workflows/minimum-versions.yml | 4 ++-- .github/workflows/typing.yml | 4 ++-- .github/workflows/upstream.yml | 4 ++-- 4 files changed, 10 insertions(+), 10 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 03534dc6..4b11cbb6 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -30,9 +30,9 @@ jobs: environment: [test-py311, test-py312, min-deps, minio] steps: - uses: actions/checkout@v4 - - uses: prefix-dev/setup-pixi@v0.8.13 + - uses: prefix-dev/setup-pixi@v0.8.3 with: - pixi-version: v0.49.0 + pixi-version: v0.41.4 environments: ${{ matrix.environment }} - name: List installed libraries @@ -77,9 +77,9 @@ jobs: shell: bash -l {0} steps: - uses: actions/checkout@v4 - - uses: prefix-dev/setup-pixi@v0.8.13 + - uses: prefix-dev/setup-pixi@v0.8.3 with: - pixi-version: v0.49.0 + pixi-version: v0.41.4 - name: List installed libraries run: | diff --git a/.github/workflows/minimum-versions.yml b/.github/workflows/minimum-versions.yml index b6c807e3..11e30c1e 100644 --- a/.github/workflows/minimum-versions.yml +++ b/.github/workflows/minimum-versions.yml @@ -32,9 +32,9 @@ jobs: shell: bash -l {0} steps: - uses: actions/checkout@v4 - - uses: prefix-dev/setup-pixi@v0.8.13 + - uses: prefix-dev/setup-pixi@v0.8.3 with: - pixi-version: v0.49.0 + pixi-version: v0.41.4 environments: minimum-versions - name: List installed libraries diff --git a/.github/workflows/typing.yml b/.github/workflows/typing.yml index fc528474..267615a8 100644 --- a/.github/workflows/typing.yml +++ b/.github/workflows/typing.yml @@ -25,9 +25,9 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - - uses: prefix-dev/setup-pixi@v0.8.13 + - uses: prefix-dev/setup-pixi@v0.8.3 with: - pixi-version: v0.49.0 + pixi-version: v0.41.4 - name: List installed libraries run: | pixi install --environment test diff --git a/.github/workflows/upstream.yml b/.github/workflows/upstream.yml index 4a973095..60af2b56 100644 --- a/.github/workflows/upstream.yml +++ b/.github/workflows/upstream.yml @@ -32,9 +32,9 @@ jobs: shell: bash -l {0} steps: - uses: actions/checkout@v4 - - uses: prefix-dev/setup-pixi@v0.8.13 + - uses: prefix-dev/setup-pixi@v0.8.3 with: - pixi-version: v0.49.0 + pixi-version: v0.41.4 environments: upstream - name: List installed libraries From 3c5cf9c55e9c9dec09364960ab546ebc5d5bdbcb Mon Sep 17 00:00:00 2001 From: Max Jones <14077947+maxrjones@users.noreply.github.com> Date: Thu, 24 Jul 2025 17:49:18 -0700 Subject: [PATCH 5/5] Add task --- pyproject.toml | 1 + 1 file changed, 1 insertion(+) diff --git a/pyproject.toml b/pyproject.toml index e538741e..8df38342 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -206,6 +206,7 @@ readthedocs = { cmd = "rm -rf $READTHEDOCS_OUTPUT/html && cp -r site $READTHEDOC [tool.pixi.feature.minio.tasks] run-tests = { cmd = "pytest virtualizarr/tests/test_manifests/test_store.py virtualizarr/tests/test_parsers/test_hdf/test_hdf_manifest_store.py --run-minio-tests --run-network-tests --verbose" } run-tests-xml-cov = { cmd = "pytest virtualizarr/tests/test_manifests/test_store.py virtualizarr/tests/test_parsers/test_hdf/test_hdf_manifest_store.py --run-minio-tests --run-network-tests --verbose --cov-report=xml" } +run-tests-including-slow= { cmd = "pytest virtualizarr/tests/test_manifests/test_store.py virtualizarr/tests/test_parsers/test_hdf/test_hdf_manifest_store.py --run-minio-tests --run-network-tests --run-slow-tests --verbose --cov-report=xml" } [tool.setuptools_scm] fallback_version = "9999"