Migrate to debian build
continuous-integration/drone/push Build is passing Details

Closes #1.
This commit is contained in:
Luke Murphy 2021-02-10 13:35:55 +01:00
parent 75a602685b
commit ebc675f8ff
No known key found for this signature in database
GPG Key ID: 5E2EF5A63E3718CC
2 changed files with 33 additions and 140 deletions

View File

@ -1,148 +1,34 @@
# This is a multi-stage build which requires Docker 17.05 or higher
FROM docker.io/alpine:edge as molecule-builder
FROM debian:buster
WORKDIR /usr/src/molecule
LABEL maintainer="decentral1se"
# WARNING: Reasons not to add edge/testing:
# * Breaks security scanning due to https://github.com/quay/clair/issues/901
# * Unreliable builds, as alpinelinux CDN is unreliable for edge, returning 404
# quite often.
# edge/testing needed for: py3-arrow
RUN apk add -v --progress --update --no-cache \
bash \
docker-py \
gcc \
git \
ENV DEBIAN_FRONTEND noninteractive
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
build-essential \
libffi-dev \
libvirt \
libvirt-dev \
make \
musl-dev \
openssl-dev \
py3-bcrypt \
py3-botocore \
py3-certifi \
py3-cffi \
py3-chardet \
py3-click \
py3-colorama \
py3-cryptography \
py3-distlib \
py3-docutils \
py3-flake8 \
py3-future \
py3-idna \
py3-jinja2 \
py3-libvirt \
py3-markupsafe \
py3-mccabe \
py3-netifaces \
py3-paramiko \
py3-pbr \
py3-pip \
py3-pluggy \
py3-psutil \
py3-ptyprocess \
py3-py \
py3-pycodestyle \
py3-pynacl \
py3-pytest \
py3-requests \
py3-ruamel \
py3-setuptools \
py3-simplejson \
py3-urllib3 \
py3-virtualenv \
py3-websocket-client \
py3-yaml \
python3 \
python3-dev
# https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=917006
RUN \
python3 -m pip install -U wheel pip setuptools
ADD . .
libssl-dev \
python3-dev \
python3-pip \
python3-setuptools \
python3-wheel \
sudo \
wget \
&& rm -rf /var/lib/apt/lists/* \
&& rm -Rf /usr/share/doc && rm -Rf /usr/share/man \
&& apt-get clean
RUN \
python3 -m pip wheel \
-w dist \
molecule testinfra molecule-hetznercloud molecule-docker ansible ansible-lint
RUN ls -1 dist/
# ✄---------------------------------------------------------------------
# This is an actual target container:
FROM alpine:edge
LABEL maintainer="decentral1se <decentral1se@disroot.org>"
ENV PACKAGES="\
bash \
docker \
git \
openssh-client \
docker-py \
libvirt \
rsync \
py3-bcrypt \
py3-botocore \
py3-certifi \
py3-cffi \
py3-chardet \
py3-click \
py3-colorama \
py3-cryptography \
py3-docutils \
py3-flake8 \
py3-idna \
py3-jinja2 \
py3-mccabe \
py3-netifaces \
py3-paramiko \
py3-pbr \
py3-pip \
py3-pluggy \
py3-psutil \
py3-ptyprocess \
py3-py \
py3-pycodestyle \
py3-pynacl \
py3-pytest \
py3-requests \
py3-ruamel \
py3-setuptools \
py3-urllib3 \
py3-virtualenv \
py3-websocket-client \
python3 \
"
ENV BUILD_DEPS="\
gcc \
libc-dev \
libvirt-dev \
make \
"
ENV PIP_INSTALL_ARGS="\
--only-binary :all: \
--no-index \
-f /usr/src/molecule/dist \
"
RUN \
apk add --update --no-cache \
${BUILD_DEPS} ${PACKAGES} \
&& apk del --no-cache ${BUILD_DEPS} \
&& rm -rf /root/.cache
COPY --from=molecule-builder \
/usr/src/molecule/dist \
/usr/src/molecule/dist
python3 -m pip install -U \
pip \
setuptools
RUN \
python3 -m pip install \
molecule testinfra molecule-hetznercloud molecule-docker ansible ansible-lint
ENV SHELL /bin/bash
ansible \
ansible-lint \
molecule \
molecule-docker \
molecule-hetznercloud \
testinfra

7
makefile Normal file
View File

@ -0,0 +1,7 @@
default: push
build:
@docker build -t decentral1se/molecule:latest .
push: build
@docker push decentral1se/molecule:latest