|
11 | 11 | - sim-version: The version of the simulator to use. Valid values depend upon the simulator and build recipe. |
12 | 12 | - os: The OS to operate on. Must be a valid value for the "jobs.<job_name>.runs-on" field for Github Actions. |
13 | 13 | - python-version: The Python version to test with. Must be a valid value for the "python-version" field of the "actions/setup-python" Github Action. |
14 | | -- group: The group to run the test in. One of "ci", "experimental", or "extended". See below note. |
| 14 | +- group: The group to run the test in. One of "ci-free", "ci-licensed", "experimental", or "extended". See below note. |
15 | 15 |
|
16 | 16 | Optional fields: |
17 | 17 | - self-hosted: True if test needs to be run on a self-hosted Github Action runner. Default: False. |
|
20 | 20 | - extra_name: Additional tag prepended to computed name for test. Default: <none>. |
21 | 21 |
|
22 | 22 | What tests belong in what groups: |
23 | | -- ci: The most recent stable release of a given simulator, all supported versions of Python, and all supported operating systems. Run on all PRs and master pushes. |
| 23 | +- ci-free: The most recent stable release of a given free simulator, all supported versions of Python, and all supported operating systems. Run on all PRs and master pushes. |
| 24 | +- ci-licensed: The most recent stable release of a given licensed simulator. Run on all PRs and master pushes in the cocotb repo, but are skipped in forks. |
24 | 25 | - experimental: Development HEAD for each simulator, any under-development version of Python, and under-development simulator. Run weekly. |
25 | 26 | - extended: The minimum supoprted version of a simulator, and a smattering of released simulator versions between the minimum and most recent. Run weekly. |
26 | 27 |
|
27 | 28 | Ideally, whenever a new version of a simulator is released, a new test should be added for that simulator. |
28 | | -The current test in the "ci" group should be moved to "extended", |
29 | | -and the new version should be added to "ci" and any changes in behavior recorded with expectations to make CI pass. |
| 29 | +The current test in the "ci-free"/"ci-licensed" group should be moved to "extended", |
| 30 | +and the new version should be added to "ci-free"/"ci-licensed" and any changes in behavior recorded with expectations to make CI pass. |
30 | 31 | """ |
31 | 32 |
|
32 | 33 | import argparse |
|
41 | 42 | "sim-version": "r1.16.0", |
42 | 43 | "os": "ubuntu-22.04", |
43 | 44 | "python-version": "3.6", |
44 | | - "group": "ci", |
| 45 | + "group": "ci-free", |
45 | 46 | "setup_python": "pyenv", |
46 | 47 | }, |
47 | 48 | { |
|
50 | 51 | "sim-version": "r1.16.0", |
51 | 52 | "os": "ubuntu-22.04", |
52 | 53 | "python-version": "3.7", |
53 | | - "group": "ci", |
| 54 | + "group": "ci-free", |
54 | 55 | "setup_python": "pyenv", |
55 | 56 | }, |
56 | 57 | { |
|
59 | 60 | "sim-version": "r1.16.0", |
60 | 61 | "os": "ubuntu-22.04", |
61 | 62 | "python-version": "3.8", |
62 | | - "group": "ci", |
| 63 | + "group": "ci-free", |
63 | 64 | }, |
64 | 65 | { |
65 | 66 | "lang": "vhdl", |
66 | 67 | "sim": "nvc", |
67 | 68 | "sim-version": "r1.16.0", |
68 | 69 | "os": "ubuntu-22.04", |
69 | 70 | "python-version": "3.9", |
70 | | - "group": "ci", |
| 71 | + "group": "ci-free", |
71 | 72 | }, |
72 | 73 | { |
73 | 74 | "lang": "vhdl", |
74 | 75 | "sim": "nvc", |
75 | 76 | "sim-version": "r1.16.0", |
76 | 77 | "os": "ubuntu-22.04", |
77 | 78 | "python-version": "3.10", |
78 | | - "group": "ci", |
| 79 | + "group": "ci-free", |
79 | 80 | }, |
80 | 81 | { |
81 | 82 | "lang": "vhdl", |
82 | 83 | "sim": "nvc", |
83 | 84 | "sim-version": "r1.16.0", |
84 | 85 | "os": "ubuntu-22.04", |
85 | 86 | "python-version": "3.11", |
86 | | - "group": "ci", |
| 87 | + "group": "ci-free", |
87 | 88 | }, |
88 | 89 | { |
89 | 90 | "lang": "vhdl", |
90 | 91 | "sim": "nvc", |
91 | 92 | "sim-version": "r1.16.0", |
92 | 93 | "os": "ubuntu-22.04", |
93 | 94 | "python-version": "3.12", |
94 | | - "group": "ci", |
| 95 | + "group": "ci-free", |
95 | 96 | }, |
96 | 97 | { |
97 | 98 | "lang": "vhdl", |
98 | 99 | "sim": "nvc", |
99 | 100 | "sim-version": "r1.16.0", |
100 | 101 | "os": "ubuntu-22.04", |
101 | 102 | "python-version": "3.13", |
102 | | - "group": "ci", |
| 103 | + "group": "ci-free", |
103 | 104 | }, |
104 | 105 | # A single test for the upcoming Python version. |
105 | 106 | { |
|
108 | 109 | "sim-version": "r1.16.0", |
109 | 110 | "os": "ubuntu-22.04", |
110 | 111 | "python-version": "3.14-dev", |
111 | | - "group": "ci", |
| 112 | + "group": "experimental", |
112 | 113 | }, |
113 | 114 | # Test Icarus on Ubuntu |
114 | 115 | { |
|
125 | 126 | "sim-version": "v12_0", # The latest release version. |
126 | 127 | "os": "ubuntu-22.04", |
127 | 128 | "python-version": "3.9", |
128 | | - "group": "ci", |
| 129 | + "group": "ci-free", |
129 | 130 | }, |
130 | 131 | { |
131 | 132 | "lang": "verilog", |
|
166 | 167 | "sim-version": "v5.0.1", # The latest release version. |
167 | 168 | "os": "ubuntu-22.04", |
168 | 169 | "python-version": "3.9", |
169 | | - "group": "ci", |
| 170 | + "group": "ci-free", |
170 | 171 | }, |
171 | 172 | { |
172 | 173 | "lang": "vhdl", |
|
193 | 194 | "sim-version": "v5.036", # Latest release version. |
194 | 195 | "os": "ubuntu-22.04", |
195 | 196 | "python-version": "3.10", |
196 | | - "group": "ci", |
| 197 | + "group": "ci-free", |
197 | 198 | }, |
198 | 199 | { |
199 | 200 | "lang": "verilog", |
|
219 | 220 | "sim-version": "homebrew-stable", |
220 | 221 | "os": "macos-13", |
221 | 222 | "python-version": "3.9", |
222 | | - "group": "ci", |
| 223 | + "group": "ci-free", |
223 | 224 | }, |
224 | 225 | # Icarus homebrew (HEAD/master) |
225 | 226 | { |
|
247 | 248 | "sim-version": "v5.036", |
248 | 249 | "os": "macos-13", |
249 | 250 | "python-version": "3.9", |
250 | | - "group": "ci", |
| 251 | + "group": "ci-free", |
251 | 252 | "may-fail": True, # verilator/verilator#5404 |
252 | 253 | }, |
253 | 254 | # Icarus windows from source |
|
259 | 260 | "python-version": "3.11", |
260 | 261 | "toolchain": "mingw", |
261 | 262 | "extra-name": "mingw", |
262 | | - "group": "ci", |
| 263 | + "group": "ci-free", |
263 | 264 | }, |
264 | 265 | # use msvc instead of mingw |
265 | 266 | { |
|
270 | 271 | "python-version": "3.11", |
271 | 272 | "toolchain": "msvc", |
272 | 273 | "extra-name": "msvc", |
273 | | - "group": "ci", |
| 274 | + "group": "ci-free", |
274 | 275 | }, |
275 | 276 | # Other |
276 | 277 | # use clang instead of gcc |
|
283 | 284 | "cxx": "clang++", |
284 | 285 | "cc": "clang", |
285 | 286 | "extra-name": "clang", |
286 | | - "group": "ci", |
| 287 | + "group": "ci-free", |
287 | 288 | }, |
288 | 289 | # Test Siemens Questa on Ubuntu |
289 | 290 | { |
|
293 | 294 | "os": "ubuntu-22.04", |
294 | 295 | "self-hosted": True, |
295 | 296 | "python-version": "3.9", |
296 | | - "group": "licensed", |
| 297 | + "group": "ci-licensed", |
297 | 298 | }, |
298 | 299 | { |
299 | 300 | "lang": "vhdl and fli", |
|
302 | 303 | "os": "ubuntu-22.04", |
303 | 304 | "self-hosted": True, |
304 | 305 | "python-version": "3.9", |
305 | | - "group": "licensed", |
| 306 | + "group": "ci-licensed", |
306 | 307 | }, |
307 | 308 | { |
308 | 309 | "lang": "vhdl and vhpi", |
|
311 | 312 | "os": "ubuntu-22.04", |
312 | 313 | "self-hosted": True, |
313 | 314 | "python-version": "3.9", |
314 | | - "group": "licensed", |
| 315 | + "group": "ci-licensed", |
315 | 316 | }, |
316 | 317 | # Test Aldec Riviera-PRO on Ubuntu |
317 | 318 | { |
|
321 | 322 | "os": "ubuntu-22.04", |
322 | 323 | "self-hosted": True, |
323 | 324 | "python-version": "3.9", |
324 | | - "group": "licensed", |
| 325 | + "group": "ci-licensed", |
325 | 326 | }, |
326 | 327 | { |
327 | 328 | "lang": "vhdl", |
|
330 | 331 | "os": "ubuntu-22.04", |
331 | 332 | "self-hosted": True, |
332 | 333 | "python-version": "3.9", |
333 | | - "group": "licensed", |
| 334 | + "group": "ci-licensed", |
334 | 335 | }, |
335 | 336 | # Test Cadence Xcelium on Ubuntu |
336 | 337 | { |
|
340 | 341 | "os": "ubuntu-22.04", |
341 | 342 | "self-hosted": True, |
342 | 343 | "python-version": "3.9", |
343 | | - "group": "licensed", |
| 344 | + "group": "ci-licensed", |
344 | 345 | }, |
345 | 346 | { |
346 | 347 | "lang": "vhdl", |
|
349 | 350 | "os": "ubuntu-22.04", |
350 | 351 | "self-hosted": True, |
351 | 352 | "python-version": "3.9", |
352 | | - "group": "licensed", |
| 353 | + "group": "ci-licensed", |
353 | 354 | }, |
354 | 355 | # Test Synopsys VCS on Ubuntu |
355 | 356 | { |
|
359 | 360 | "os": "ubuntu-22.04", |
360 | 361 | "self-hosted": True, |
361 | 362 | "python-version": "3.9", |
362 | | - "group": "licensed", |
| 363 | + "group": "ci-licensed", |
363 | 364 | }, |
364 | 365 | { |
365 | 366 | "lang": "vhdl", |
|
0 commit comments