.. program:: ghdl .. _COSIM:CI: Continuous Integration ###################### Since the main purpose of this repository is to provide reproducible and documented examples for users to learn, all of them are tested periodically in a `Continuous Integration (CI) `_ service. Currently, `GitHub Actions `_ is used and four different jobs/environments are tested: * GNU/Linux: * Docker image ``ghdl/vunit:llvm`` from `ghdl/docker `_. * Latest *nightly* release installed through Action `ghdl/setup-ghdl-ci `_ on Ubuntu. * Windows: * Latest stable release for MINGW64 with LLVM backend. * Latest *nightly* release installed through Action `ghdl/setup-ghdl-ci `_ on MINGW64. .. NOTE:: MSYS2 is set up with Action `msys2/setup-msys2 `_. The entrypoints of the examples are shell scripts (``run.sh``), makefiles (see :cosimsharp:`24`), or Python scripts (``run.py``). To handle all of them with a common interface, `pytest `_ is used. Hence the full test suite is defined in :cosimtree:`test.py `. Details about which examples are not supported on specific platforms can be found there. Past runs can be inspected at `ghdl/ghdl-cosim/actions `_. It can be useful for users to know what to expect before executing the examples themselves.