Ecosystem compatibility tests #59
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Copyright cocotb contributors | |
# Licensed under the Revised BSD License, see LICENSE for details. | |
# SPDX-License-Identifier: BSD-3-Clause | |
# Tests to ensure that projects depending on cocotb continue to work with the | |
# latest development version of cocotb. | |
# | |
# Generally, we test the development version of cocotb against supported, | |
# released versions of the other projects. (It is expected that the projects | |
# themselves test their in-development code against the released version of | |
# cocotb.) | |
name: Ecosystem compatibility tests | |
on: | |
# Run daily at midnight (UTC). | |
schedule: | |
- cron: '0 0 * * *' | |
# Allow triggering a CI run from the web UI. | |
workflow_dispatch: | |
jobs: | |
cocotb-coverage: | |
name: Test cocotb-coverage 1.2 | |
runs-on: ubuntu-latest | |
steps: | |
- name: Set up Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: "3.11" | |
- name: Install Icarus Verilog | |
run: sudo apt-get install -y --no-install-recommends iverilog | |
- name: Checkout cocotb repository | |
uses: actions/checkout@v4 | |
with: | |
path: cocotb | |
- name: Install the development version of cocotb | |
run: pip3 install ./cocotb | |
- name: Checkout cocotb-coverage repository | |
uses: actions/checkout@v4 | |
with: | |
repository: mciepluc/cocotb-coverage | |
path: cocotb-coverage | |
- name: Install the release version of cocotb-coverage | |
run: pip3 install cocotb-coverage==1.2 | |
- name: Run tests | |
# Don't run tests through tox (as present in cocotb-coverage) to be able | |
# to override the cocotb dependency. | |
run: | | |
pip3 install pytest | |
cd cocotb-coverage | |
export SIM=icarus | |
make -k -C tests | |
pyuvm: | |
name: Test pyuvm 3+ | |
runs-on: ubuntu-latest | |
steps: | |
- name: Set up Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: "3.11" | |
- name: Install GHDL | |
run: sudo apt-get install -y --no-install-recommends ghdl | |
- name: Install Icarus Verilog | |
run: sudo apt-get install -y --no-install-recommends iverilog | |
- name: Checkout cocotb repository | |
uses: actions/checkout@v4 | |
with: | |
path: cocotb | |
- name: Install the development version of cocotb | |
run: pip3 install ./cocotb | |
- name: Checkout pyuvm repository | |
uses: actions/checkout@v4 | |
with: | |
repository: pyuvm/pyuvm | |
- name: Install the release version of cocotb-coverage | |
run: pip3 install pyuvm>=3.0.0 | |
- name: Run tests | |
# Don't run tests through tox (as present in cocotb-coverage) to be able | |
# to override the cocotb dependency. | |
run: | | |
pip3 install pytest | |
export SIM=icarus | |
make -C tests/cocotb_tests/run_phase sim checkclean | |
make -C tests/cocotb_tests/decorator sim checkclean | |
make -C tests/cocotb_tests/t05_base_classes sim checkclean | |
make -C tests/cocotb_tests/t08_factories sim checkclean | |
make -C tests/cocotb_tests/t09_phasing sim checkclean | |
make -C tests/cocotb_tests/t12_tlm sim checkclean | |
make -C tests/cocotb_tests/t13_components sim checkclean | |
make -C tests/cocotb_tests/config_db sim checkclean | |
make -C tests/cocotb_tests/t14_15_sequences sim checkclean | |
make -C tests/cocotb_tests/ext_classes sim checkclean | |
make -C examples/TinyALU sim checkclean | |
make -C examples/TinyALU_reg sim checkclean | |
make SIM=ghdl TOPLEVEL_LANG=vhdl -C examples/TinyALU sim checkclean |