Closed tstenner closed 3 years ago
This PR adds a config field docker that, when set, runs all steps in this container. For Ubuntu 18.04 builds, it selects the ubuntu-latest build image and then runs the rest of the build in the ubuntu:18.04 docker container. This is less flexible than @tobiasherzke's approach, but requires only minimal changes to the CI config and is ~4x faster.
Nice solution! I was not aware of the container config field. I will try to make use of it for my ARM builds, but there I have to prepare the host to be able to execute ARM CPU instructions on the Intel CPU.
I think the speed difference that you see comes from not having to emulate another CPU architecture. I see a similar difference between the ARM builds and the native build in a container. This run of github actions has all 3 in one matrix: https://github.com/HoerTech-gGmbH/liblsl/actions/runs/933023560 The difference there is even 9x to 10x.
Binaries produced by the preinstalled toolchain depend on
libgcc_s1
which isn't in the default repositories (many thanks to @tobiasherzke for the detailed explanation in #129).This PR adds a config field
docker
that, when set, runs all steps in this container. For Ubuntu 18.04 builds, it selects theubuntu-latest
build image and then runs the rest of the build in theubuntu:18.04
docker container. This is less flexible than @tobiasherzke's approach, but requires only minimal changes to the CI config and is ~4x faster.