devtools: updated Dockerfiles

Fixes: https://pagure.io/koji/issue/2743
This commit is contained in:
Tomas Kopecek 2021-03-09 14:43:48 +01:00
parent 566c70701e
commit a81d0659b3
7 changed files with 127 additions and 10 deletions

View file

@ -0,0 +1,33 @@
FROM centos:7
RUN \
yum -y update && \
yum install -y \
dnf \
dnf-plugins-core \
gcc \
git \
make \
krb5-devel \
libffi-devel \
openssl-devel \
pyOpenSSL \
python-cheetah \
python-devel \
python-librepo \
python-requests \
redhat-rpm-config \
rpm-build \
rpm-python \
yum-utils && \
yum install -y epel-release && \
yum install -y \
python-flake8 \
python-multilib \
python-pip \
python-psycopg2 \
python-qpid-proton \
python-requests-kerberos \
yumdownloader && \
yum clean all && \
pip install -U 'pip==9.0.1' && \
pip install -U tox

View file

@ -1,5 +1,8 @@
FROM fedora:32
FROM centos:8
RUN \
dnf -y update --nodocs --setopt=install_weak_deps=False && \
dnf install -y epel-release && \
dnf install -y \
'dnf-command(download)' \
gcc \
@ -12,6 +15,7 @@ RUN \
make \
openssl-devel \
python3-devel \
python3-librepo \
python3-pip \
python3-rpm \
python3-tox \
@ -19,4 +23,5 @@ RUN \
rpm-build \
rpm-devel \
sqlite-devel \
yum-utils
yum-utils && \
dnf clean all

View file

@ -0,0 +1,25 @@
FROM fedora:32
RUN \
dnf -y update --nodocs --setopt=install_weak_deps=False && \
dnf install -y --nodocs --setopt=install_weak_deps=False \
'dnf-command(download)' \
gcc \
git \
glib2-devel \
glibc-langpack-en \
krb5-devel \
libffi-devel \
python3-librepo \
libxml2-devel \
make \
openssl-devel \
python3-devel \
python3-pip \
python3-rpm \
python3-tox \
redhat-rpm-config \
rpm-build \
rpm-devel \
sqlite-devel \
yum-utils && \
dnf clean all

View file

@ -0,0 +1,25 @@
FROM fedora:33
RUN \
dnf -y update --nodocs --setopt=install_weak_deps=False && \
dnf install -y --nodocs --setopt=install_weak_deps=False \
'dnf-command(download)' \
gcc \
git \
glib2-devel \
glibc-langpack-en \
krb5-devel \
libffi-devel \
python3-librepo \
libxml2-devel \
make \
openssl-devel \
python3-devel \
python3-pip \
python3-rpm \
python3-tox \
redhat-rpm-config \
rpm-build \
rpm-devel \
sqlite-devel \
yum-utils && \
dnf clean all\

View file

@ -0,0 +1,25 @@
FROM fedora:rawhide
RUN \
dnf -y update --nodocs --setopt=install_weak_deps=False && \
dnf install -y --nodocs --setopt=install_weak_deps=False \
'dnf-command(download)' \
gcc \
git \
glib2-devel \
glibc-langpack-en \
krb5-devel \
libffi-devel \
python3-librepo \
libxml2-devel \
make \
openssl-devel \
python3-devel \
python3-pip \
python3-rpm \
python3-tox \
redhat-rpm-config \
rpm-build \
rpm-devel \
sqlite-devel \
yum-utils && \
dnf clean all

View file

@ -1,23 +1,27 @@
Dockerfiles for development
===========================
To facilitate in development - specifically, running tests, two Dockerfiles are
To facilitate in development - specifically, running tests, some Dockerfiles are
provided:
* [`./centos/Dockerfile`](./centos/Dockerfile) CentOS 6, for testing with python2.6
* [`./fedora/Dockerfile`](./fedora/Dockerfile) Fedora 32, for testing with python3.8
* [`./Dockerfile.centos6`](./Dockerfile.centos6) CentOS 6, for testing with python2.6
* [`./Dockerfile.centos7`](./Dockerfile.centos7) CentOS 7, for testing with python2.7
* [`./Dockerfile.centos8`](./Dockerfile.centos8) CentOS 8, for testing with python3.6
* [`./Dockerfile.f32`](./Dockerfile.f32) Fedora 32, for testing with python3.8
* [`./Dockerfile.f33`](./Dockerfile.f33) Fedora 33, for testing with python3.9
* [`./Dockerfile.rawhide`](./Dockerfile.rawhie) Fedora Rawhide, for testing with python3.?
To use them, taking fedora as an example:
docker build -t koji_test_fedora:latest --no-cache ./devtools/containers/fedora
docker run --rm -v $PWD:/koji --name koji_test koji_test_fedora:latest bash -c "cd /koji && tox -e flake8,py3"
docker build -t koji_test_fedora:32 --no-cache -f Dockerfile.f32
docker run --rm -v $PWD:/koji --name koji_test koji_test_fedora:32 bash -c "cd /koji && tox -e flake8,py3"
Or CentOS as an example:
docker build -t koji_test_centos:latest --no-cache ./devtools/containers/centos
docker run --rm -v $PWD:/koji --name koji_test koji_test_centos:latest bash -c "cd /koji && tox -e py2"
docker build -t koji_test_centos:8 --no-cache -f Dockerfile.centos8
docker run --rm -v $PWD:/koji --name koji_test koji_test_centos:8 bash -c "cd /koji && tox -e py2"
When running with Podman and SELinux enabled, use the "--security-opt
label=disable" option:
podman run --rm -v $PWD:/koji --security-opt label=disable --name koji_test koji_test_fedora:latest bash -c "cd /koji && ls -l /koji && tox -e flake8,py3"
podman run --rm -v $PWD:/koji --security-opt label=disable --name koji_test koji_test_fedora:32 bash -c "cd /koji && ls -l /koji && tox -e flake8,py3"