Skip to content

Commit 94cb60a

Browse files
authored
Update tests.yml
1 parent 2ea1ad8 commit 94cb60a

File tree

1 file changed

+129
-137
lines changed

1 file changed

+129
-137
lines changed

.github/workflows/tests.yml

Lines changed: 129 additions & 137 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ on:
77

88
jobs:
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

Comments
 (0)