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:

  • 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 ghdl-cosim#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 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.