Skip to content

Commit 80cb22c

Browse files
committed
Prepare build of v4.7.1
- Bump upload-artifact version. - Revert to older version of black - Bump Python versions used for tests - Update GHDL installation - Revert to older pylint - Update GHDL backend detection - Update NVC interface. - Disable broken NVC test. - Allow warnings in sphinx build
1 parent 62c904d commit 80cb22c

8 files changed

Lines changed: 48 additions & 45 deletions

File tree

.github/workflows/coverage.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ jobs:
2828
- name: Report coverage
2929
run: ./.github/run.sh coverage report -m --skip-covered
3030

31-
- uses: actions/upload-artifact@v3
31+
- uses: actions/upload-artifact@v4
3232
with:
3333
name: VUnit_coverage
3434
path: htmlcov

.github/workflows/docs.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ jobs:
3232
- name: Build docs
3333
run: tox -e py311-docs -- --color
3434

35-
- uses: actions/upload-artifact@v3
35+
- uses: actions/upload-artifact@v4
3636
with:
3737
name: VUnit-site
3838
path: .tox/py311-docs/tmp/docsbuild/

.github/workflows/push.yml

Lines changed: 28 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ jobs:
4949
matrix:
5050
include:
5151
- { py: '3.11' , task: 311-lint }
52-
- { py: '3.7' , task: 37-unit }
52+
- { py: '3.8' , task: 38-unit }
5353
- { py: '3.11' , task: 311-unit }
5454
name: '🐧 Ubuntu · ${{ matrix.task }}'
5555
steps:
@@ -80,8 +80,8 @@ jobs:
8080
fail-fast: false
8181
matrix:
8282
task: [
83-
{do: 311-acceptance, tag: llvm},
84-
{do: 311-vcomponents, tag: mcode},
83+
{do: 313-acceptance, tag: llvm},
84+
{do: 313-vcomponents, tag: mcode},
8585
]
8686
name: '🛳️ Container · ${{ matrix.task.do }} · ${{ matrix.task.tag }}'
8787
steps:
@@ -98,27 +98,27 @@ jobs:
9898
# Docker (Linux) tests (NVC)
9999
#
100100

101-
nvc:
102-
runs-on: ubuntu-latest
103-
strategy:
104-
fail-fast: false
105-
matrix:
106-
task: [
107-
{do: 39-acceptance},
108-
{do: 39-vcomponents},
109-
]
110-
name: '🛳️ Container · ${{ matrix.task.do }} · NVC'
111-
steps:
112-
113-
- name: '🧰 Checkout'
114-
uses: actions/checkout@v3
115-
with:
116-
submodules: recursive
117-
118-
- name: '🚧 Run job'
119-
uses: docker://ghcr.io/vunit/dev/nvc
120-
with:
121-
args: tox -e py${{ matrix.task.do }}-nvc
101+
# nvc:
102+
# runs-on: ubuntu-latest
103+
# strategy:
104+
# fail-fast: false
105+
# matrix:
106+
# task: [
107+
# {do: 311-acceptance},
108+
# {do: 311-vcomponents},
109+
# ]
110+
# name: '🛳️ Container · ${{ matrix.task.do }} · NVC'
111+
# steps:
112+
113+
# - name: '🧰 Checkout'
114+
# uses: actions/checkout@v3
115+
# with:
116+
# submodules: recursive
117+
118+
# - name: '🚧 Run job'
119+
# uses: docker://ghcr.io/vunit/dev/nvc
120+
# with:
121+
# args: tox -e py${{ matrix.task.do }}-nvc
122122

123123
#
124124
# Windows (MSYS2) with 'nightly' GHDL
@@ -154,9 +154,10 @@ jobs:
154154
submodules: recursive
155155

156156
- name: '⚙️ Setup GHDL'
157-
uses: ghdl/setup-ghdl-ci@master
157+
uses: ghdl/setup-ghdl@main
158158
with:
159-
backend: llvm
159+
backend: mcode
160+
runtime: mingw64
160161

161162
- name: '🐍 Install dependencies'
162163
run: pip install -U tox --progress-bar off
@@ -174,7 +175,7 @@ jobs:
174175
- fmt
175176
- lin
176177
- ghdl
177-
- nvc
178+
# - nvc
178179
- win
179180
if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v')
180181
name: '🚀 Deploy'

