Files
ortools-clone/tools/docker
Mizux Seiha 8fc5d66389 Rename flatzinc targets (#3270)
* rename fz.exe to fzn-ortools.exe (like convention outhere)
* rename libflatzinc.so as libortools_flatzinc.so
* rename parser-main to fzn-parser_test
* remove parser_main from install
2022-04-29 11:01:15 +02:00
..
2022-04-11 13:37:36 +02:00
2022-04-11 13:37:36 +02:00
2022-04-13 11:47:47 +02:00
2022-03-03 14:09:10 +01:00

CI: Makefile/Docker testing

To test the build on various distro, we are using docker containers and a Makefile for orchestration.

pros:

  • You are independent of third party CI runner config (e.g. github actions runners or Travis-CI VM images).
  • You can run it locally on any unix system.
  • Most CI provide runner with docker and Makefile installed.

cons:

  • Only GNU/Linux distro supported.
  • Could take few GiB (~30 GiB for all distro and all languages)
    • ~500MiB OS + C++/CMake tools,
    • ~150 MiB Python, wheel,

Usage

To get the help simply type:

make

note: you can also use from top directory

make --directory=tools/docker

Example

For example to test inside an Alpine container:

make alpine-edge_test

Docker layers

Dockerfile is split in several stages.

docker

Docker aarch64 on x86_64 machine

You can build and run aarch64 docker container on a x86_64 by enabling qemu support:

docker run --rm --privileged multiarch/qemu-user-static --reset -p yes

ref: https://github.com/multiarch/qemu-user-static#getting-started