Skip to content

Commit c414095

Browse files
committed
Drop support for Python 3.8 and 3.9 and start running tests with Python 3.14.
1 parent 3082789 commit c414095

8 files changed

Lines changed: 30 additions & 40 deletions

File tree

.github/images.sh

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,15 +4,15 @@
44
set -e
55

66
docker build \
7-
--build-arg IMAGE="python:3-slim-bullseye" \
7+
--build-arg IMAGE="python:3-slim-bookworm" \
88
--build-arg LLVM_VER=9 \
9-
--build-arg GNAT_VER=9 \
9+
--build-arg GNAT_VER=12 \
1010
--target vunit \
1111
-t "vunit/dev/${TAG}" \
1212
- <<-EOF
1313
$(curl -fsSL https://raw.githubusercontent.com/ghdl/docker/master/run_debian.dockerfile)
1414
1515
FROM $TAG AS vunit
16-
COPY --from=ghdl/pkg:bullseye-$PKG / /
16+
COPY --from=ghdl/pkg:bookworm-$PKG / /
1717
RUN pip install -U tox colorama coverage --progress-bar off
1818
EOF

.github/publish_site.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ set -e
1010

1111
echo "isVUnit: $isVUnit"
1212

13-
cd $(dirname "$0")/../.tox/py313-docs/tmp/docsbuild/
13+
cd $(dirname "$0")/../.tox/py314-docs/tmp/docsbuild/
1414
touch .nojekyll
1515
git init
1616

.github/workflows/coverage.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,9 @@ jobs:
1616
with:
1717
submodules: recursive
1818

19-
- uses: actions/setup-python@v5
19+
- uses: actions/setup-python@v6
2020
with:
21-
python-version: '3.13'
21+
python-version: '3.14'
2222

2323
- name: Run coverage
2424
run: |

.github/workflows/docs.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,22 +20,22 @@ jobs:
2020
submodules: recursive
2121
fetch-depth: 0
2222

23-
- uses: actions/setup-python@v5
23+
- uses: actions/setup-python@v6
2424
with:
25-
python-version: '3.13'
25+
python-version: '3.14'
2626

2727
- name: Install dependencies
2828
run: |
2929
pip install -U pip --progress-bar off
3030
pip install -U virtualenv tox --progress-bar off
3131
3232
- name: Build docs
33-
run: tox -e py313-docs -- --color
33+
run: tox -e py314-docs -- --color
3434

3535
- uses: actions/upload-artifact@v4
3636
with:
3737
name: VUnit-site
38-
path: .tox/py313-docs/tmp/docsbuild/
38+
path: .tox/py314-docs/tmp/docsbuild/
3939

4040
- name: '🚀 Publish site'
4141
if: github.event_name != 'pull_request' && github.ref_name == 'master'

.github/workflows/push.yml

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -26,17 +26,17 @@ jobs:
2626
uses: actions/checkout@v4
2727

2828
- name: '🐍 Setup Python'
29-
uses: actions/setup-python@v5
29+
uses: actions/setup-python@v6
3030
with:
31-
python-version: '3.13'
31+
python-version: '3.14'
3232

3333
- name: '🐍 Install dependencies'
3434
run: |
3535
pip install -U pip --progress-bar off
3636
pip install -U virtualenv tox --progress-bar off
3737
3838
- name: '🐍 Run black'
39-
run: tox -e py313-fmt -- --diff --color
39+
run: tox -e py314-fmt -- --diff --color
4040

4141
#
4242
# Linux linting and unit tests
@@ -48,17 +48,17 @@ jobs:
4848
fail-fast: false
4949
matrix:
5050
include:
51-
- { py: '3.13' , task: 313-lint }
52-
- { py: '3.8' , task: 38-unit }
53-
- { py: '3.13' , task: 313-unit }
51+
- { py: '3.14' , task: 314-lint }
52+
- { py: '3.10' , task: 310-unit }
53+
- { py: '3.14' , task: 314-unit }
5454
name: '🐧 Ubuntu · ${{ matrix.task }}'
5555
steps:
5656

5757
- name: '🧰 Checkout'
5858
uses: actions/checkout@v4
5959

6060
- name: '🐍 Setup Python'
61-
uses: actions/setup-python@v5
61+
uses: actions/setup-python@v6
6262
with:
6363
python-version: ${{ matrix.py }}
6464

@@ -80,8 +80,8 @@ jobs:
8080
fail-fast: false
8181
matrix:
8282
task: [
83-
{do: 313-acceptance, tag: llvm},
84-
{do: 313-vcomponents, tag: mcode},
83+
{do: 314-acceptance, tag: llvm},
84+
{do: 314-vcomponents, tag: mcode},
8585
]
8686
name: '🛳️ Container · ${{ matrix.task.do }} · ${{ matrix.task.tag }}'
8787
steps:
@@ -187,9 +187,9 @@ jobs:
187187
submodules: recursive
188188

189189
- name: '🐍 Setup Python'
190-
uses: actions/setup-python@v5
190+
uses: actions/setup-python@v6
191191
with:
192-
python-version: '3.13'
192+
python-version: '3.14'
193193

194194
- name: '🐍 Install dependencies'
195195
run: |

docs/contributing.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -169,13 +169,13 @@ PyPI with pip:
169169
For most developers, running the full testsuite will likely lead to failed test
170170
cases because not all Python interpreters or HDL simulators are installed in
171171
their environment. More focused testing is possible by specifying which tox
172-
"environments" should be tested. For example, assume a developer uses Python 3.8
172+
"environments" should be tested. For example, assume a developer uses Python 3.13
173173
and Modelsim and would like to test changes using tools available in his
174174
environment:
175175

176176
.. code-block:: console
177177
178-
vunit/ > tox -e py38-unit,py38-acceptance-modelsim
178+
vunit/ > tox -e py313-unit,py313-acceptance-modelsim
179179
180180
A full list of test environments can be seen by issuing the following command:
181181

docs/installing.rst

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ Requirements
88
============
99

1010
.. NOTE::
11-
Full VUnit functionality requires Python (3.8 or higher) and a simulator
11+
Full VUnit functionality requires Python (3.10 or higher) and a simulator
1212
supported by the VUnit Python test runner (see list below).
1313
However, VUnit can run with limited functionality entirely within VHDL using
1414
the :doc:`VHDL test runner <./run/user_guide>`.
@@ -30,16 +30,12 @@ Simulator
3030
VHDL only
3131
^^^^^^^^^
3232

33-
* `Aldec Riviera-PRO`_: Tested with Riviera-PRO 2015.06, 2015.10, 2016.02, 2016.10 (x64/x86).
33+
* `Aldec Riviera-PRO`_
3434

35-
* `Aldec Active-HDL`_: Tested with Active-HDL 9.3, 10.1, 10.2, 10.3 (x64/x86).
35+
* `Aldec Active-HDL`_
3636

3737
* `GHDL`_
3838

39-
* Tested with LLVM and mcode backends; GCC backend might work aswell.
40-
41-
* Works with versions >= 0.33.
42-
4339
.. HINT::
4440

4541
GHDL is a rolling project, it is therefore recommended to use the latest
@@ -60,7 +56,7 @@ VHDL only
6056
VHDL or SystemVerilog
6157
^^^^^^^^^^^^^^^^^^^^^
6258

63-
* `Mentor Graphics ModelSim/Questa`_: Tested with 10.1 - 10.5
59+
* `Mentor Graphics ModelSim/Questa`_
6460

6561
.. CAUTION::
6662

pyproject.toml

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,5 @@
11
[build-system]
2-
requires = [
3-
"setuptools >= 35.0.2, <82.0.0",
4-
"setuptools_scm >= 2.0.0, <3"
5-
]
2+
requires = ["setuptools>=61"]
63
build-backend = "setuptools.build_meta"
74

85
[project]
@@ -25,21 +22,18 @@ classifiers = [
2522
"Development Status :: 5 - Production/Stable",
2623
"Natural Language :: English",
2724
"Intended Audience :: Developers",
28-
"Programming Language :: Python :: 3.8",
29-
"Programming Language :: Python :: 3.9",
3025
"Programming Language :: Python :: 3.10",
3126
"Programming Language :: Python :: 3.11",
3227
"Programming Language :: Python :: 3.12",
3328
"Programming Language :: Python :: 3.13",
34-
"Programming Language :: Python :: 3.13",
3529
"Programming Language :: Python :: 3.14",
3630
"Operating System :: Microsoft :: Windows",
3731
"Operating System :: MacOS :: MacOS X",
3832
"Operating System :: POSIX :: Linux",
3933
"Topic :: Software Development :: Testing",
4034
"Topic :: Scientific/Engineering :: Electronic Design Automation (EDA)",
4135
]
42-
requires-python = ">=3.8"
36+
requires-python = ">=3.10"
4337
dependencies = [
4438
"colorama",
4539
]
@@ -103,7 +97,7 @@ underlines = ["-", "~"]
10397
[tool.tox]
10498
legacy_tox_ini = """
10599
[tox]
106-
envlist = py{38,39,310,311,312,313}-{fmt,unit,lint,docs}, py{38,39,310,311,312,313}-{acceptance,vcomponents}-{activehdl,ghdl,modelsim,nvc,rivierapro}, py{38,39,310,311,312,313}-coverage
100+
envlist = py{310,311,312,313,314}-{fmt,unit,lint,docs}, py{310,311,312,313,314}-{acceptance,vcomponents}-{activehdl,ghdl,modelsim,nvc,rivierapro}, py{310,311,312,313,314}-coverage
107101
isolated_build = True
108102
109103
[testenv]

0 commit comments

Comments
 (0)