From d16ee09ec9613c8468ba2e758c9b3cae884885c5 Mon Sep 17 00:00:00 2001 From: Erik Date: Sun, 8 Oct 2023 17:04:00 -0500 Subject: [PATCH 01/12] Add support for Python 3.12 Also, test against python-suitesparse-graphblas 8.2.0.1 --- .github/workflows/imports.yml | 4 +++- .github/workflows/test_and_build.yml | 15 +++++++++++---- .pre-commit-config.yaml | 6 +++--- environment.yml | 1 + pyproject.toml | 6 +++++- scripts/check_versions.sh | 2 +- 6 files changed, 24 insertions(+), 10 deletions(-) diff --git a/.github/workflows/imports.yml b/.github/workflows/imports.yml index 753ce5162..2ca21d83f 100644 --- a/.github/workflows/imports.yml +++ b/.github/workflows/imports.yml @@ -33,17 +33,19 @@ jobs: 3.9 3.10 3.11 + 3.12 weights: | 1 1 1 + 100 test_imports: needs: rngs runs-on: ${{ needs.rngs.outputs.os }} # runs-on: ${{ matrix.os }} # strategy: # matrix: - # python-version: ["3.9", "3.10", "3.11"] + # python-version: ["3.9", "3.10", "3.11", "3.12"] # os: ["ubuntu-latest", "macos-latest", "windows-latest"] steps: - uses: actions/checkout@v4 diff --git a/.github/workflows/test_and_build.yml b/.github/workflows/test_and_build.yml index e3930a853..e659741ef 100644 --- a/.github/workflows/test_and_build.yml +++ b/.github/workflows/test_and_build.yml @@ -112,10 +112,12 @@ jobs: 3.9 3.10 3.11 + 3.12 weights: | 1 1 1 + 100 - name: RNG for source of python-suitesparse-graphblas uses: ddradar/choose-random-action@v2.0.2 id: sourcetype @@ -178,11 +180,16 @@ jobs: spver=$(python -c 'import random ; print(random.choice(["=1.8", "=1.9", "=1.10", "=1.11", ""]))') pdver=$(python -c 'import random ; print(random.choice(["=1.3", "=1.4", "=1.5", "=2.0", "=2.1", ""]))') akver=$(python -c 'import random ; print(random.choice(["=1.9", "=1.10", "=2.0", "=2.1", "=2.2", "=2.3", "=2.4", ""]))') - else # Python 3.11 + elif [[ ${{ startsWith(steps.pyver.outputs.selected, '3.11') }} == true ]]; then npver=$(python -c 'import random ; print(random.choice(["=1.23", "=1.24", "=1.25", "=1.26", ""]))') spver=$(python -c 'import random ; print(random.choice(["=1.9", "=1.10", "=1.11", ""]))') pdver=$(python -c 'import random ; print(random.choice(["=1.5", "=2.0", "=2.1", ""]))') akver=$(python -c 'import random ; print(random.choice(["=1.10", "=2.0", "=2.1", "=2.2", "=2.3", "=2.4", ""]))') + else # Python 3.12 + npver=$(python -c 'import random ; print(random.choice(["=1.26", ""]))') + spver=$(python -c 'import random ; print(random.choice(["=1.11", ""]))') + pdver=$(python -c 'import random ; print(random.choice(["=2.1", ""]))') + akver=$(python -c 'import random ; print(random.choice(["=2.4", ""]))') fi if [[ ${{ steps.sourcetype.outputs.selected }} == "source" || ${{ steps.sourcetype.outputs.selected }} == "upstream" ]]; then # TODO: there are currently issues with some numpy versions when @@ -196,13 +203,13 @@ jobs: # But, it's still useful for us to test with different versions! psg="" if [[ ${{ steps.sourcetype.outputs.selected}} == "conda-forge" ]] ; then - psgver=$(python -c 'import random ; print(random.choice(["=7.4.0", "=7.4.1", "=7.4.2", "=7.4.3.0", "=7.4.3.1", "=7.4.3.2", "=8.0.2.1", ""]))') + psgver=$(python -c 'import random ; print(random.choice(["=7.4.0", "=7.4.1", "=7.4.2", "=7.4.3.0", "=7.4.3.1", "=7.4.3.2", "=8.0.2.1", "=8.2.0.1", ""]))') psg=python-suitesparse-graphblas${psgver} elif [[ ${{ steps.sourcetype.outputs.selected}} == "wheel" ]] ; then - psgver=$(python -c 'import random ; print(random.choice(["==7.4.3.2", "==8.0.2.1", ""]))') + psgver=$(python -c 'import random ; print(random.choice(["==7.4.3.2", "==8.0.2.1", "==8.2.0.1", ""]))') elif [[ ${{ steps.sourcetype.outputs.selected}} == "source" ]] ; then # These should be exact versions - psgver=$(python -c 'import random ; print(random.choice(["==7.4.0.0", "==7.4.1.0", "==7.4.2.0", "==7.4.3.0", "==7.4.3.1", "==7.4.3.2", "==8.0.2.1", ""]))') + psgver=$(python -c 'import random ; print(random.choice(["==7.4.0.0", "==7.4.1.0", "==7.4.2.0", "==7.4.3.0", "==7.4.3.1", "==7.4.3.2", "==8.0.2.1", "==8.2.0.1", ""]))') else psgver="" fi diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 565e1dc0d..ee6600327 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -16,7 +16,7 @@ default_language_version: python: python3 repos: - repo: https://github.com/pre-commit/pre-commit-hooks - rev: v4.4.0 + rev: v4.5.0 hooks: - id: check-added-large-files - id: check-case-conflict @@ -51,7 +51,7 @@ repos: - id: isort # Let's keep `pyupgrade` even though `ruff --fix` probably does most of it - repo: https://github.com/asottile/pyupgrade - rev: v3.14.0 + rev: v3.15.0 hooks: - id: pyupgrade args: [--py39-plus] @@ -126,7 +126,7 @@ repos: args: [graphblas/] pass_filenames: false - repo: https://github.com/pre-commit/pre-commit-hooks - rev: v4.4.0 + rev: v4.5.0 hooks: - id: no-commit-to-branch # no commit directly to main # diff --git a/environment.yml b/environment.yml index 4455f4ac6..1863d4006 100644 --- a/environment.yml +++ b/environment.yml @@ -69,6 +69,7 @@ dependencies: # - flake8-simplify # - gcc # - gh + # - git # - graph-tool # - xorg-libxcursor # for graph-tool # - grayskull diff --git a/pyproject.toml b/pyproject.toml index ff970cc0f..18aca5b9d 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -47,6 +47,7 @@ classifiers = [ "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3 :: Only", "Intended Audience :: Developers", "Intended Audience :: Other Audience", @@ -156,7 +157,7 @@ dirty_template = "{tag}+{ccount}.g{sha}.dirty" [tool.black] line-length = 100 -target-version = ["py39", "py310", "py311"] +target-version = ["py39", "py310", "py311", "py312"] [tool.isort] sections = ["FUTURE", "STDLIB", "THIRDPARTY", "FIRSTPARTY", "LOCALFOLDER"] @@ -207,6 +208,9 @@ filterwarnings = [ # pypy gives this warning "ignore:can't resolve package from __spec__ or __package__:ImportWarning:", + + # Python 3.12 introduced this deprecation, which is triggered by pandas 2.1.1 + "ignore:datetime.datetime.utcfromtimestamp:DeprecationWarning:dateutil", ] [tool.coverage.run] diff --git a/scripts/check_versions.sh b/scripts/check_versions.sh index 9051ebe6e..c373692ed 100755 --- a/scripts/check_versions.sh +++ b/scripts/check_versions.sh @@ -9,7 +9,7 @@ conda search 'numpy[channel=conda-forge]>=1.26.0' conda search 'pandas[channel=conda-forge]>=2.1.1' conda search 'scipy[channel=conda-forge]>=1.11.3' conda search 'networkx[channel=conda-forge]>=3.1' -conda search 'awkward[channel=conda-forge]>=2.4.4' +conda search 'awkward[channel=conda-forge]>=2.4.5' conda search 'sparse[channel=conda-forge]>=0.14.0' conda search 'fast_matrix_market[channel=conda-forge]>=1.7.3' conda search 'numba[channel=conda-forge]>=0.57.1' From 10c65066a4a6736868bb6bf0ce6c68ffb71f5093 Mon Sep 17 00:00:00 2001 From: Erik Welch Date: Sun, 8 Oct 2023 17:24:24 -0500 Subject: [PATCH 02/12] coveralls doesn't support Python 3.12... should we drop it? --- .github/workflows/test_and_build.yml | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/.github/workflows/test_and_build.yml b/.github/workflows/test_and_build.yml index e659741ef..b24a26fdb 100644 --- a/.github/workflows/test_and_build.yml +++ b/.github/workflows/test_and_build.yml @@ -265,10 +265,15 @@ jobs: numba=numba${numbaver} sparse=sparse${sparsever} fi + if [[ ${{ startsWith(steps.pyver.outputs.selected, '3.12') }} == true ]]; then + coveralls="" + else + coveralls="coveralls=3.3.1" + fi echo "versions: np${npver} sp${spver} pd${pdver} ak${akver} nx${nxver} numba${numbaver} yaml${yamlver} sparse${sparsever} psg${psgver}" set -x # echo on - $(command -v mamba || command -v conda) install packaging pytest coverage coveralls=3.3.1 pytest-randomly cffi donfig tomli c-compiler make \ + $(command -v mamba || command -v conda) install packaging pytest coverage ${coveralls} pytest-randomly cffi donfig tomli c-compiler make \ pyyaml${yamlver} ${sparse} pandas${pdver} scipy${spver} numpy${npver} ${awkward} \ networkx${nxver} ${numba} ${fmm} ${psg} \ ${{ matrix.slowtask == 'pytest_bizarro' && 'black' || '' }} \ @@ -409,6 +414,7 @@ jobs: git diff --exit-code - name: Coverage1 id: coverageAttempt1 + if: !startsWith(steps.pyver.outputs.selected, '3.12') continue-on-error: true env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} From c325c7adb4b4067366e79a6277e4ac28dcc148df Mon Sep 17 00:00:00 2001 From: Erik Welch Date: Sun, 8 Oct 2023 17:25:50 -0500 Subject: [PATCH 03/12] oops --- .github/workflows/test_and_build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test_and_build.yml b/.github/workflows/test_and_build.yml index b24a26fdb..bde4c12a6 100644 --- a/.github/workflows/test_and_build.yml +++ b/.github/workflows/test_and_build.yml @@ -414,7 +414,7 @@ jobs: git diff --exit-code - name: Coverage1 id: coverageAttempt1 - if: !startsWith(steps.pyver.outputs.selected, '3.12') + if: ! startsWith(steps.pyver.outputs.selected, '3.12') continue-on-error: true env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} From 54e200c91574364b85b8077964bd280347f67910 Mon Sep 17 00:00:00 2001 From: Erik Welch Date: Sun, 8 Oct 2023 17:42:36 -0500 Subject: [PATCH 04/12] fix, and allow suitesparse-graphblas 8 to be installed b/c ssgb 8.2.0.1 is the only one that supports Python 3.12 --- .github/workflows/test_and_build.yml | 2 +- pyproject.toml | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/test_and_build.yml b/.github/workflows/test_and_build.yml index bde4c12a6..f05663947 100644 --- a/.github/workflows/test_and_build.yml +++ b/.github/workflows/test_and_build.yml @@ -414,7 +414,7 @@ jobs: git diff --exit-code - name: Coverage1 id: coverageAttempt1 - if: ! startsWith(steps.pyver.outputs.selected, '3.12') + if: startsWith(steps.pyver.outputs.selected, '3.12') != true continue-on-error: true env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/pyproject.toml b/pyproject.toml index 18aca5b9d..9579b1c16 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -63,7 +63,7 @@ dependencies = [ "pyyaml >=5.4", # These won't be installed by default after 2024.3.0 # Use e.g. "python-graphblas[suitesparse]" or "python-graphblas[default]" instead - "suitesparse-graphblas >=7.4.0.0, <7.5", + "suitesparse-graphblas >=7.4.0.0, <9", "numba >=0.55; python_version<'3.12'", # make optional where numba is not supported ] @@ -75,7 +75,7 @@ changelog = "https://github.com/python-graphblas/python-graphblas/releases" [project.optional-dependencies] suitesparse = [ - "suitesparse-graphblas >=7.4.0.0, <7.5", + "suitesparse-graphblas >=7.4.0.0, <9", ] networkx = [ "networkx >=2.8", From 093392c7720c91c0d11b46b8c828d1923db8b161 Mon Sep 17 00:00:00 2001 From: Erik Welch Date: Sun, 8 Oct 2023 17:51:52 -0500 Subject: [PATCH 05/12] Better handle python-suitesparse-graphblas version in CI workflow --- .github/workflows/test_and_build.yml | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/.github/workflows/test_and_build.yml b/.github/workflows/test_and_build.yml index f05663947..285d7e72e 100644 --- a/.github/workflows/test_and_build.yml +++ b/.github/workflows/test_and_build.yml @@ -202,7 +202,16 @@ jobs: # That is, we don't need to support versions of it that are two years old. # But, it's still useful for us to test with different versions! psg="" - if [[ ${{ steps.sourcetype.outputs.selected}} == "conda-forge" ]] ; then + if [[ ${{ steps.sourcetype.outputs.selected}} == "upstream" ]] ; then + psgver="" + elif [[ ${{ startsWith(steps.pyver.outputs.selected, '3.12') }} == true ]] ; then + if [[ ${{ steps.sourcetype.outputs.selected}} == "conda-forge" ]] ; then + psgver=$(python -c 'import random ; print(random.choice(["=8.2.0.1", ""]))') + psg=python-suitesparse-graphblas${psgver} + else + psgver=$(python -c 'import random ; print(random.choice(["==8.2.0.1", ""]))') + fi + elif [[ ${{ steps.sourcetype.outputs.selected}} == "conda-forge" ]] ; then psgver=$(python -c 'import random ; print(random.choice(["=7.4.0", "=7.4.1", "=7.4.2", "=7.4.3.0", "=7.4.3.1", "=7.4.3.2", "=8.0.2.1", "=8.2.0.1", ""]))') psg=python-suitesparse-graphblas${psgver} elif [[ ${{ steps.sourcetype.outputs.selected}} == "wheel" ]] ; then @@ -210,8 +219,6 @@ jobs: elif [[ ${{ steps.sourcetype.outputs.selected}} == "source" ]] ; then # These should be exact versions psgver=$(python -c 'import random ; print(random.choice(["==7.4.0.0", "==7.4.1.0", "==7.4.2.0", "==7.4.3.0", "==7.4.3.1", "==7.4.3.2", "==8.0.2.1", "==8.2.0.1", ""]))') - else - psgver="" fi if [[ ${npver} == "=1.26" ]] ; then numbaver="" From 21274730934c796429ee1ac6a0cde1ca6310e0db Mon Sep 17 00:00:00 2001 From: Erik Welch Date: Sun, 8 Oct 2023 17:57:24 -0500 Subject: [PATCH 06/12] matplotlib does not yet support Python 3.12 --- .github/workflows/test_and_build.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test_and_build.yml b/.github/workflows/test_and_build.yml index 285d7e72e..aff5e62d5 100644 --- a/.github/workflows/test_and_build.yml +++ b/.github/workflows/test_and_build.yml @@ -284,7 +284,8 @@ jobs: pyyaml${yamlver} ${sparse} pandas${pdver} scipy${spver} numpy${npver} ${awkward} \ networkx${nxver} ${numba} ${fmm} ${psg} \ ${{ matrix.slowtask == 'pytest_bizarro' && 'black' || '' }} \ - ${{ matrix.slowtask == 'notebooks' && 'matplotlib nbconvert jupyter "ipython>=7" drawsvg' || '' }} \ + # matplotlib does not yet support Python 3.12 + ${{ matrix.slowtask == 'notebooks' && startsWith(steps.pyver.outputs.selected, '3.12') != true && 'matplotlib nbconvert jupyter "ipython>=7" drawsvg' || '' }} \ ${{ steps.sourcetype.outputs.selected == 'upstream' && 'cython' || '' }} \ ${{ steps.sourcetype.outputs.selected != 'wheel' && '"graphblas>=7.4"' || '' }} \ ${{ contains(steps.pyver.outputs.selected, 'pypy') && 'pypy' || '' }} \ @@ -458,7 +459,7 @@ jobs: - name: codecov uses: codecov/codecov-action@v3 - name: Notebooks Execution check - if: matrix.slowtask == 'notebooks' + if: matrix.slowtask == 'notebooks' && startsWith(steps.pyver.outputs.selected, '3.12') != true run: | # Run notebooks only if numba is installed if python -c 'import numba' 2> /dev/null ; then From a84b33440f92d4e1edae78f70859c32f3fefdab0 Mon Sep 17 00:00:00 2001 From: Erik Welch Date: Sun, 8 Oct 2023 18:08:38 -0500 Subject: [PATCH 07/12] haha, oops --- .github/workflows/test_and_build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test_and_build.yml b/.github/workflows/test_and_build.yml index aff5e62d5..eb27c2cc8 100644 --- a/.github/workflows/test_and_build.yml +++ b/.github/workflows/test_and_build.yml @@ -280,11 +280,11 @@ jobs: echo "versions: np${npver} sp${spver} pd${pdver} ak${akver} nx${nxver} numba${numbaver} yaml${yamlver} sparse${sparsever} psg${psgver}" set -x # echo on + # matplotlib does not yet support Python 3.12, so don't install notebook dependencies in 3.12 $(command -v mamba || command -v conda) install packaging pytest coverage ${coveralls} pytest-randomly cffi donfig tomli c-compiler make \ pyyaml${yamlver} ${sparse} pandas${pdver} scipy${spver} numpy${npver} ${awkward} \ networkx${nxver} ${numba} ${fmm} ${psg} \ ${{ matrix.slowtask == 'pytest_bizarro' && 'black' || '' }} \ - # matplotlib does not yet support Python 3.12 ${{ matrix.slowtask == 'notebooks' && startsWith(steps.pyver.outputs.selected, '3.12') != true && 'matplotlib nbconvert jupyter "ipython>=7" drawsvg' || '' }} \ ${{ steps.sourcetype.outputs.selected == 'upstream' && 'cython' || '' }} \ ${{ steps.sourcetype.outputs.selected != 'wheel' && '"graphblas>=7.4"' || '' }} \ From 8afc0ebbc40717adadc7562dd8c97c3233ae4ec7 Mon Sep 17 00:00:00 2001 From: Erik Welch Date: Sun, 8 Oct 2023 18:15:06 -0500 Subject: [PATCH 08/12] try this --- .github/workflows/test_and_build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test_and_build.yml b/.github/workflows/test_and_build.yml index eb27c2cc8..302c5b9cc 100644 --- a/.github/workflows/test_and_build.yml +++ b/.github/workflows/test_and_build.yml @@ -284,7 +284,7 @@ jobs: $(command -v mamba || command -v conda) install packaging pytest coverage ${coveralls} pytest-randomly cffi donfig tomli c-compiler make \ pyyaml${yamlver} ${sparse} pandas${pdver} scipy${spver} numpy${npver} ${awkward} \ networkx${nxver} ${numba} ${fmm} ${psg} \ - ${{ matrix.slowtask == 'pytest_bizarro' && 'black' || '' }} \ + ${{ matrix.slowtask == 'pytest_bizarro' && '"black>=23.9.1"' || '' }} \ ${{ matrix.slowtask == 'notebooks' && startsWith(steps.pyver.outputs.selected, '3.12') != true && 'matplotlib nbconvert jupyter "ipython>=7" drawsvg' || '' }} \ ${{ steps.sourcetype.outputs.selected == 'upstream' && 'cython' || '' }} \ ${{ steps.sourcetype.outputs.selected != 'wheel' && '"graphblas>=7.4"' || '' }} \ From 7ca2bfb867b84b4d7448bdb402eec29c5fc642e7 Mon Sep 17 00:00:00 2001 From: Erik Welch Date: Sun, 8 Oct 2023 18:22:56 -0500 Subject: [PATCH 09/12] Try this workaround instead --- .github/workflows/test_and_build.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/test_and_build.yml b/.github/workflows/test_and_build.yml index 302c5b9cc..bd94e3ee3 100644 --- a/.github/workflows/test_and_build.yml +++ b/.github/workflows/test_and_build.yml @@ -284,7 +284,7 @@ jobs: $(command -v mamba || command -v conda) install packaging pytest coverage ${coveralls} pytest-randomly cffi donfig tomli c-compiler make \ pyyaml${yamlver} ${sparse} pandas${pdver} scipy${spver} numpy${npver} ${awkward} \ networkx${nxver} ${numba} ${fmm} ${psg} \ - ${{ matrix.slowtask == 'pytest_bizarro' && '"black>=23.9.1"' || '' }} \ + ${{ matrix.slowtask == 'pytest_bizarro' && 'black' || '' }} \ ${{ matrix.slowtask == 'notebooks' && startsWith(steps.pyver.outputs.selected, '3.12') != true && 'matplotlib nbconvert jupyter "ipython>=7" drawsvg' || '' }} \ ${{ steps.sourcetype.outputs.selected == 'upstream' && 'cython' || '' }} \ ${{ steps.sourcetype.outputs.selected != 'wheel' && '"graphblas>=7.4"' || '' }} \ @@ -417,6 +417,9 @@ jobs: if: matrix.slowtask == 'pytest_bizarro' run: | # This step uses `black` + if [[ ${{ startsWith(steps.pyver.outputs.selected, '3.12') }} == true ]]; then + pip install black # Latest version of black on conda-forge does not have builds for Python 3.12 + fi coverage run -a -m graphblas.core.automethods coverage run -a -m graphblas.core.infixmethods git diff --exit-code From e30fd3727918b645c2f1af15f83219fce291b665 Mon Sep 17 00:00:00 2001 From: Erik Welch Date: Sun, 8 Oct 2023 18:30:05 -0500 Subject: [PATCH 10/12] Wait for matplotlib to be released for Python 3.12 --- .github/workflows/test_and_build.yml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/.github/workflows/test_and_build.yml b/.github/workflows/test_and_build.yml index bd94e3ee3..ea814eb3d 100644 --- a/.github/workflows/test_and_build.yml +++ b/.github/workflows/test_and_build.yml @@ -280,12 +280,11 @@ jobs: echo "versions: np${npver} sp${spver} pd${pdver} ak${akver} nx${nxver} numba${numbaver} yaml${yamlver} sparse${sparsever} psg${psgver}" set -x # echo on - # matplotlib does not yet support Python 3.12, so don't install notebook dependencies in 3.12 $(command -v mamba || command -v conda) install packaging pytest coverage ${coveralls} pytest-randomly cffi donfig tomli c-compiler make \ pyyaml${yamlver} ${sparse} pandas${pdver} scipy${spver} numpy${npver} ${awkward} \ networkx${nxver} ${numba} ${fmm} ${psg} \ ${{ matrix.slowtask == 'pytest_bizarro' && 'black' || '' }} \ - ${{ matrix.slowtask == 'notebooks' && startsWith(steps.pyver.outputs.selected, '3.12') != true && 'matplotlib nbconvert jupyter "ipython>=7" drawsvg' || '' }} \ + ${{ matrix.slowtask == 'notebooks' && 'matplotlib nbconvert jupyter "ipython>=7" drawsvg' || '' }} \ ${{ steps.sourcetype.outputs.selected == 'upstream' && 'cython' || '' }} \ ${{ steps.sourcetype.outputs.selected != 'wheel' && '"graphblas>=7.4"' || '' }} \ ${{ contains(steps.pyver.outputs.selected, 'pypy') && 'pypy' || '' }} \ @@ -462,7 +461,7 @@ jobs: - name: codecov uses: codecov/codecov-action@v3 - name: Notebooks Execution check - if: matrix.slowtask == 'notebooks' && startsWith(steps.pyver.outputs.selected, '3.12') != true + if: matrix.slowtask == 'notebooks' run: | # Run notebooks only if numba is installed if python -c 'import numba' 2> /dev/null ; then From 1ed00798cca889f0400f7a21e05ec551cdc43f15 Mon Sep 17 00:00:00 2001 From: Erik Welch Date: Wed, 11 Oct 2023 08:26:16 -0500 Subject: [PATCH 11/12] Ready to merge (change weights in CI for 3.12 to 1) --- .github/workflows/imports.yml | 2 +- .github/workflows/test_and_build.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/imports.yml b/.github/workflows/imports.yml index 2ca21d83f..18be6256a 100644 --- a/.github/workflows/imports.yml +++ b/.github/workflows/imports.yml @@ -38,7 +38,7 @@ jobs: 1 1 1 - 100 + 1 test_imports: needs: rngs runs-on: ${{ needs.rngs.outputs.os }} diff --git a/.github/workflows/test_and_build.yml b/.github/workflows/test_and_build.yml index ea814eb3d..b1ca58616 100644 --- a/.github/workflows/test_and_build.yml +++ b/.github/workflows/test_and_build.yml @@ -117,7 +117,7 @@ jobs: 1 1 1 - 100 + 1 - name: RNG for source of python-suitesparse-graphblas uses: ddradar/choose-random-action@v2.0.2 id: sourcetype From 22aa0dfb7b3ede967f7aa55bddb397ac58e445d9 Mon Sep 17 00:00:00 2001 From: Erik Welch Date: Wed, 11 Oct 2023 08:59:19 -0500 Subject: [PATCH 12/12] Update codecov config --- .codecov.yml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/.codecov.yml b/.codecov.yml index 1720ac027..7a57a7568 100644 --- a/.codecov.yml +++ b/.codecov.yml @@ -1,3 +1,12 @@ +coverage: + status: + project: + default: + informational: true + patch: + default: + informational: true + changes: false comment: off ignore: - graphblas/viz.py