From 6a8dc83f9c886a14218ab67a40403f51e1b43dba Mon Sep 17 00:00:00 2001 From: Max Jones <14077947+maxrjones@users.noreply.github.com> Date: Thu, 13 Feb 2025 13:24:27 -0500 Subject: [PATCH 1/4] Consolidate workflows for GitHub actions --- .github/workflows/test.yml | 38 ++++---------------------------------- 1 file changed, 4 insertions(+), 34 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index c85648e0ff..de038bb949 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -41,6 +41,10 @@ jobs: numpy-version: '2.1' dependency-set: 'optional' os: 'windows-latest' + - python-version: '3.11' + dependency-set: 'min_deps' + - python-version: '3.33' + dependency-set: 'upstream' runs-on: ${{ matrix.os }} steps: @@ -69,40 +73,6 @@ jobs: token: ${{ secrets.CODECOV_TOKEN }} verbose: true # optional (default = false) - test-upstream-and-min-deps: - name: py=${{ matrix.python-version }}-${{ matrix.dependency-set }} - - runs-on: ubuntu-latest - strategy: - matrix: - python-version: ['3.11', "3.13"] - dependency-set: ["upstream", "min_deps"] - exclude: - - python-version: "3.13" - dependency-set: min_deps - - python-version: "3.11" - dependency-set: upstream - steps: - - uses: actions/checkout@v4 - with: - fetch-depth: 0 - - name: Set up Python - uses: actions/setup-python@v5 - with: - python-version: ${{ matrix.python-version }} - cache: 'pip' - - name: Install Hatch - run: | - python -m pip install --upgrade pip - pip install hatch - - name: Set Up Hatch Env - run: | - hatch env create ${{ matrix.dependency-set }} - hatch env run -e ${{ matrix.dependency-set }} list-env - - name: Run Tests - run: | - hatch env run --env ${{ matrix.dependency-set }} run - doctests: name: doctests runs-on: ubuntu-latest From 41b4596bb3e01d0324cae626ca797ec026eb5200 Mon Sep 17 00:00:00 2001 From: Max Jones <14077947+maxrjones@users.noreply.github.com> Date: Thu, 13 Feb 2025 14:29:27 -0500 Subject: [PATCH 2/4] Update .github/workflows/test.yml Co-authored-by: Deepak Cherian --- .github/workflows/test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index de038bb949..1adb410da1 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -43,7 +43,7 @@ jobs: os: 'windows-latest' - python-version: '3.11' dependency-set: 'min_deps' - - python-version: '3.33' + - python-version: '3.13' dependency-set: 'upstream' runs-on: ${{ matrix.os }} From 2cb0d4457fbd0b6e55c5ccdfcd9733cbb8acaa63 Mon Sep 17 00:00:00 2001 From: Max Jones <14077947+maxrjones@users.noreply.github.com> Date: Thu, 13 Feb 2025 14:53:22 -0500 Subject: [PATCH 3/4] Set hatch env variable --- .github/workflows/test.yml | 26 ++++++++++++++++++++++---- pyproject.toml | 2 ++ 2 files changed, 24 insertions(+), 4 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 1adb410da1..fb7e6fdb06 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -43,8 +43,10 @@ jobs: os: 'windows-latest' - python-version: '3.11' dependency-set: 'min_deps' + os: 'ubuntu-latest' - python-version: '3.13' dependency-set: 'upstream' + os: 'ubuntu-latest' runs-on: ${{ matrix.os }} steps: @@ -60,15 +62,32 @@ jobs: run: | python -m pip install --upgrade pip pip install hatch + - name: Set environment name + id : hatch-env-name + run : | + if [[ ${{ matrix.dependency-set }} = 'upstream' ]]; then + HATCH_ENV="upstream" + elif [[ ${{ matrix.dependency-set }} = 'min_deps' ]]; then + HATCH_ENV="min_deps" + else + HATCH_ENV="test.py${{ matrix.python-version }}-${{ matrix.numpy-version }}-${{ matrix.dependency-set }}" + fi + echo "HATCH_ENV=${HATCH_ENV}" >> "$GITHUB_OUTPUT" + - name: Set Up Hatch Env + env: + HATCH_ENV: ${{ steps.hatch-env-name.outputs.HATCH_ENV }} run: | - hatch env create test.py${{ matrix.python-version }}-${{ matrix.numpy-version }}-${{ matrix.dependency-set }} - hatch env run -e test.py${{ matrix.python-version }}-${{ matrix.numpy-version }}-${{ matrix.dependency-set }} list-env + hatch env create ${HATCH_ENV} + hatch env run -e ${HATCH_ENV} list-env - name: Run Tests + env: + HATCH_ENV: ${{ steps.hatch-env-name.outputs.HATCH_ENV }} run: | - hatch env run --env test.py${{ matrix.python-version }}-${{ matrix.numpy-version }}-${{ matrix.dependency-set }} run-coverage + hatch env run --env ${HATCH_ENV} run-coverage - name: Upload coverage uses: codecov/codecov-action@v5 + if: ${{ !env.ACT }} # Skip during local testing with: token: ${{ secrets.CODECOV_TOKEN }} verbose: true # optional (default = false) @@ -99,7 +118,6 @@ jobs: test-complete: name: Test complete - needs: [ test, diff --git a/pyproject.toml b/pyproject.toml index ab285ff7ff..2ae307a453 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -228,6 +228,7 @@ PIP_PRE = "1" run = "pytest --verbose" run-mypy = "mypy src" run-hypothesis = "pytest --hypothesis-profile ci tests/test_properties.py tests/test_store/test_stateful*" +run-coverage = "pytest --cov-config=pyproject.toml --cov=pkg --cov-report xml --cov=src --junitxml=junit.xml -o junit_family=legacy" list-env = "pip list" [tool.hatch.envs.min_deps] @@ -257,6 +258,7 @@ dependencies = [ [tool.hatch.envs.min_deps.scripts] run = "pytest --verbose" run-hypothesis = "pytest --hypothesis-profile ci tests/test_properties.py tests/test_store/test_stateful*" +run-coverage = "pytest --cov-config=pyproject.toml --cov=pkg --cov-report xml --cov=src --junitxml=junit.xml -o junit_family=legacy" list-env = "pip list" From d5015985da5e87608f3ef5c86c97db2aef15bf26 Mon Sep 17 00:00:00 2001 From: Max Jones <14077947+maxrjones@users.noreply.github.com> Date: Thu, 13 Feb 2025 21:18:50 -0500 Subject: [PATCH 4/4] Update test complete --- .github/workflows/test.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index fb7e6fdb06..a6cba74ae2 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -121,7 +121,6 @@ jobs: needs: [ test, - test-upstream-and-min-deps, doctests ] if: always()