Contributions are welcome!
Create build_<DISTRO>.dockerfile
and run_<DISTRO>.dockerfile
in the root directory.
- Add one stage
for each (supported) backend:
mcode
,llvm
and/orgcc
. - Sometimes could be useful to add a
common
stage for shared resources (seebuild_fedora.dockerfile
orrun_fedora.dockerfile
). On the other hand, can be situations where the same backend needs a different stage according to the OS versions (seebuild_centos.dockerfile
orrun_centos.dockerfile
). - Images should contain the dependencies for building or installing GHDL only. Do not include the actual building/installation procedures in the dockerfiles.
- In
run.sh
, add a newcase
inside ofcreate ()
. It must deal with the<DISTRO>
, its<VERSIONS>
and the<TARGET>
stages.
You can execute
./run.sh <DISTRO> <VERSION>
to locally build the containers.
- Add the desidered
<DISTRO>
and its<VERSIONS>
to the matrix of thebase.yml
CI workflow:
matrix:
include: [
{ distro: arch, version: '' },
{ distro: debian, version: bullseye },
...
{ distro: <DISTRO>, version: <VERSION> },
- Add the desidered
<DISTRO><VERSION>
and<BACKEND>
to the matrix of thetest.yml
CI workflow:
matrix:
include: [
...
{ distro: ubuntu20, backend: mcode , args: "" },
{ distro: fedora32, backend: mcode , args: "" },
...
{ distro: <DISTRO><VERSION>, backend: `<BACKEND>`, args: "" },
NOTE: in some
<DISTROS>
the<VERSION>
of the backend (in case ofllvm
andgcc
) needs to be specified (something like<BACKEND>-<VERSION>
, seetest.yml
).