77
88jobs :
99 tests :
10- name : ${{ matrix.os }}-${{ matrix.compiler }}-${{ matrix.version }}-python-${{ matrix.python-version }}-${{ matrix.castxml-epic }}
10+ name : ${{ matrix.os }}-${{ matrix.compiler }}-${{ matrix.version }}-python-${{ matrix.python-version }}-castxml-epic- ${{ matrix.castxml-epic }}
1111 runs-on : ${{ matrix.os }}
1212 strategy :
1313 fail-fast : false
@@ -17,177 +17,186 @@ jobs:
1717 compiler : gcc
1818 version : " 11"
1919 python-version : " 3.10"
20- castxml : " castxml"
21- castxml-epic : 0
22- cppstd : " -std=c++17"
23-
24- - os : ubuntu-22.04
25- compiler : gcc
26- version : " 11"
27- python-version : " 3.10"
28- castxml : " castxml"
29- castxml-epic : 0
30- cppstd : " -std=c++17"
31-
32- - os : ubuntu-22.04
33- compiler : gcc
34- version : " 11"
35- python-version : " 3.10"
36- castxml : " castxml"
37- castxml-epic : 0
38- cppstd : " -std=c++17"
39-
40- - os : ubuntu-22.04
41- compiler : gcc
42- version : " 11"
43- python-version : " 3.10"
44- castxml : " castxml"
4520 castxml-epic : 0
4621 cppstd : " -std=c++17"
22+ castxml_url : " https://github.com/CastXML/CastXMLSuperbuild/releases/download/v0.6.11/castxml-ubuntu-22.04-x86_64.zip"
23+ castxml_filename : " castxml-ubuntu-22.04-x86_64.zip"
24+ castxml_tar_filename : " castxml-ubuntu-22.04-x86_64.tar.gz"
4725
4826 - os : ubuntu-22.04
4927 compiler : gcc
5028 version : " 11"
5129 python-version : " 3.11"
52- castxml : " castxml"
5330 castxml-epic : 0
5431 cppstd : " -std=c++17"
32+ castxml_url : " https://github.com/CastXML/CastXMLSuperbuild/releases/download/v0.6.11/castxml-ubuntu-22.04-x86_64.zip"
33+ castxml_filename : " castxml-ubuntu-22.04-x86_64.zip"
34+ castxml_tar_filename : " castxml-ubuntu-22.04-x86_64.tar.gz"
5535
5636 - os : ubuntu-22.04
5737 compiler : gcc
5838 version : " 11"
5939 python-version : " 3.10"
60- castxml : " castxml"
6140 castxml-epic : 1
6241 cppstd : " -std=c++17"
42+ castxml_url : " https://github.com/CastXML/CastXMLSuperbuild/releases/download/v0.6.11/castxml-ubuntu-22.04-x86_64.zip"
43+ castxml_filename : " castxml-ubuntu-22.04-x86_64.zip"
44+ castxml_tar_filename : " castxml-ubuntu-22.04-x86_64.tar.gz"
6345
6446 - os : ubuntu-22.04
6547 compiler : gcc
6648 version : " 11"
6749 python-version : " 3.10"
68- castxml : " castxml"
6950 castxml-epic : 1
7051 cppstd : " -std=c++11"
52+ castxml_url : " https://github.com/CastXML/CastXMLSuperbuild/releases/download/v0.6.11/castxml-ubuntu-22.04-x86_64.zip"
53+ castxml_filename : " castxml-ubuntu-22.04-x86_64.zip"
54+ castxml_tar_filename : " castxml-ubuntu-22.04-x86_64.tar.gz"
7155
72- - os : ubuntu-22.04-arm64
73- compiler : gcc
74- version : " 11"
75- python-version : " 3.10"
76- castxml : " castxml"
77- castxml-epic : 0
78- cppstd : " -std=c++17"
79-
80- - os : ubuntu-22.04-arm64
81- compiler : gcc
82- version : " 11"
83- python-version : " 3.10"
84- castxml : " castxml"
85- castxml-epic : 0
86- cppstd : " -std=c++17"
87-
88- - os : ubuntu-22.04-arm64
56+ - os : ubuntu-22.04
8957 compiler : gcc
9058 version : " 11"
9159 python-version : " 3.10"
92- castxml : " castxml"
9360 castxml-epic : 0
9461 cppstd : " -std=c++17"
62+ castxml_url : " https://github.com/CastXML/CastXMLSuperbuild/releases/download/v0.6.11/castxml-ubuntu-22.04-arm-aarch64.zip"
63+ castxml_filename : " castxml-ubuntu-22.04-arm-aarch64.zip"
64+ castxml_tar_filename : " castxml-ubuntu-22.04-arm-aarch64.tar.gz"
65+ container :
66+ image : arm64v8/ubuntu:22.04
9567
96- - os : ubuntu-22.04-arm64
68+ - os : ubuntu-22.04
9769 compiler : gcc
9870 version : " 11"
9971 python-version : " 3.11"
100- castxml : " castxml"
10172 castxml-epic : 0
10273 cppstd : " -std=c++17"
74+ castxml_url : " https://github.com/CastXML/CastXMLSuperbuild/releases/download/v0.6.11/castxml-ubuntu-22.04-arm-aarch64.zip"
75+ castxml_filename : " castxml-ubuntu-22.04-arm-aarch64.zip"
76+ castxml_tar_filename : " castxml-ubuntu-22.04-arm-aarch64.tar.gz"
77+ container :
78+ image : arm64v8/ubuntu:22.04
10379
104- - os : ubuntu-22.04-arm64
80+ - os : ubuntu-22.04
10581 compiler : gcc
10682 version : " 11"
10783 python-version : " 3.10"
108- castxml : " castxml"
10984 castxml-epic : 1
11085 cppstd : " -std=c++17"
86+ castxml_url : " https://github.com/CastXML/CastXMLSuperbuild/releases/download/v0.6.11/castxml-ubuntu-22.04-arm-aarch64.zip"
87+ castxml_filename : " castxml-ubuntu-22.04-arm-aarch64.zip"
88+ castxml_tar_filename : " castxml-ubuntu-22.04-arm-aarch64.tar.gz"
89+ container :
90+ image : arm64v8/ubuntu:22.04
11191
112- - os : ubuntu-22.04-arm64
92+ - os : ubuntu-22.04
11393 compiler : gcc
11494 version : " 11"
11595 python-version : " 3.10"
116- castxml : " castxml"
11796 castxml-epic : 1
11897 cppstd : " -std=c++11"
98+ castxml_url : " https://github.com/CastXML/CastXMLSuperbuild/releases/download/v0.6.11/castxml-ubuntu-22.04-arm-aarch64.zip"
99+ castxml_filename : " castxml-ubuntu-22.04-arm-aarch64.zip"
100+ castxml_tar_filename : " castxml-ubuntu-22.04-arm-aarch64.tar.gz"
101+ container :
102+ image : arm64v8/ubuntu:22.04
119103
120- - os : ubuntu-24.04-arm64
121- compiler : gcc
122- version : " 14"
123- python-version : " 3.12"
124- castxml : " castxml"
125- castxml-epic : 0
126- cppstd : " -std=c++17"
127-
128- - os : ubuntu-24.04-arm64
104+ - os : ubuntu-24.04
129105 compiler : gcc
130106 version : " 14"
131107 python-version : " 3.12"
132- castxml : " castxml"
133108 castxml-epic : 0
134109 cppstd : " -std=c++17"
110+ castxml_url : " https://github.com/CastXML/CastXMLSuperbuild/releases/download/v0.6.11/castxml-ubuntu-24.04-x86_64.zip"
111+ castxml_filename : " castxml-ubuntu-24.04-x86_64.zip"
112+ castxml_tar_filename : " castxml-ubuntu-24.04-x86_64.tar.gz"
135113
136- - os : ubuntu-24.04-arm64
114+ - os : ubuntu-24.04
137115 compiler : gcc
138116 version : " 14"
139117 python-version : " 3.12"
140- castxml : " castxml"
141- castxml-epic : 0
118+ castxml-epic : 1
142119 cppstd : " -std=c++17"
120+ castxml_url : " https://github.com/CastXML/CastXMLSuperbuild/releases/download/v0.6.11/castxml-ubuntu-24.04-x86_64.zip"
121+ castxml_filename : " castxml-ubuntu-24.04-x86_64.zip"
122+ castxml_tar_filename : " castxml-ubuntu-24.04-x86_64.tar.gz"
143123
144- - os : ubuntu-24.04-arm64
124+ - os : ubuntu-24.04
145125 compiler : gcc
146126 version : " 14"
147127 python-version : " 3.12"
148- castxml : " castxml"
149- castxml-epic : 0
150- cppstd : " -std=c++17"
128+ castxml-epic : 1
129+ cppstd : " -std=c++11"
130+ castxml_url : " https://github.com/CastXML/CastXMLSuperbuild/releases/download/v0.6.11/castxml-ubuntu-24.04-x86_64.zip"
131+ castxml_filename : " castxml-ubuntu-24.04-x86_64.zip"
132+ castxml_tar_filename : " castxml-ubuntu-24.04-x86_64.tar.gz"
151133
152- - os : ubuntu-24.04-arm64
134+ - os : ubuntu-24.04 # Use standard ubuntu-24.04 runner
153135 compiler : gcc
154136 version : " 14"
155137 python-version : " 3.12"
156- castxml : " castxml"
157138 castxml-epic : 0
158139 cppstd : " -std=c++17"
140+ castxml_url : " https://github.com/CastXML/CastXMLSuperbuild/releases/download/v0.6.11/castxml-ubuntu-24.04-arm-aarch64.zip" # Corrected URL
141+ castxml_filename : " castxml-ubuntu-24.04-arm-aarch64.zip" # Corrected filename
142+ castxml_tar_filename : " castxml-ubuntu-24.04-arm-aarch64.tar.gz" # Corrected tar filename
143+ container :
144+ image : arm64v8/ubuntu:24.04
159145
160- - os : ubuntu-24.04-arm64
146+ - os : ubuntu-24.04 # Use standard ubuntu-24.04 runner
161147 compiler : gcc
162148 version : " 14"
163149 python-version : " 3.12"
164- castxml : " castxml"
165150 castxml-epic : 1
166151 cppstd : " -std=c++17"
152+ castxml_url : " https://github.com/CastXML/CastXMLSuperbuild/releases/download/v0.6.11/castxml-ubuntu-24.04-arm-aarch64.zip" # Corrected URL
153+ castxml_filename : " castxml-ubuntu-24.04-arm-aarch64.zip" # Corrected filename
154+ castxml_tar_filename : " castxml-ubuntu-24.04-arm-aarch64.tar.gz" # Corrected tar filename
155+ container :
156+ image : arm64v8/ubuntu:24.04
167157
168- - os : ubuntu-24.04-arm64
158+ - os : ubuntu-24.04 # Use standard ubuntu-24.04 runner
169159 compiler : gcc
170160 version : " 14"
171161 python-version : " 3.12"
172- castxml : " castxml"
173162 castxml-epic : 1
174- cppstd : " -std=c++17"
163+ cppstd : " -std=c++11"
164+ castxml_url : " https://github.com/CastXML/CastXMLSuperbuild/releases/download/v0.6.11/castxml-ubuntu-24.04-arm-aarch64.zip" # Corrected URL
165+ castxml_filename : " castxml-ubuntu-24.04-arm-aarch64.zip" # Corrected filename
166+ castxml_tar_filename : " castxml-ubuntu-24.04-arm-aarch64.tar.gz" # Corrected tar filename
167+ container :
168+ image : arm64v8/ubuntu:24.04
175169
176170 - os : macos-13
177171 compiler : xcode
178172 version : " default"
179173 python-version : " 3.10"
180- castxml : " castxml"
181174 castxml-epic : 0
182175 cppstd : " -std=c++17"
176+ castxml_url : " https://github.com/CastXML/CastXMLSuperbuild/releases/download/v0.6.11/castxml-macos-15-x86_64.zip"
177+ castxml_filename : " castxml-macos-15-x86_64.zip"
178+ castxml_tar_filename : " castxml-macos-15-x86_64.tar.gz"
183179
184- - os : macos-15
180+ - os : macos-14
185181 compiler : xcode
186182 version : " default"
187183 python-version : " 3.12"
188- castxml : " castxml"
189184 castxml-epic : 0
190185 cppstd : " -std=c++17"
186+ castxml_url : " https://github.com/CastXML/CastXMLSuperbuild/releases/download/v0.6.11/castxml-macos-15-arm64.zip"
187+ castxml_filename : " castxml-macos-15-arm64.zip"
188+ castxml_tar_filename : " castxml-macos-15-arm64.tar.gz"
189+
190+ - os : windows-latest # Add Windows
191+ compiler : msvc # Or whatever compiler you use on Windows
192+ version : " default" # Adjust as needed
193+ python-version : " 3.10"
194+ castxml-epic : 0
195+ cppstd : " -std=c++17"
196+ castxml_url : " https://github.com/CastXML/CastXMLSuperbuild/releases/download/v0.6.11/castxml-windows-2025-amd64.zip" # Windows URL
197+ castxml_filename : " castxml-windows-2025-amd64.zip"
198+ castxml_tar_filename : " castxml-windows-2025-amd64.tar.gz" # Windows tar.gz name.
199+
191200 steps :
192201 - uses : actions/checkout@v4
193202 - name : Set up Python ${{ matrix.python-version }}
@@ -197,67 +206,50 @@ jobs:
197206 - name : Display Python version
198207 run : python -c "import sys; print(sys.version)"
199208 - name : Install Python lib and test libs
200- run : |
201- pip install '.[test]'
202-
209+ run : pip install '.[test]'
210+
203211 - name : Run pycodestyle
204212 run : pycodestyle . --exclude=docs
205213
206- # ─── Setup CastXML for Linux x86_64 ──────────────────────────────
207- - name : Setup CastXML for Linux x86_64 (Ubuntu 22.04)
208- if : matrix.os == 'ubuntu-22.04'
209- run : |
210- wget -q https://github.com/CastXML/CastXMLSuperbuild/releases/download/v0.6.11/castxml-ubuntu-22.04-x86_64.zip
211- unzip -q castxml-ubuntu-22.04-x86_64.zip -d ~/
212- # The zip contains an inner archive (a .tar.gz file); extract it:
213- tar -xzf ~/castxml-ubuntu-22.04-x86_64.tar.gz -C ~/
214- # Rename or move the extracted folder to a known location
215- mv ~/castxml-ubuntu-22.04-x86_64 ~/castxml
216-
217- - name : Setup CastXML for Linux x86_64 (Ubuntu 24.04)
218- if : matrix.os == 'ubuntu-24.04'
219- run : |
220- wget -q https://github.com/CastXML/CastXMLSuperbuild/releases/download/v0.6.11/castxml-ubuntu-24.04-x86_64.zip
221- unzip -q castxml-ubuntu-24.04-x86_64.zip -d ~/
222- tar -xzf ~/castxml-ubuntu-24.04-x86_64.tar.gz -C ~/
223- mv ~/castxml-ubuntu-24.04-x86_64 ~/castxml
224-
225- # ─── Setup CastXML for Linux ARM64/aarch64 ─────────────────────────
226- - name : Setup CastXML for Linux ARM64 (Ubuntu 22.04)
227- if : matrix.os == 'ubuntu-22.04-arm64'
228- run : |
229- wget -q https://github.com/CastXML/CastXMLSuperbuild/releases/download/v0.6.11/castxml-ubuntu-22.04-arm-aarch64.zip
230- unzip -q castxml-ubuntu-22.04-arm-aarch64.zip -d ~/
231- tar -xzf ~/castxml-ubuntu-22.04-arm-aarch64.tar.gz -C ~/
232- mv ~/castxml-ubuntu-22.04-arm-aarch64 ~/castxml
233-
234- - name : Setup CastXML for Linux ARM64 (Ubuntu 24.04)
235- if : matrix.os == 'ubuntu-24.04-arm64'
236- run : |
237- wget -q https://github.com/CastXML/CastXMLSuperbuild/releases/download/v0.6.11/castxml-ubuntu-24.04-arm-aarch64.zip
238- unzip -q castxml-ubuntu-24.04-arm-aarch64.zip -d ~/
239- tar -xzf ~/castxml-ubuntu-24.04-arm-aarch64.tar.gz -C ~/
240- mv ~/castxml-ubuntu-24.04-arm-aarch64 ~/castxml
241-
242- # ─── Setup CastXML for macOS ──────────────────────────────────────
243- # For macOS, we assume different runners may need different binaries.
244- - name : Setup CastXML for macOS (x86_64)
245- if : matrix.os == 'macos-13'
246- run : |
247- wget -q https://github.com/CastXML/CastXMLSuperbuild/releases/download/v0.6.11/castxml-macos-15-x86_64.zip
248- unzip -q castxml-macos-15-x86_64.zip -d ~/
249- tar -xzf ~/castxml-macos-15-x86_64.tar.gz -C ~/
250- mv ~/castxml-macos-15-x86_64 ~/castxml
251-
252- - name : Setup CastXML for macOS (ARM)
253- if : matrix.os == 'macos-15'
214+ - name : Setup CastXML
254215 run : |
255- wget -q https://github.com/CastXML/CastXMLSuperbuild/releases/download/v0.6.11/castxml-macos-15-arm64.zip
256- unzip -q castxml-macos-15-arm64.zip -d ~/
257- tar -xzf ~/castxml-macos-15-arm64.tar.gz -C ~/
258- mv ~/castxml-macos-15-arm64 ~/castxml
216+ echo "Downloading CastXML from ${{ matrix.castxml_url }}..."
217+ wget -q "${{ matrix.castxml_url }}" -O "${{ matrix.castxml_filename }}"
218+
219+ echo "Unzipping ${{ matrix.castxml_filename }}..."
220+ unzip -q "${{ matrix.castxml_filename }}" -d ~/
221+
222+ if [ ! -f ~/"${{ matrix.castxml_tar_filename }}" ]; then
223+ echo "Error: Inner tar.gz archive '${{ matrix.castxml_tar_filename }}' not found!"
224+ exit 1
225+ fi
226+
227+ echo "Extracting ~/${{ matrix.castxml_tar_filename }} to ~/castxml_install..."
228+ mkdir -p ~/castxml_install
229+ tar -xzf ~/"${{ matrix.castxml_tar_filename }}" -C ~/castxml_install
230+
231+ # --- Windows-specific handling ---
232+ if [[ "${{ matrix.os }}" == "windows-latest" ]]; then
233+ if [ ! -f ~/castxml_install/castxml.exe ]; then
234+ echo "Error: castxml.exe binary not found in ~/castxml_install!"
235+ exit 1
236+ fi
237+ echo "Adding ~/castxml_install to PATH..."
238+ echo "$HOME/castxml_install" >> $GITHUB_PATH
239+ else
240+ # --- Handling for non-Windows platforms ---
241+ if [ ! -f ~/castxml_install/castxml ]; then
242+ echo "Error: castxml binary not found in ~/castxml_install!"
243+ exit 1
244+ fi
245+ chmod +x ~/castxml_install/castxml
246+
247+ echo "Adding ~/castxml_install to PATH..."
248+ echo "$HOME/castxml_install" >> $GITHUB_PATH
249+ fi
259250
260251 - name : Run tests
261252 run : |
262- export PATH=~/castxml/bin:$PATH
263- pytest tests
253+ echo "Using castxml at: $(which castxml)"
254+ castxml --version
255+ pytest tests
0 commit comments