Skip to content

Commit

Permalink
CI: add a build against numpy nightly
Browse files Browse the repository at this point in the history
  • Loading branch information
jakevdp committed Dec 19, 2023
1 parent 6f7b695 commit e3e3996
Show file tree
Hide file tree
Showing 3 changed files with 28 additions and 3 deletions.
20 changes: 18 additions & 2 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,17 +23,23 @@ jobs:
python-version: 3.9
- uses: pre-commit/[email protected]
build:
name: ${{ matrix.os }} Python ${{ matrix.python-version }}
name: ${{ matrix.os }} Python ${{ matrix.python-version }} numpy-nightly=${{ matrix.numpy-nightly }}
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: ["ubuntu-latest"]
python-version: ["3.9", "3.10", "3.11", "3.12"]
numpy-nightly: [false]
include:
- os: ubuntu-latest
python-version: "3.12"
numpy-nightly: true
- os: macOS-11
python-version: "3.11"
numpy-nightly: false
- os: windows-2019
python-version: "3.11"
numpy-nightly: false

steps:
- uses: actions/checkout@v3
Expand All @@ -43,10 +49,20 @@ jobs:
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies with numpy nightly
if: ${{ matrix.numpy-nightly == true }}
run: |
python -m pip install --upgrade pip
python -m pip install -U --pre numpy \
-i https://pypi.anaconda.org/scientific-python-nightly-wheels/simple
python -c "import numpy; print(f'{numpy.__version__=}')"
python -m pip install setuptools
python -m pip install .[dev] --no-build-isolation
- name: Install dependencies
if: ${{ matrix.numpy-nightly == false }}
run: |
python -m pip install --upgrade pip
pip install .[dev]
python -m pip install .[dev]
- name: Run tests
run: |
pytest -n auto
10 changes: 9 additions & 1 deletion ml_dtypes/tests/custom_float_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,14 @@
float8_e5m2fnuz = ml_dtypes.float8_e5m2fnuz


try:
# numpy >= 2.0
ComplexWarning = np.exceptions.ComplexWarning
except AttributeError:
# numpy < 2.0
ComplexWarning = np.ComplexWarning


@contextlib.contextmanager
def ignore_warning(**kw):
with warnings.catch_warnings():
Expand Down Expand Up @@ -703,7 +711,7 @@ def testCasts(self, float_type):
self.assertTrue(np.all(x == z))
self.assertEqual(dtype, z.dtype)

@ignore_warning(category=np.ComplexWarning)
@ignore_warning(category=ComplexWarning)
def testConformNumpyComplex(self, float_type):
for dtype in [np.complex64, np.complex128, np.clongdouble]:
x = np.array([1.5, 2.5 + 2.0j, 3.5], dtype=dtype)
Expand Down
1 change: 1 addition & 0 deletions pytest.ini
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
[pytest]
filterwarnings =
error
ignore:numpy.core._multiarray_umat.*:DeprecationWarning

0 comments on commit e3e3996

Please sign in to comment.