Skip to content

Commit 5048ea4

Browse files
committed
ARM Builds
1 parent a67a7ac commit 5048ea4

File tree

3 files changed

+240
-40
lines changed

3 files changed

+240
-40
lines changed

.binder/Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
# Docker image:
1010
# https://mybinder.readthedocs.io/en/latest/using/config_files.html
1111

12-
FROM ubuntu:18.04
12+
FROM ubuntu:24.04
1313

1414
ARG NB_USER=jovyan
1515
ARG NB_UID=1000

.github/workflows/tests.yml

Lines changed: 235 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -9,97 +9,295 @@ jobs:
99
tests:
1010
name: ${{ matrix.os }}-${{ matrix.compiler }}-${{ matrix.version }}-python-${{ matrix.python-version }}-${{ matrix.castxml-epic }}
1111
runs-on: ${{ matrix.os }}
12-
1312
strategy:
1413
fail-fast: false
1514
matrix:
1615
include:
17-
- os: ubuntu-20.04
16+
- os: ubuntu-22.04
17+
arch: x86_64
18+
compiler: gcc
19+
version: "11"
20+
python-version: "3.10"
21+
castxml: "castxml"
22+
castxml-epic: 0
23+
cppstd: "-std=c++17"
24+
25+
- os: ubuntu-22.04
26+
arch: x86_64
27+
compiler: gcc
28+
version: "11"
29+
python-version: "3.10"
30+
castxml: "castxml"
31+
castxml-epic: 0
32+
cppstd: "-std=c++17"
33+
34+
- os: ubuntu-22.04
35+
arch: x86_64
36+
compiler: gcc
37+
version: "11"
38+
python-version: "3.10"
39+
castxml: "castxml"
40+
castxml-epic: 0
41+
cppstd: "-std=c++17"
42+
43+
- os: ubuntu-22.04
44+
arch: x86_64
45+
compiler: gcc
46+
version: "11"
47+
python-version: "3.10"
48+
castxml: "castxml"
49+
castxml-epic: 0
50+
cppstd: "-std=c++17"
51+
52+
- os: ubuntu-22.04
53+
arch: x86_64
1854
compiler: gcc
19-
version: "9"
20-
python-version: "3.7"
55+
version: "11"
56+
python-version: "3.11"
2157
castxml: "castxml"
2258
castxml-epic: 0
23-
cppstd: "-std=c++98"
59+
cppstd: "-std=c++17"
2460

25-
- os: ubuntu-20.04
61+
- os: ubuntu-22.04
62+
arch: x86_64
2663
compiler: gcc
27-
version: "9"
28-
python-version: "3.8"
64+
version: "11"
65+
python-version: "3.10"
66+
castxml: "castxml"
67+
castxml-epic: 1
68+
cppstd: "-std=c++17"
69+
70+
- os: ubuntu-22.04
71+
arch: x86_64
72+
compiler: gcc
73+
version: "11"
74+
python-version: "3.10"
75+
castxml: "castxml"
76+
castxml-epic: 1
77+
cppstd: "-std=c++11"
78+
79+
- os: ubuntu-22.04-arm64
80+
arch: aarch64
81+
compiler: gcc
82+
version: "11"
83+
python-version: "3.10"
2984
castxml: "castxml"
3085
castxml-epic: 0
31-
cppstd: "-std=c++98"
86+
cppstd: "-std=c++17"
3287

33-
- os: ubuntu-20.04
88+
- os: ubuntu-22.04-arm64
89+
arch: aarch64
3490
compiler: gcc
35-
version: "9"
36-
python-version: "3.9"
91+
version: "11"
92+
python-version: "3.10"
3793
castxml: "castxml"
3894
castxml-epic: 0
39-
cppstd: "-std=c++98"
95+
cppstd: "-std=c++17"
4096

