Skip to content

Added ghdl/vunit:* images for CI environments #11

@eine

Description

@eine

Coming from ghdl/ghdl#883

I've been reworking the images in ghdl/docker (see the README and the repository list at dockerhub). Here are some notes which are still to be properly documented, and which are related to the conversation in ghdl/ghdl#883:

  • All the ghdl/run:*gcc images include lcov now. As a result, all ghdl/ghdl:*gcc* images should be ready-to-use for coverage analysis now.
  • A new repository has been added, ghdl/vunit:*, which includes six images: mcode, mcode-master, llvm, llvm-master, gcc and gcc-master. These are built on top of ghdl/ghdl:buster-mcode, ghdl/ghdl:buster-llvm-7 and ghdl/ghdl:buster-gcc-8.3.0, respectively. *-master variants include latest VUnit (master branch), while others include the latest stable release (installed through pip).
  • In case GtkWave is needed, it is available in images ghdl/ext:gtkwave, ghdl/ext:broadway or ghdl/ext:latest. All of them include VUnit too. The first two of them are based on ghdl/vunit:llvm-master, and the last one is based on ghdl/ext:ls-debian (which includes GHDL with LLVM backend too).

@sjaeckel, these changes should allow you to rewrite your dockerfile as:

FROM ghdl/vunit:gcc

RUN apt-get update -qq \
 && apt-get -y install git vim \
 && apt-get autoclean -y && apt-get clean -y && apt-get autoremove -y

RUN mkdir /work && chmod 777 /work

Which makes me wonder: do you really need git and vim inside the container? You might have a good reason to do so. I'm just asking so I can help you rethink your workflow to get rid of those dependencies, should you want to do so.

[@sjaeckel]
and btw. I'd happily also test it!

I'd really appreciate if you could test this, since I have never used the coverage feature. There are five ghdl/ghdl:*gcc* tags and six tags in ghdl/vunit. I'm not going to ask you to test all of them! Should you want to try a few, I think the priority for your use case is:

  • ghdl/vunit:gcc
  • ghdl/vunit:gcc-master
  • ghdl/ghdl:ghdl/ghdl:buster-gcc-8.3.0 (if any of the two previous do work, this will work for sure)
  • ghdl/ghdl:ghdl/ghdl:sid-gcc-9.1.0 (might still fail, that's why we didn't close this issue yet)
  • ...

Overall, please do not hesitate to request changes/features, such as including lcov in images with GCC (this was, honestly, so stupid of me) or providing images with VUnit and coverage support (i.e. GCC bakend).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions