Skip to content
This repository was archived by the owner on Jun 27, 2025. It is now read-only.

Commit e81f66b

Browse files
authored
Merge pull request #31 from static-frame/30/py312
2 parents 9bb6e4f + 5d31d88 commit e81f66b

13 files changed

Lines changed: 136 additions & 47 deletions

.github/problem-matchers/gcc.json

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
{
2+
"problemMatcher": [
3+
{
4+
"owner": "gcc-problem-matcher",
5+
"pattern": [
6+
{
7+
"regexp": "^\\s*(.*):(\\d+):(\\d+):\\s+(?:fatal\\s+)?(warning|error):\\s+(.*?(?:\\s+\\[(.*)\\])?)\\s*$",
8+
"file": 1,
9+
"line": 2,
10+
"column": 3,
11+
"severity": 4,
12+
"message": 5,
13+
"code": 6
14+
}
15+
]
16+
}
17+
]
18+
}

.github/problem-matchers/msvc.json

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
{
2+
"problemMatcher": [
3+
{
4+
"owner": "msvc-problem-matcher",
5+
"pattern": [
6+
{
7+
"regexp": "^\\s*(?:\\d+\\>)?([^\\s].*)\\((\\d+),?(\\d+)?(?:,\\d+,\\d+)?\\)\\s*:\\s+(error|warning)\\s+((\\w+\\d+)\\s*:\\s*.*?)\\s*$",
8+
"file": 1,
9+
"line": 2,
10+
"column": 3,
11+
"severity": 4,
12+
"message": 5,
13+
"code": 6
14+
}
15+
]
16+
}
17+
]
18+
}

.github/workflows/ci.yml

Lines changed: 84 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -12,92 +12,143 @@ on:
1212
jobs:
1313
tar_gz:
1414
name: Package
15-
runs-on: ubuntu-latest
15+
runs-on: ubuntu-22.04
1616
steps:
17-
- uses: actions/checkout@v3
18-
- uses: actions/setup-python@v3
17+
- uses: actions/checkout@master
18+
- uses: actions/setup-python@master
19+
with:
20+
python-version: 3.12
21+
- run: pip install -r requirements-build-3_12.txt
1922
- run: python setup.py sdist
2023
- uses: actions/upload-artifact@v3
2124
with:
2225
name: dist
2326
path: dist
2427

25-
whl_lt_3_9:
28+
matrix_config:
29+
name: Matrix Runner Config
30+
runs-on: ubuntu-22.04
31+
outputs:
32+
matrix_os: ${{ steps.step.outputs.matrix_os }}
33+
steps:
34+
- run: echo "$GITHUB_EVENT_NAME"
35+
- id: step
36+
run: |
37+
if [ "$GITHUB_EVENT_NAME" = "release" ]; then
38+
echo 'matrix_os=["macos-13-xlarge", "ubuntu-22.04", "windows-2022"]' >> $GITHUB_OUTPUT
39+
else
40+
echo 'matrix_os=["macos-13", "ubuntu-22.04", "windows-2022"]' >> $GITHUB_OUTPUT
41+
fi
42+
43+
whl_3_8:
2644
name: Build / ${{ matrix.os }} / Python 3.${{ matrix.minor }}
45+
needs: matrix_config
2746
strategy:
2847
fail-fast: false
2948
matrix:
30-
os: [macos-12, ubuntu-22.04, windows-2022]
31-
minor: [7, 8]
49+
os: ${{ fromJson(needs.matrix_config.outputs.matrix_os) }}
50+
minor: [8]
3251
runs-on: ${{ matrix.os }}
3352
steps:
34-
- uses: actions/checkout@v3
35-
- uses: actions/setup-python@v3
36-
- uses: pypa/cibuildwheel@v2.13.0
53+
- uses: actions/checkout@master
54+
- uses: actions/setup-python@master
55+
- run: echo '::add-matcher::.github/problem-matchers/gcc.json'
56+
if: startsWith(matrix.os, 'macos-') || startsWith(matrix.os, 'ubuntu-')
57+
- run: echo '::add-matcher::.github/problem-matchers/msvc.json'
58+
if: startsWith(matrix.os, 'windows-')
59+
60+
- run: pip install pipx # only for macos amd64
61+
if: startsWith(matrix.os, 'macos-')
62+
63+
- uses: pypa/cibuildwheel@v2.16.2
3764
with:
3865
output-dir: dist
3966
env:
4067
CIBW_BUILD: cp3${{ matrix.minor }}-*
41-
CIBW_ARCHS_MACOS: all
42-
CIBW_BEFORE_BUILD: pip install -r {project}/requirements-build-backward.txt
43-
CIBW_BEFORE_TEST: pip install -r {project}/requirements-test-backward.txt
68+
CIBW_ARCHS_WINDOWS: x86 AMD64
69+
CIBW_ARCHS_MACOS: x86_64 arm64
70+
CIBW_BEFORE_BUILD: pip install -r {project}/requirements-build-3_08.txt
71+
CIBW_BEFORE_TEST: pip install -r {project}/requirements-dev-3_08.txt
4472
CIBW_TEST_COMMAND: pytest {project}
45-
4673
- uses: actions/upload-artifact@v3
4774
with:
4875
name: dist
4976
path: dist
5077