pyproject.toml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -54,23 +54,23 @@ underlines = ["-", "~"]
5454
[tool.tox]
5555
legacy_tox_ini = """
5656
[tox]
57-
envlist = py{36,37,38,39,310,311}-{fmt,unit,lint,docs}, py{36,37,38,39,310,311}-{acceptance,vcomponents}-{activehdl,ghdl,modelsim,nvc,rivierapro}, py{36,37,38,39,310,311}-coverage
57+
envlist = py{36,37,38,39,310,311}-{fmt,unit,lint,docs}, py{36,37,38,39,310,311,313}-{acceptance,vcomponents}-{activehdl,ghdl,modelsim,nvc,rivierapro}, py{36,37,38,39,310,311}-coverage
5858
isolated_build = True
5959
6060
[testenv]
6161
recreate=True
6262
passenv=ALDEC_LICENSE_FILE
6363
6464
deps=
65-
fmt: black
65+
fmt: black==23.3.0
6666
pytest
6767
lint: pycodestyle
68-
lint: pylint
68+
lint: pylint==2.17.2
6969
lint: mypy
7070
lint: Pygments
7171
coverage: coverage
7272
coverage: pycodestyle
73-
coverage: pylint
73+
coverage: pylint==2.17.2
7474
coverage: mypy
7575
coverage: Pygments
7676
docs: docutils

tests/acceptance/test_artificial.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ class TestVunitArtificial(unittest.TestCase):
2727
"""
2828

2929
def setUp(self):
30-
if simulator_is("activehdl"):
30+
if simulator_is("activehdl", "nvc"):
3131
self.output_path = str(ROOT / "artificial_out")
3232
else:
3333
# Spaces in path intentional to verify that it is supported

tools/build_docs.py

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -26,14 +26,12 @@ def main():
2626
Build documentation/website
2727
"""
2828
create_release_notes()
29-
copyfile(str(ROOT / 'LICENSE.rst'), str(ROOT / 'docs/license.rst'))
29+
copyfile(str(ROOT / "LICENSE.rst"), str(ROOT / "docs/license.rst"))
3030
check_call(
31-
[
32-
sys.executable,
33-
"-m",
34-
"sphinx"
35-
] + ([] if len(argv) < 2 else argv[2:]) + [
36-
"-TEWanb",
31+
[sys.executable, "-m", "sphinx"]
32+
+ ([] if len(argv) < 2 else argv[2:])
33+
+ [
34+
"-TEanb",
3735
"html",
3836
Path(__file__).parent.parent / "docs",
3937
argv[1],

vunit/sim_if/ghdl.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,7 @@ def determine_backend(cls, prefix):
126126
Determine the GHDL backend
127127
"""
128128
mapping = {
129-
r"mcode code generator": "mcode",
129+
r"mcode (JIT )?code generator": "mcode",
130130
r"llvm (\d+\.\d+\.\d+ )?code generator": "llvm",
131131
r"GCC (back-end|\d+\.\d+\.\d+) code generator": "gcc",
132132
}
@@ -137,7 +137,7 @@ def determine_backend(cls, prefix):
137137
LOGGER.debug("Detected GHDL %s", match.group(0))
138138
return backend
139139

140-
LOGGER.error("Could not detect known LLVM backend by parsing 'ghdl --version'")
140+
LOGGER.error("Could not detect known backend by parsing 'ghdl --version'")
141141
print(f"Expected to find one of {mapping.keys()!r}")
142142
print("== Output of 'ghdl --version'" + ("=" * 60))
143143
print(output)

vunit/sim_if/nvc.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,7 @@ def __init__( # pylint: disable=too-many-arguments
8585

8686
(major, minor) = self.determine_version(prefix)
8787
self._supports_jit = major > 1 or (major == 1 and minor >= 9)
88+
self._ieee_warnings_global = major > 1 or (major == 1 and minor >= 16)
8889

8990
if self.use_color:
9091
environ["NVC_COLORS"] = "always"
@@ -231,7 +232,7 @@ def compile_vhdl_file_command(self, source_file):
231232
cmd += [source_file.name]
232233
return cmd
233234

234-
def simulate(self, output_path, test_suite_name, config, elaborate_only):
235+
def simulate(self, output_path, test_suite_name, config, elaborate_only): # pylint: disable=too-many-branches
235236
"""
236237
Simulate with entity as top level using generics
237238
"""
@@ -251,6 +252,9 @@ def simulate(self, output_path, test_suite_name, config, elaborate_only):
251252
libdir = self._project.get_library(config.library_name).directory
252253
cmd = self._get_command(self._vhdl_standard, config.library_name, libdir)
253254

255+
if self._ieee_warnings_global and config.sim_options.get("disable_ieee_warnings", False):
256+
cmd += ["--ieee-warnings=off"]
257+
254258
cmd += ["-H", config.sim_options.get("nvc.heap_size", "64m")]
255259

256260
cmd += ["-e"]
@@ -269,7 +273,7 @@ def simulate(self, output_path, test_suite_name, config, elaborate_only):
269273
cmd += config.sim_options.get("nvc.sim_flags", [])
270274
cmd += [f"--exit-severity={config.vhdl_assert_stop_level}"]
271275

272-
if config.sim_options.get("disable_ieee_warnings", False):
276+
if not self._ieee_warnings_global and config.sim_options.get("disable_ieee_warnings", False):
273277
cmd += ["--ieee-warnings=off"]
274278

275279
if wave_file:

0 commit comments

Comments
 (0)