Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit e67f46f

Browse files
committed
Fix CI issues
1 parent dd6ee95 commit e67f46f

File tree

8 files changed

+68
-89
lines changed

8 files changed

+68
-89
lines changed

.codecov.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ codecov:
1717
#
1818
# [1] https://docs.codecov.io/docs/merging-reports#how-does-codecov-know-when-to-send-notifications
1919
# [2] https://docs.codecov.io/docs/notifications#preventing-notifications-until-after-n-builds
20-
after_n_builds: 25
20+
after_n_builds: 24
2121

2222
coverage:
2323
status:

.github/generate-envs.py

Lines changed: 30 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
- sim-version: The version of the simulator to use. Valid values depend upon the simulator and build recipe.
1212
- os: The OS to operate on. Must be a valid value for the "jobs.<job_name>.runs-on" field for Github Actions.
1313
- 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.
1515
1616
Optional fields:
1717
- self-hosted: True if test needs to be run on a self-hosted Github Action runner. Default: False.
@@ -20,13 +20,14 @@
2020
- extra_name: Additional tag prepended to computed name for test. Default: <none>.
2121
2222
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.
2425
- experimental: Development HEAD for each simulator, any under-development version of Python, and under-development simulator. Run weekly.
2526
- extended: The minimum supoprted version of a simulator, and a smattering of released simulator versions between the minimum and most recent. Run weekly.
2627
2728
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.
3031
"""
3132

3233
import argparse
@@ -41,7 +42,7 @@
4142
"sim-version": "r1.16.0",
4243
"os": "ubuntu-22.04",
4344
"python-version": "3.6",
44-
"group": "ci",
45+
"group": "ci-free",
4546
"setup_python": "pyenv",
4647
},
4748
{
@@ -50,7 +51,7 @@
5051
"sim-version": "r1.16.0",
5152
"os": "ubuntu-22.04",
5253
"python-version": "3.7",
53-
"group": "ci",
54+
"group": "ci-free",
5455
"setup_python": "pyenv",
5556
},
5657
{
@@ -59,47 +60,47 @@
5960
"sim-version": "r1.16.0",
6061
"os": "ubuntu-22.04",
6162
"python-version": "3.8",
62-
"group": "ci",
63+
"group": "ci-free",
6364
},
6465
{
6566
"lang": "vhdl",
6667
"sim": "nvc",
6768
"sim-version": "r1.16.0",
6869
"os": "ubuntu-22.04",
6970
"python-version": "3.9",
70-
"group": "ci",
71+
"group": "ci-free",
7172
},
7273
{
7374
"lang": "vhdl",
7475
"sim": "nvc",
7576
"sim-version": "r1.16.0",
7677
"os": "ubuntu-22.04",
7778
"python-version": "3.10",
78-
"group": "ci",
79+
"group": "ci-free",
7980
},
8081
{
8182
"lang": "vhdl",
8283
"sim": "nvc",
8384
"sim-version": "r1.16.0",
8485
"os": "ubuntu-22.04",
8586
"python-version": "3.11",
86-
"group": "ci",
87+
"group": "ci-free",
8788
},
8889
{
8990
"lang": "vhdl",
9091
"sim": "nvc",
9192
"sim-version": "r1.16.0",
9293
"os": "ubuntu-22.04",
9394
"python-version": "3.12",
94-
"group": "ci",
95+
"group": "ci-free",
9596
},
9697
{
9798
"lang": "vhdl",
9899
"sim": "nvc",
99100
"sim-version": "r1.16.0",
100101
"os": "ubuntu-22.04",
101102
"python-version": "3.13",
102-
"group": "ci",
103+
"group": "ci-free",
103104
},
104105
# A single test for the upcoming Python version.
105106
{
@@ -108,7 +109,7 @@
108109
"sim-version": "r1.16.0",
109110
"os": "ubuntu-22.04",
110111
"python-version": "3.14-dev",
111-
"group": "ci",
112+
"group": "experimental",
112113
},
113114
# Test Icarus on Ubuntu
114115
{
@@ -125,7 +126,7 @@
125126
"sim-version": "v12_0", # The latest release version.
126127
"os": "ubuntu-22.04",
127128
"python-version": "3.9",
128-
"group": "ci",
129+
"group": "ci-free",
129130
},
130131
{
131132
"lang": "verilog",
@@ -166,7 +167,7 @@
166167
"sim-version": "v5.0.1", # The latest release version.
167168
"os": "ubuntu-22.04",
168169
"python-version": "3.9",
169-
"group": "ci",
170+
"group": "ci-free",
170171
},
171172
{
172173
"lang": "vhdl",
@@ -193,7 +194,7 @@
193194
"sim-version": "v5.036", # Latest release version.
194195
"os": "ubuntu-22.04",
195196
"python-version": "3.10",
196-
"group": "ci",
197+
"group": "ci-free",
197198
},
198199
{
199200
"lang": "verilog",
@@ -219,7 +220,7 @@
219220
"sim-version": "homebrew-stable",
220221
"os": "macos-13",
221222
"python-version": "3.9",
222-
"group": "ci",
223+
"group": "ci-free",
223224
},
224225
# Icarus homebrew (HEAD/master)
225226
{
@@ -247,7 +248,7 @@
247248
"sim-version": "v5.036",
248249
"os": "macos-13",
249250
"python-version": "3.9",
250-
"group": "ci",
251+
"group": "ci-free",
251252
"may-fail": True, # verilator/verilator#5404
252253
},
253254
# Icarus windows from source
@@ -259,7 +260,7 @@
259260
"python-version": "3.11",
260261
"toolchain": "mingw",
261262
"extra-name": "mingw",
262-
"group": "ci",
263+
"group": "ci-free",
263264
},
264265
# use msvc instead of mingw
265266
{
@@ -270,7 +271,7 @@
270271
"python-version": "3.11",
271272
"toolchain": "msvc",
272273
"extra-name": "msvc",
273-
"group": "ci",
274+
"group": "ci-free",
274275
},
275276
# Other
276277
# use clang instead of gcc
@@ -283,7 +284,7 @@
283284
"cxx": "clang++",
284285
"cc": "clang",
285286
"extra-name": "clang",
286-
"group": "ci",
287+
"group": "ci-free",
287288
},
288289
# Test Siemens Questa on Ubuntu
289290
{
@@ -293,7 +294,7 @@
293294
"os": "ubuntu-22.04",
294295
"self-hosted": True,
295296
"python-version": "3.9",
296-
"group": "licensed",
297+
"group": "ci-licensed",
297298
},
298299
{
299300
"lang": "vhdl and fli",
@@ -302,7 +303,7 @@
302303
"os": "ubuntu-22.04",
303304
"self-hosted": True,
304305
"python-version": "3.9",
305-
"group": "licensed",
306+
"group": "ci-licensed",
306307
},
307308
{
308309
"lang": "vhdl and vhpi",
@@ -311,7 +312,7 @@
311312
"os": "ubuntu-22.04",
312313
"self-hosted": True,
313314
"python-version": "3.9",
314-
"group": "licensed",
315+
"group": "ci-licensed",
315316
},
316317
# Test Aldec Riviera-PRO on Ubuntu
317318
{
@@ -321,7 +322,7 @@
321322
"os": "ubuntu-22.04",
322323
"self-hosted": True,
323324
"python-version": "3.9",
324-
"group": "licensed",
325+
"group": "ci-licensed",
325326
},
326327
{
327328
"lang": "vhdl",
@@ -330,7 +331,7 @@
330331
"os": "ubuntu-22.04",
331332
"self-hosted": True,
332333
"python-version": "3.9",
333-
"group": "licensed",
334+
"group": "ci-licensed",
334335
},
335336
# Test Cadence Xcelium on Ubuntu
336337
{
@@ -340,7 +341,7 @@
340341
"os": "ubuntu-22.04",
341342
"self-hosted": True,
342343
"python-version": "3.9",
343-
"group": "licensed",
344+
"group": "ci-licensed",
344345
},
345346
{
346347
"lang": "vhdl",
@@ -349,7 +350,7 @@
349350
"os": "ubuntu-22.04",
350351
"self-hosted": True,
351352
"python-version": "3.9",
352-
"group": "licensed",
353+
"group": "ci-licensed",
353354
},
354355
# Test Synopsys VCS on Ubuntu
355356
{
@@ -359,7 +360,7 @@
359360
"os": "ubuntu-22.04",
360361
"self-hosted": True,
361362
"python-version": "3.9",
362-
"group": "licensed",
363+
"group": "ci-licensed",
363364
},
364365
{
365366
"lang": "vhdl",

.github/workflows/benchmark.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,10 @@
11
name: Performance Benchmark
22
# adapted from https://github.com/benchmark-action/github-action-benchmark#charts-on-github-pages-1
33

4+
concurrency:
5+
group: ${{ github.workflow }}-${{ github.event.number }}-${{ github.event.ref }}
6+
cancel-in-progress: ${{ !(contains(github.ref, 'release/') || contains(github.ref, 'master')) }}
7+
48
on:
59
push:
610
branches:

.github/workflows/build-test-dev.yml

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,10 @@
44

55
name: CI
66

7+
concurrency:
8+
group: ${{ github.workflow }}-${{ github.event.number }}-${{ github.event.ref }}
9+
cancel-in-progress: ${{ !(contains(github.ref, 'release/') || contains(github.ref, 'master')) }}
10+
711
on:
812
# Run this workflow on every push to the master branch, or a stable branch.
913
push:
@@ -51,4 +55,14 @@ jobs:
5155
nox_session_test_sim: dev_test_sim
5256
nox_session_test_nosim: dev_test_nosim
5357
collect_coverage: true
54-
group: ci
58+
group: ci-free
59+
60+
test_dev_licensed:
61+
if: github.repository == 'cocotb/cocotb'
62+
name: Regression Tests
63+
uses: ./.github/workflows/regression-tests.yml
64+
with:
65+
nox_session_test_sim: dev_test_sim
66+
nox_session_test_nosim: dev_test_nosim
67+
collect_coverage: true
68+
group: ci-licensed

.github/workflows/build-test-release.yml

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,10 @@
44

55
name: Release
66

7+
concurrency:
8+
group: ${{ github.workflow }}-${{ github.event.number }}-${{ github.event.ref }}
9+
cancel-in-progress: ${{ !(contains(github.ref, 'release/') || contains(github.ref, 'master')) }}
10+
711
on:
812
# Run this workflow on every push to master or to a stable branch.
913
push:
@@ -72,12 +76,23 @@ jobs:
7276
nox_session_test_sim: release_test_sim
7377
nox_session_test_nosim: release_test_nosim
7478
download_artifacts: true
75-
group: ci
79+
group: ci-free
80+
81+
test_release_licensed:
82+
name: Regression Tests
83+
needs: build_release
84+
uses: ./.github/workflows/regression-tests.yml
85+
with:
86+
nox_session_test_sim: release_test_sim
87+
nox_session_test_nosim: release_test_nosim
88+
download_artifacts: true
89+
group: ci-licensed
7690

7791
deploy_pypi:
7892
name: Deploy to pypi.org
7993
needs:
8094
- test_release
95+
- test_release_licensed
8196
- test_sdist
8297
runs-on: ubuntu-22.04
8398
# Only upload tagged releases.

.github/workflows/licensed.yml

Lines changed: 0 additions & 55 deletions
This file was deleted.

.github/workflows/regression-tests.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ on:
2525
group:
2626
required: false
2727
type: string
28-
default: "ci"
28+
default: "ci-free"
2929
description: Group of environments to run the tests against. Leave empty to run them all.
3030
max_parallel:
3131
required: false

0 commit comments

Comments
 (0)