Skip to content

Commit 494dd2f

Browse files
Merge branch 'main' into setup-emscripten-ci
2 parents a54c555 + 0bb51de commit 494dd2f

File tree

218 files changed

+1426
-1330
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

218 files changed

+1426
-1330
lines changed

.flake8

Lines changed: 0 additions & 15 deletions
This file was deleted.

.github/workflows/ci-osx.yaml

Lines changed: 0 additions & 74 deletions
This file was deleted.

.github/workflows/ci-windows.yaml

Lines changed: 0 additions & 66 deletions
This file was deleted.
Lines changed: 33 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
name: Linux CI
1+
name: Tests
22

33
on: [push, pull_request]
44

@@ -8,11 +8,13 @@ concurrency:
88

99
jobs:
1010
build:
11-
runs-on: ubuntu-latest
11+
runs-on: ${{ matrix.platform }}
1212
strategy:
1313
fail-fast: false
1414
matrix:
15-
python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"]
15+
python-version: ["3.11", "3.12", "3.13"]
16+
# macos-12 is an intel runner, macos-14 is a arm64 runner
17+
platform: [ubuntu-latest, windows-latest, macos-13, macos-14]
1618

1719
steps:
1820
- name: Checkout source
@@ -21,9 +23,10 @@ jobs:
2123
submodules: recursive
2224

2325
- name: Set up Conda
24-
uses: conda-incubator/setup-miniconda@v3.0.1
26+
uses: conda-incubator/setup-miniconda@v3.1.0
2527
with:
2628
channels: conda-forge
29+
miniforge-version: latest
2730
python-version: ${{ matrix.python-version }}
2831

2932
- name: Show info about `base` environment
@@ -40,6 +43,13 @@ jobs:
4043
c-compiler cxx-compiler
4144
python=${{matrix.python-version}} wheel pip
4245
46+
- name: Install clang
47+
shell: "bash -l {0}"
48+
if: matrix.platform == 'macos-13'
49+
run: |
50+
conda activate env
51+
conda install -y 'clang>=12.0.1,<17'
52+
4353
- name: Show info about `env` environment
4454
shell: "bash -l {0}"
4555
run: |
@@ -50,31 +60,38 @@ jobs:
5060
run: |
5161
conda activate env
5262
export DISABLE_NUMCODECS_AVX2=""
53-
python -m pip install -v -e .[test,test_extras,msgpack,zfpy,pcodec]
63+
# TODO: put back zfpy import when it supports numpy 2.0
64+
python -m pip install -v -e .[test,test_extras,msgpack,crc32c]
5465
55-
- name: List installed packages
66+
- name: Install pcodec
67+
if: matrix.python-version != '3.13'
68+
shell: "bash -l {0}"
69+
run: |
70+
conda activate env
71+
python -m pip install -v ".[pcodec]"
72+
73+
74+
# This is used to test with zfpy, which does not yet support numpy 2.0
75+
- name: Install older numpy and zfpy
76+
if: matrix.python-version == '3.11'
5677
shell: "bash -l {0}"
5778
run: |
5879
conda activate env
59-
python -m pip list
80+
python -m pip install "zfpy>=1" "numpy<2"
6081
61-
- name: Flake8
82+
- name: List installed packages
6283
shell: "bash -l {0}"
6384
run: |
6485
conda activate env
65-
flake8
86+
python -m pip list
6687
6788
- name: Run tests
6889
shell: "bash -l {0}"
6990
run: |
7091
conda activate env
7192
pytest -v
7293
73-
- uses: codecov/codecov-action@v3
94+
- uses: codecov/codecov-action@v4
7495
with:
75-
#token: ${{ secrets.CODECOV_TOKEN }} # not required for public repos
76-
#files: ./coverage1.xml,./coverage2.xml # optional
77-
#flags: unittests # optional
78-
#name: codecov-umbrella # optional
79-
#fail_ci_if_error: true # optional (default = false)
80-
verbose: true # optional (default = false)
96+
token: ${{ secrets.CODECOV_TOKEN }}
97+
verbose: true

.github/workflows/codeql-analysis.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ jobs:
3636

