John Snow <js...@redhat.com> writes:
> Add a python container that contains just enough juice for us to run the > python > code quality analysis tools. > > Base this container on fedora, because fedora has very convenient > packaging for testing multiple python versions. > > Add two tests: > > check-python-pipenv uses pipenv to test a frozen, very explicit set of > packages against our minimum supported python version, Python 3.6. This > test is not allowed to fail. > > check-python-tox uses tox to install the latest versions of required > python dependencies against a wide array of Python versions from 3.6 to > 3.9, even including the yet-to-be-released Python 3.10. This test is > allowed to fail with a warning. > > Signed-off-by: John Snow <js...@redhat.com> > --- > .gitlab-ci.d/containers.yml | 5 +++++ > .gitlab-ci.yml | 26 ++++++++++++++++++++++++++ > tests/docker/dockerfiles/python.docker | 18 ++++++++++++++++++ > 3 files changed, 49 insertions(+) > create mode 100644 tests/docker/dockerfiles/python.docker > > diff --git a/.gitlab-ci.d/containers.yml b/.gitlab-ci.d/containers.yml > index 765408ae274..05ebd4dc11d 100644 > --- a/.gitlab-ci.d/containers.yml > +++ b/.gitlab-ci.d/containers.yml > @@ -242,3 +242,8 @@ amd64-opensuse-leap-container: > extends: .container_job_template > variables: > NAME: opensuse-leap > + > +python-container: > + extends: .container_job_template > + variables: > + NAME: python > diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml > index f718b61fa78..cc2a3935c62 100644 > --- a/.gitlab-ci.yml > +++ b/.gitlab-ci.yml > @@ -789,6 +789,32 @@ check-patch: > GIT_DEPTH: 1000 > allow_failure: true > > + > +check-python-pipenv: > + stage: test > + image: $CI_REGISTRY_IMAGE/qemu/python:latest > + script: > + - cd python > + - make venv-check > + variables: > + GIT_DEPTH: 1000 A GIT_DEPTH of 1000 seems rather arbitrary - why not 1 (or 3)? Do the tools actually care about diff history? > + needs: > + job: python-container > + > + > +check-python-tox: > + stage: test > + image: $CI_REGISTRY_IMAGE/qemu/python:latest > + script: > + - cd python > + - make check-tox > + variables: > + GIT_DEPTH: 1000 > + needs: > + job: python-container > + allow_failure: true > + > + > check-dco: > stage: build > image: $CI_REGISTRY_IMAGE/qemu/centos8:latest > diff --git a/tests/docker/dockerfiles/python.docker > b/tests/docker/dockerfiles/python.docker > new file mode 100644 > index 00000000000..56d88417df4 > --- /dev/null > +++ b/tests/docker/dockerfiles/python.docker > @@ -0,0 +1,18 @@ > +# Python library testing environment > + > +FROM fedora:latest > +MAINTAINER John Snow <js...@redhat.com> > + > +# Please keep this list sorted alphabetically > +ENV PACKAGES \ > + gcc \ > + make \ > + pipenv \ > + python3 \ > + python3-pip \ > + python3-tox \ > + python3-virtualenv \ > + python3.10 > + > +RUN dnf install -y $PACKAGES > +RUN rpm -q $PACKAGES | sort > /packages.txt Otherwise seems OK to me: Reviewed-by: Alex Bennée <alex.ben...@linaro.org> -- Alex Bennée