41-
- os: ubuntu-20.04
97+
- os: ubuntu-22.04-arm64
98+
arch: aarch64
4299
compiler: gcc
43-
version: "9"
100+
version: "11"
44101
python-version: "3.10"
45102
castxml: "castxml"
46103
castxml-epic: 0
47-
cppstd: "-std=c++98"
104+
cppstd: "-std=c++17"
48105

49-
- os: ubuntu-20.04
106+
- os: ubuntu-22.04-arm64
107+
arch: aarch64
50108
compiler: gcc
51-
version: "9"
109+
version: "11"
52110
python-version: "3.11"
53111
castxml: "castxml"
54112
castxml-epic: 0
55-
cppstd: "-std=c++98"
113+
cppstd: "-std=c++17"
56114

57-
- os: ubuntu-20.04
115+
- os: ubuntu-22.04-arm64
116+
arch: aarch64
58117
compiler: gcc
59-
version: "9"
60-
python-version: "3.8"
118+
version: "11"
119+
python-version: "3.10"
61120
castxml: "castxml"
62121
castxml-epic: 1
63-
cppstd: "-std=c++98"
122+
cppstd: "-std=c++17"
64123

65-
- os: ubuntu-20.04
124+
- os: ubuntu-22.04-arm64
125+
arch: aarch64
66126
compiler: gcc
67-
version: "9"
68-
python-version: "3.8"
127+
version: "11"
128+
python-version: "3.10"
69129
castxml: "castxml"
70130
castxml-epic: 1
71131
cppstd: "-std=c++11"
72132

73-
- os: macos-13
133+
- os: ubuntu-24.04-arm64
134+
arch: aarch64
135+
compiler: gcc
136+
version: "14"
137+
python-version: "3.12"
138+
castxml: "castxml"
139+
castxml-epic: 0
140+
cppstd: "-std=c++17"
141+
142+
- os: ubuntu-24.04-arm64
143+
arch: aarch64
144+
compiler: gcc
145+
version: "14"
146+
python-version: "3.12"
147+
castxml: "castxml"
148+
castxml-epic: 0
149+
cppstd: "-std=c++17"
150+
151+
- os: ubuntu-24.04-arm64
152+
arch: aarch64
153+
compiler: gcc
154+
version: "14"
155+
python-version: "3.12"
156+
castxml: "castxml"
157+
castxml-epic: 0
158+
cppstd: "-std=c++17"
159+
160+
- os: ubuntu-24.04-arm64
161+
arch: aarch64
162+
compiler: gcc
163+
version: "14"
164+
python-version: "3.12"
165+
castxml: "castxml"
166+
castxml-epic: 0
167+
cppstd: "-std=c++17"
168+
169+
- os: ubuntu-24.04-arm64
170+
arch: aarch64
171+
compiler: gcc
172+
version: "14"
173+
python-version: "3.12"
174+
castxml: "castxml"
175+
castxml-epic: 0
176+
cppstd: "-std=c++17"
177+
178+
- os: ubuntu-24.04-arm64
179+
arch: aarch64
180+
compiler: gcc
181+
version: "14"
182+
python-version: "3.12"
183+
castxml: "castxml"
184+
castxml-epic: 1
185+
cppstd: "-std=c++17"
186+
187+
- os: ubuntu-24.04-arm64
188+
arch: aarch64
189+
compiler: gcc
190+
version: "14"
191+
python-version: "3.12"
192+
castxml: "castxml"
193+
castxml-epic: 1
194+
cppstd: "-std=c++17"
195+
196+
- os: macos-15
197+
arch: x86_64
74198
compiler: xcode
75199
version: "default"
76-
python-version: "3.8"
200+
python-version: "3.10"
77201
castxml: "castxml"
78202
castxml-epic: 0
79-
cppstd: "-std=c++98"
203+
cppstd: "-std=c++17"
80204

