Upcoming enhancements to `run-unit-test-docker`
Andrew Geissler
geissonator at gmail.com
Wed Feb 17 01:13:15 AEDT 2021
> On Feb 11, 2021, at 6:28 PM, Patrick Williams <patrick at stwcx.xyz> wrote:
>
> Hello,
>
> Inside openbmc-build-scripts is a tool which is used by Jenkins to run
> repository-level CI and I think some developers also use it:
> `run-unit-test-docker`. I've rewritten a component of this, which is
> now at `scripts/build-unit-test-docker`, in Python and done some
> enhancements to it. The [currently] last commit in this sequence is at
> [1].
>
> Important notices:
>
> - Location change: build-unit-test-docker.sh ->
> scripts/build-unit-test-docker
> + I suspect few people run this directly, but instead use
> `run-unit-test-docker` which hides the rename.
>
> - Python3.6 minimum.
> + Bitbake already requires this so it really shouldn't be a
> problem for anyone.
>
> - Python 'sh' module needed.
> + You can install this with the 'python3-sh' package on many
> distros or 'pip install sh'.
>
> - Docker stages are now tagged with different names / tag revs.
> + I wrote a `scripts/clean-unit-test-docker` which will clean
> out old Docker tags and can be ran periodically.
>
> Major changes:
>
> - Rewrite in Python.
> - Significant speed improvements:
> - Docker stages all build in parallel to formulate the final image.
> - All Docker stages are tagged and reused from run to run.
> - CMake packages now use the Ninja backend. This is the same as
> bitbake and faster than make.
> - Included packages are defined in a dictionary rather than as raw
> Dockerfiles.
Thanks for doing this Patrick! I submitted your first set of
commits this morning so we’re officially on the new python
based scripts in CI.
Let Patrick and I know if you see anything amiss.
More information about the openbmc
mailing list