diff --git a/.github/workflows/ci-additional.yaml b/.github/workflows/ci-additional.yaml index d9ab8a9fc3e..3df0a2aed3d 100644 --- a/.github/workflows/ci-additional.yaml +++ b/.github/workflows/ci-additional.yaml @@ -21,6 +21,9 @@ concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true +env: + FORCE_COLOR: 3 + jobs: detect-ci-trigger: name: detect ci trigger @@ -136,7 +139,7 @@ jobs: python -m mypy --install-types --non-interactive --cobertura-xml-report mypy_report xarray/ - name: Upload mypy coverage to Codecov - uses: codecov/codecov-action@v4.3.1 + uses: codecov/codecov-action@v4.4.0 with: file: mypy_report/cobertura.xml flags: mypy @@ -190,7 +193,7 @@ jobs: python -m mypy --install-types --non-interactive --cobertura-xml-report mypy_report xarray/ - name: Upload mypy coverage to Codecov - uses: codecov/codecov-action@v4.3.1 + uses: codecov/codecov-action@v4.4.0 with: file: mypy_report/cobertura.xml flags: mypy39 @@ -251,7 +254,7 @@ jobs: python -m pyright xarray/ - name: Upload pyright coverage to Codecov - uses: codecov/codecov-action@v4.3.1 + uses: codecov/codecov-action@v4.4.0 with: file: pyright_report/cobertura.xml flags: pyright @@ -310,7 +313,7 @@ jobs: python -m pyright xarray/ - name: Upload pyright coverage to Codecov - uses: codecov/codecov-action@v4.3.1 + uses: codecov/codecov-action@v4.4.0 with: file: pyright_report/cobertura.xml flags: pyright39 diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 4263c313cbc..25c1a827600 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -20,6 +20,9 @@ concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true +env: + FORCE_COLOR: 3 + jobs: detect-ci-trigger: name: detect ci trigger @@ -164,7 +167,7 @@ jobs: path: pytest.xml - name: Upload code coverage to Codecov - uses: codecov/codecov-action@v4.3.1 + uses: codecov/codecov-action@v4.4.0 with: file: ./coverage.xml flags: unittests diff --git a/.github/workflows/hypothesis.yaml b/.github/workflows/hypothesis.yaml index 2772dac22b1..6ef71cde0ff 100644 --- a/.github/workflows/hypothesis.yaml +++ b/.github/workflows/hypothesis.yaml @@ -11,6 +11,9 @@ on: - cron: "0 0 * * *" # Daily “At 00:00” UTC workflow_dispatch: # allows you to trigger manually +env: + FORCE_COLOR: 3 + jobs: detect-ci-trigger: name: detect ci trigger diff --git a/.github/workflows/upstream-dev-ci.yaml b/.github/workflows/upstream-dev-ci.yaml index a216dfd7428..731a9c3ff55 100644 --- a/.github/workflows/upstream-dev-ci.yaml +++ b/.github/workflows/upstream-dev-ci.yaml @@ -15,6 +15,9 @@ concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true +env: + FORCE_COLOR: 3 + jobs: detect-ci-trigger: name: detect upstream-dev ci trigger @@ -143,7 +146,7 @@ jobs: run: | python -m mypy --install-types --non-interactive --cobertura-xml-report mypy_report - name: Upload mypy coverage to Codecov - uses: codecov/codecov-action@v4.3.1 + uses: codecov/codecov-action@v4.4.0 with: file: mypy_report/cobertura.xml flags: mypy diff --git a/ci/min_deps_check.py b/ci/min_deps_check.py index 5ec7bff0a30..6981a69d96c 100755 --- a/ci/min_deps_check.py +++ b/ci/min_deps_check.py @@ -23,12 +23,12 @@ "isort", "mypy", "pip", - "setuptools", "pytest", "pytest-cov", "pytest-env", - "pytest-xdist", "pytest-timeout", + "pytest-xdist", + "setuptools", } POLICY_MONTHS = {"python": 30, "numpy": 18} @@ -162,11 +162,11 @@ def process_pkg( status = "<" elif (req_major, req_minor) > (policy_major, policy_minor): status = "> (!)" - delta = relativedelta(datetime.now(), policy_published_actual).normalized() + delta = relativedelta(datetime.now(), req_published).normalized() n_months = delta.years * 12 + delta.months warning( - f"Package is too new: {pkg}={policy_major}.{policy_minor} was " - f"published on {versions[policy_major, policy_minor]:%Y-%m-%d} " + f"Package is too new: {pkg}={req_major}.{req_minor} was " + f"published on {req_published:%Y-%m-%d} " f"which was {n_months} months ago (policy is {policy_months} months)" ) else: diff --git a/xarray/tests/__init__.py b/xarray/tests/__init__.py index 64a879369f8..a33ea0b7e6d 100644 --- a/xarray/tests/__init__.py +++ b/xarray/tests/__init__.py @@ -145,7 +145,7 @@ def _importorskip( ) has_numbagg_or_bottleneck = has_numbagg or has_bottleneck requires_numbagg_or_bottleneck = pytest.mark.skipif( - not has_scipy_or_netCDF4, reason="requires scipy or netCDF4" + not has_numbagg_or_bottleneck, reason="requires numbagg or bottlekneck" ) has_numpy_array_api, requires_numpy_array_api = _importorskip("numpy", "1.26.0") has_numpy_2, requires_numpy_2 = _importorskip("numpy", "2.0.0") diff --git a/xarray/tests/test_plot.py b/xarray/tests/test_plot.py index e636be5589f..27f4ded5646 100644 --- a/xarray/tests/test_plot.py +++ b/xarray/tests/test_plot.py @@ -3002,7 +3002,7 @@ def setUp(self) -> None: data = np.sin(2 * np.pi * month / 12.0) darray = DataArray(data, dims=["time"]) darray.coords["time"] = xr.cftime_range( - start="2017", periods=12, freq="1M", calendar="noleap" + start="2017", periods=12, freq="1ME", calendar="noleap" ) self.darray = darray