3737
# Initializes the CodeQL tools for scanning.
3838
- name: Initialize CodeQL
39-
uses: github/codeql-action/init@v2
39+
uses: github/codeql-action/init@v3
4040
with:
4141
languages: python
4242
# languages: python, cpp
@@ -45,7 +45,7 @@ jobs:
4545
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
4646
# If this step fails, then you should remove it and run the build manually (see below).
4747
- name: Autobuild
48-
uses: github/codeql-action/autobuild@v2
48+
uses: github/codeql-action/autobuild@v3
4949

5050
# ℹ️ Command-line programs to run using the OS shell.
5151
# 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun
@@ -59,4 +59,4 @@ jobs:
5959
# make release
6060

6161
- name: Perform CodeQL Analysis
62-
uses: github/codeql-action/analyze@v2
62+
uses: github/codeql-action/analyze@v3

.github/workflows/wheel.yaml

Lines changed: 21 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -13,24 +13,24 @@ jobs:
1313
strategy:
1414
fail-fast: false
1515
matrix:
16-
os: [ubuntu-latest, windows-latest, macos-latest]
16+
# macos-13 is an intel runner, macos-14 is a arm64 runner
17+
os: [ubuntu-latest, windows-latest, macos-13, macos-14]
1718
env:
1819
CIBW_TEST_COMMAND: python -c "import numcodecs"
19-
CIBW_SKIP: "pp* cp36-* *-musllinux_* *win32 *_i686 *_s390x"
20-
CIBW_ARCHS_MACOS: 'x86_64 arm64'
21-
CIBW_TEST_SKIP: '*-macosx_arm64'
20+
CIBW_BUILD: "cp311-* cp312-* cp313-*"
21+
CIBW_SKIP: "pp* *-musllinux_* *win32 *_i686 *_s390x"
2222
# note: CIBW_ENVIRONMENT is now set in pyproject.toml
23-
23+
2424
steps:
2525
- uses: actions/checkout@v4
2626
with:
2727
submodules: true
2828

29-
- uses: pypa/cibuildwheel@v2.16.5
29+
- uses: pypa/cibuildwheel@v2.21.3
3030

31-
- uses: actions/upload-artifact@v3
31+
- uses: actions/upload-artifact@v4
3232
with:
33-
name: wheels
33+
name: wheels-${{ matrix.os }}
3434
path: ./wheelhouse
3535

3636
build_sdist:
@@ -44,30 +44,32 @@ jobs:
4444
- uses: actions/setup-python@v5
4545
name: Install Python
4646
with:
47-
python-version: '3.9'
47+
python-version: "3.11"
4848

4949
- name: Build sdist
5050
run: pipx run build --sdist
5151

5252
- name: test install
5353
run: pip install dist/numcodecs*.tar.gz
5454

55-
- uses: actions/upload-artifact@v3
55+
- uses: actions/upload-artifact@v4
5656
with:
57+
name: sdist
5758
path: dist/*.tar.gz
5859

5960
test_dist_pypi:
6061
needs: [build_wheels, build_sdist]
6162
runs-on: ubuntu-latest
6263
steps:
63-
- uses: actions/download-artifact@v3
64+
- uses: actions/download-artifact@v4
6465
with:
65-
name: artifact
66+
name: sdist
6667
path: dist
67-
- uses: actions/download-artifact@v3
68+
- uses: actions/download-artifact@v4
6869
with:
69-
name: wheels
70+
pattern: wheels-*
7071
path: dist
72+
merge-multiple: true
7173

7274
- name: test
7375
run: |
@@ -79,14 +81,15 @@ jobs:
7981
runs-on: ubuntu-latest
8082
if: github.event_name == 'push' && startsWith(github.event.ref, 'refs/tags/v')
8183
steps:
82-
- uses: actions/download-artifact@v3
84+
- uses: actions/download-artifact@v4
8385
with:
84-
name: artifact
86+
name: sdist
8587
path: dist
86-
- uses: actions/download-artifact@v3
88+
- uses: actions/download-artifact@v4
8789
with:
88-
name: wheels
90+
pattern: wheels-*
8991
path: dist
92+
merge-multiple: true
9093

9194
- uses: pypa/gh-action-pypi-publish@master
9295
with:

.pep8speaks.yml

Lines changed: 0 additions & 4 deletions
This file was deleted.

0 commit comments

Comments
 (0)