51-
whl_gte_3_9:
78+
whl_gte_3_9_to_3_11:
5279
name: Build / ${{ matrix.os }} / Python 3.${{ matrix.minor }}
80+
needs: matrix_config
5381
strategy:
5482
fail-fast: false
5583
matrix:
56-
os: [macos-12, ubuntu-22.04, windows-2022]
84+
os: ${{fromJson(needs.matrix_config.outputs.matrix_os)}}
5785
minor: [9, 10, 11]
5886
runs-on: ${{ matrix.os }}
5987
steps:
60-
- uses: actions/checkout@v3
61-
- uses: actions/setup-python@v3
62-
- uses: pypa/cibuildwheel@v2.13.0
88+
- uses: actions/checkout@master
89+
- uses: actions/setup-python@master
90+
- run: echo '::add-matcher::.github/problem-matchers/gcc.json'
91+
if: startsWith(matrix.os, 'macos-') || startsWith(matrix.os, 'ubuntu-')
92+
- run: echo '::add-matcher::.github/problem-matchers/msvc.json'
93+
if: startsWith(matrix.os, 'windows-')
94+
95+
- run: pip install pipx
96+
if: startsWith(matrix.os, 'macos-')
97+
98+
- uses: pypa/cibuildwheel@v2.16.2
6399
with:
64100
output-dir: dist
65101
env:
66102
CIBW_BUILD: cp3${{ matrix.minor }}-*
67-
CIBW_ARCHS_MACOS: all
68-
CIBW_BEFORE_BUILD: pip install -r {project}/requirements-build.txt
69-
CIBW_BEFORE_TEST: pip install -r {project}/requirements-test.txt
103+
CIBW_ARCHS_WINDOWS: x86 AMD64
104+
CIBW_ARCHS_MACOS: x86_64 arm64
105+
CIBW_BEFORE_BUILD: pip install -r {project}/requirements-build-3_11.txt
106+
CIBW_BEFORE_TEST: pip install -r {project}/requirements-dev-3_11.txt
70107
CIBW_TEST_COMMAND: pytest {project}
71-
72108
- uses: actions/upload-artifact@v3
73109
with:
74110
name: dist
75111
path: dist
76112

77-
forward:
78-
name: Forward / ${{ matrix.os }} / Python 3.${{ matrix.minor }}
113+
whl_3_12:
114+
name: Build / ${{ matrix.os }} / Python 3.${{ matrix.minor }}
115+
needs: matrix_config
79116
strategy:
80117
fail-fast: false
81118
matrix:
82-
os: [ubuntu-22.04]
83-
minor: [11]
119+
os: ${{fromJson(needs.matrix_config.outputs.matrix_os)}}
120+
minor: [12]
84121
runs-on: ${{ matrix.os }}
85122
steps:
86-
- uses: actions/checkout@v3
87-
- uses: actions/setup-python@v3
88-
- uses: pypa/cibuildwheel@v2.13.0
123+
- uses: actions/checkout@master
124+
- uses: actions/setup-python@master
125+
- run: echo '::add-matcher::.github/problem-matchers/gcc.json'
126+
if: startsWith(matrix.os, 'macos-') || startsWith(matrix.os, 'ubuntu-')
127+
- run: echo '::add-matcher::.github/problem-matchers/msvc.json'
128+
if: startsWith(matrix.os, 'windows-')
129+
130+
- run: pip install pipx # only for macos amd64
131+
if: startsWith(matrix.os, 'macos-')
132+
133+
- uses: pypa/cibuildwheel@v2.16.2
89134
with:
90135
output-dir: dist
91136
env:
92137
CIBW_BUILD: cp3${{ matrix.minor }}-*
93-
CIBW_BEFORE_BUILD: pip install -r {project}/requirements-build.txt
94-
CIBW_BEFORE_TEST: pip install -r {project}/requirements-test-forward.txt
138+
CIBW_ARCHS_WINDOWS: x86 AMD64
139+
CIBW_ARCHS_MACOS: x86_64 arm64
140+
CIBW_BEFORE_BUILD: pip install -r {project}/requirements-build-3_12.txt
141+
CIBW_BEFORE_TEST: pip install -r {project}/requirements-dev-3_12.txt
95142
CIBW_TEST_COMMAND: pytest {project}
143+
- uses: actions/upload-artifact@v3
144+
with:
145+
name: dist
146+
path: dist
96147

97148
upload:
98149
name: Publish
99-
if: github.event_name == 'release' && github.event.action == 'published'
100-
needs: [tar_gz, whl_lt_3_9, whl_gte_3_9, forward]
150+
if: github.event_name == 'release'
151+
needs: [tar_gz, whl_3_8, whl_gte_3_9_to_3_11, whl_3_12]
101152
runs-on: ubuntu-latest
102153
steps:
103154
- uses: actions/download-artifact@v3

README.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ Dependencies
2828

2929
ArrayMap requires the following:
3030

31-
- Python >= 3.7
31+
- Python >= 3.8
3232
- NumPy >= 1.18.5
3333

3434

requirements-build-3_08.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
numpy==1.19.5

requirements-build-3_12.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
numpy==1.26.2
2+
setuptools==69.*

requirements-build-backward.txt

Lines changed: 0 additions & 1 deletion
This file was deleted.
Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,5 @@ black==22.3.0
22
hypothesis==6.70.0
33
invoke==1.7.1
44
pytest==7.1.2
5-
numpy==1.24.3
5+
tzdata==2022.1
6+
numpy==1.19.5
Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,5 @@ black==22.3.0
22
hypothesis==6.70.0
33
invoke==1.7.1
44
pytest==7.1.2
5-
numpy==1.18.5
5+
tzdata==2022.1
6+
numpy==1.23.5

0 commit comments

Comments
 (0)