205+
- os: macos-15
206+
arch: arm64
207+
compiler: xcode
208+
version: "default"
209+
python-version: "3.12"
210+
castxml: "castxml"
211+
castxml-epic: 0
212+
cppstd: "-std=c++17"
81213
steps:
82-
- uses: actions/checkout@v3
214+
- uses: actions/checkout@v4
215+
83216
- name: Set up Python ${{ matrix.python-version }}
84217
uses: actions/setup-python@v4
85218
with:
86219
python-version: ${{ matrix.python-version }}
220+
87221
- name: Display Python version
88222
run: python -c "import sys; print(sys.version)"
223+
89224
- name: Install Python lib and test libs
90225
run: |
91226
pip install '.[test]'
227+
92228
- name: Run pycodestyle
93229
run: pycodestyle . --exclude=docs
94-
- name: Setup castxml for Linux
95-
if: matrix.os == 'ubuntu-20.04' && matrix.castxml == 'castxml'
230+
231+
# ─── Setup CastXML para Linux ───────────────────────────────────
232+
- name: Setup CastXML for Linux x86_64 (Ubuntu 22.04)
233+
if: matrix.os == 'ubuntu-22.04'
96234
run: |
97-
wget -q -O - https://data.kitware.com/api/v1/file/hashsum/sha512/bdbb67a10c5f8d1b738cd19cb074f409d4803e8077cb8c1072ef4eaf738fa871a73643f9c8282d58cae28d188df842c82ad6620b6d590b0396a0172a27438dce/download | tar zxf - -C ~/
98-
- name: Setup castxml for Mac
99-
if: matrix.os == 'macos-13'
235+
wget -q https://github.com/CastXML/CastXMLSuperbuild/releases/download/v0.6.11/castxml-ubuntu-22.04-x86_64.zip
236+
mkdir -p ~/castxml-temp
237+
unzip -q castxml-ubuntu-22.04-x86_64.zip -d ~/castxml-temp
238+
tar -xzf ~/castxml-temp/castxml-ubuntu-22.04-x86_64.tar.gz -C ~/castxml-temp
239+
mv ~/castxml-temp/castxml-ubuntu-22.04-x86_64 ~/castxml
240+
chmod +x ~/castxml/castxml
241+
rm -rf ~/castxml-temp
242+
243+
- name: Setup CastXML for Linux x86_64 (Ubuntu 24.04)
244+
if: matrix.os == 'ubuntu-24.04'
245+
run: |
246+
wget -q https://github.com/CastXML/CastXMLSuperbuild/releases/download/v0.6.11/castxml-ubuntu-24.04-x86_64.zip
247+
mkdir -p ~/castxml-temp
248+
unzip -q castxml-ubuntu-24.04-x86_64.zip -d ~/castxml-temp
249+
tar -xzf ~/castxml-temp/castxml-ubuntu-24.04-x86_64.tar.gz -C ~/castxml-temp
250+
mv ~/castxml-temp/castxml-ubuntu-24.04-x86_64 ~/castxml
251+
chmod +x ~/castxml/castxml
252+
rm -rf ~/castxml-temp
253+
254+
# ─── Setup CastXML para Linux ARM64 ──────────────────────────────
255+
- name: Setup CastXML for Linux ARM64 (Ubuntu 22.04)
256+
if: matrix.os == 'ubuntu-22.04-arm64'
257+
run: |
258+
wget -q https://github.com/CastXML/CastXMLSuperbuild/releases/download/v0.6.11/castxml-ubuntu-22.04-arm-aarch64.zip
259+
mkdir -p ~/castxml-temp
260+
unzip -q castxml-ubuntu-22.04-arm-aarch64.zip -d ~/castxml-temp
261+
tar -xzf ~/castxml-temp/castxml-ubuntu-22.04-arm-aarch64.tar.gz -C ~/castxml-temp
262+
mv ~/castxml-temp/castxml-ubuntu-22.04-arm-aarch64 ~/castxml
263+
chmod +x ~/castxml/castxml
264+
rm -rf ~/castxml-temp
265+
266+
- name: Setup CastXML for Linux ARM64 (Ubuntu 24.04)
267+
if: matrix.os == 'ubuntu-24.04-arm64'
100268
run: |
101-
wget -q -O - https://data.kitware.com/api/v1/file/hashsum/sha512/5d937e938f7b882a3a3e7941e68f8312d0898aaf2082e00003dd362b1ba70b98b0a08706a1be28e71652a6a0f1e66f89768b5eaa20e5a100592d5b3deefec3f0/download | tar zxf - -C ~/
269+
wget -q https://github.com/CastXML/CastXMLSuperbuild/releases/download/v0.6.11/castxml-ubuntu-24.04-arm-aarch64.zip
270+
mkdir -p ~/castxml-temp
271+
unzip -q castxml-ubuntu-24.04-arm-aarch64.zip -d ~/castxml-temp
272+
tar -xzf ~/castxml-temp/castxml-ubuntu-24.04-arm-aarch64.tar.gz -C ~/castxml-temp
273+
mv ~/castxml-temp/castxml-ubuntu-24.04-arm-aarch64 ~/castxml
274+
chmod +x ~/castxml/castxml
275+
rm -rf ~/castxml-temp
276+
277+
# ─── Setup CastXML para macOS ─────────────────────────────────────
278+
- name: Setup CastXML for macOS (x86_64)
279+
if: matrix.os == 'macos-15' && matrix.arch == 'x86_64'
280+
run: |
281+
wget -q https://github.com/CastXML/CastXMLSuperbuild/releases/download/v0.6.11/castxml-macos-15-x86_64.zip
282+
mkdir -p ~/castxml-temp
283+
unzip -q castxml-macos-15-x86_64.zip -d ~/castxml-temp
284+
tar -xzf ~/castxml-temp/castxml-macos-15-x86_64.tar.gz -C ~/castxml-temp
285+
mv ~/castxml-temp/castxml-macos-15-x86_64 ~/castxml
286+
chmod +x ~/castxml/castxml
287+
rm -rf ~/castxml-temp
288+
289+
- name: Setup CastXML for macOS (ARM)
290+
if: matrix.os == 'macos-15' && matrix.arch == 'arm64'
291+
run: |
292+
wget -q https://github.com/CastXML/CastXMLSuperbuild/releases/download/v0.6.11/castxml-macos-15-arm64.zip
293+
mkdir -p ~/castxml-temp
294+
unzip -q castxml-macos-15-arm64.zip -d ~/castxml-temp
295+
tar -xzf ~/castxml-temp/castxml-macos-15-arm64.tar.gz -C ~/castxml-temp
296+
mv ~/castxml-temp/castxml-macos-15-arm64 ~/castxml
297+
chmod +x ~/castxml/castxml
298+
rm -rf ~/castxml-temp
299+
102300
- name: Run tests
103301
run: |
104-
export PATH=~/castxml/bin:$PATH
302+
export PATH=~/castxml:$PATH
105303
pytest tests

pyproject.toml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ keywords = [
1818
"CastXML",
1919
"gccxml",
2020
]
21-
version = "2.6.1"
21+
version = "2.7.0"
2222

2323
classifiers = [
2424
"Development Status :: 5 - Production/Stable",
@@ -32,6 +32,8 @@ classifiers = [
3232
"Programming Language :: Python :: 3.9",
3333
"Programming Language :: Python :: 3.10",
3434
"Programming Language :: Python :: 3.11",
35+
"Programming Language :: Python :: 3.12",
36+
"Programming Language :: Python :: 3.13",
3537
"Programming Language :: Python :: Implementation :: CPython",
3638
"Programming Language :: Python :: Implementation :: PyPy",
3739
"Topic :: Software Development",
@@ -48,7 +50,7 @@ Repository = "https://github.com/CastXML/pygccxml"
4850
Changelog = "https://github.com/CastXML/pygccxml/CHANGELOG.md"
4951

5052
[options]
51-
python_requires = ">=3.7"
53+
python_requires = ">=3.9"
5254

5355
[project.optional-dependencies]
5456
test = [

0 commit comments

Comments
 (0)