mirror of https://github.com/ansible/ansible.git
parent
93ec05dd53
commit
e4bbc1d711
@ -1,3 +0,0 @@
|
||||
*
|
||||
!docker
|
||||
!requirements
|
@ -1,76 +0,0 @@
|
||||
FROM ubuntu:16.04
|
||||
|
||||
COPY docker/deadsnakes.list /etc/apt/sources.list.d/deadsnakes.list
|
||||
|
||||
RUN apt-key adv --keyserver keyserver.ubuntu.com --recv-keys F23C5A6CF475977595C89F51BA6932366A755776
|
||||
|
||||
RUN apt-get update -y && \
|
||||
DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
|
||||
ca-certificates \
|
||||
curl \
|
||||
gcc \
|
||||
git \
|
||||
libbz2-dev \
|
||||
libffi-dev \
|
||||
libreadline-dev \
|
||||
libsqlite3-dev \
|
||||
libxml2-dev \
|
||||
libxslt1-dev \
|
||||
locales \
|
||||
make \
|
||||
openssh-client \
|
||||
openssl \
|
||||
python2.6-dev \
|
||||
python2.7-dev \
|
||||
python3.5-dev \
|
||||
python3.6-dev \
|
||||
shellcheck \
|
||||
&& \
|
||||
apt-get clean
|
||||
|
||||
ADD https://raw.githubusercontent.com/pyenv/pyenv-installer/master/bin/pyenv-installer /tmp/pyenv-installer
|
||||
RUN bash -c 'PYENV_ROOT=/usr/local/opt/pyenv bash /tmp/pyenv-installer'
|
||||
COPY docker/python* /tmp/
|
||||
RUN bash -c 'PYENV_ROOT=/usr/local/opt/pyenv /usr/local/opt/pyenv/bin/pyenv install /tmp/python3.7.0a2'
|
||||
RUN ln -s /usr/local/opt/pyenv/versions/python3.7.0a2/bin/python3.7 /usr/local/bin/python3.7
|
||||
RUN ln -s /usr/local/opt/pyenv/versions/python3.7.0a2/bin/pip3.7 /usr/local/bin/pip3.7
|
||||
|
||||
RUN rm /etc/apt/apt.conf.d/docker-clean
|
||||
RUN locale-gen en_US.UTF-8
|
||||
VOLUME /sys/fs/cgroup /run/lock /run /tmp
|
||||
|
||||
ADD https://bootstrap.pypa.io/get-pip.py /tmp/get-pip.py
|
||||
|
||||
COPY requirements/*.txt /tmp/requirements/
|
||||
COPY docker/requirements.sh /tmp/
|
||||
RUN cd /tmp/requirements && /tmp/requirements.sh
|
||||
|
||||
RUN ln -s python2.7 /usr/bin/python2
|
||||
RUN ln -s python3.6 /usr/bin/python3
|
||||
RUN ln -s python3 /usr/bin/python
|
||||
|
||||
# Install dotnet core SDK, pwsh, and other PS/.NET sanity test tools.
|
||||
# For now, we need to manually purge XML docs and other items from a Nuget dir to vastly reduce the image size.
|
||||
# See https://github.com/dotnet/dotnet-docker/issues/237 for details.
|
||||
RUN apt-get update -y && \
|
||||
DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
|
||||
apt-transport-https \
|
||||
&& \
|
||||
apt-get clean
|
||||
ADD https://packages.microsoft.com/config/ubuntu/16.04/prod.list /etc/apt/sources.list.d/microsoft.list
|
||||
RUN curl --silent https://packages.microsoft.com/keys/microsoft.asc | apt-key add -
|
||||
RUN apt-get update -y && \
|
||||
DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
|
||||
dotnet-sdk-2.1.4 \
|
||||
powershell \
|
||||
&& \
|
||||
find /usr/share/dotnet/sdk/NuGetFallbackFolder/ -name '*.xml' -type f -delete \
|
||||
&& \
|
||||
apt-get clean
|
||||
RUN dotnet --version
|
||||
RUN pwsh --version
|
||||
COPY requirements/sanity.ps1 /tmp/
|
||||
RUN /tmp/sanity.ps1
|
||||
|
||||
ENV container=docker
|
||||
CMD ["/sbin/init"]
|
@ -1,2 +0,0 @@
|
||||
deb http://ppa.launchpad.net/deadsnakes/ppa/ubuntu xenial main
|
||||
deb-src http://ppa.launchpad.net/deadsnakes/ppa/ubuntu xenial main
|
@ -1,8 +0,0 @@
|
||||
#require_gcc
|
||||
install_package "openssl-1.0.2k" "https://www.openssl.org/source/openssl-1.0.2k.tar.gz#6b3977c61f2aedf0f96367dcfb5c6e578cf37e7b8d913b4ecb6643c3cb88d8c0" mac_openssl --if has_broken_mac_openssl
|
||||
install_package "readline-6.3" "https://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
||||
if has_tar_xz_support; then
|
||||
install_package "Python-3.7.0a2" "https://www.python.org/ftp/python/3.7.0/Python-3.7.0a2.tar.xz#3e5adaa8a264b0c8eeab7b8a0185acec053b0d1547d2712ebc915153c4a52f28" ldflags_dirs standard verify_py37 ensurepip
|
||||
else
|
||||
install_package "Python-3.7.0a2" "https://www.python.org/ftp/python/3.7.0/Python-3.7.0a2.tgz#e1fd8af5a80d99ab64e7754f1bdd6d8429bf82ead81c68809ce056af319577be" ldflags_dirs standard verify_py37 ensurepip
|
||||
fi
|
@ -1,73 +0,0 @@
|
||||
#!/bin/bash -eu
|
||||
|
||||
python_versions=(
|
||||
2.6
|
||||
2.7
|
||||
3.5
|
||||
3.6
|
||||
3.7
|
||||
)
|
||||
|
||||
requirements=()
|
||||
|
||||
for requirement in *.txt; do
|
||||
if [ "${requirement}" != "constraints.txt" ]; then
|
||||
requirements+=("${requirement}")
|
||||
fi
|
||||
done
|
||||
|
||||
for python_version in "${python_versions[@]}"; do
|
||||
version_requirements=()
|
||||
|
||||
for requirement in "${requirements[@]}"; do
|
||||
case "${python_version}" in
|
||||
"2.6")
|
||||
case "${requirement}" in
|
||||
"integration.cloud.azure.txt") continue ;;
|
||||
esac
|
||||
esac
|
||||
|
||||
version_requirements+=("${requirement}")
|
||||
done
|
||||
|
||||
echo "==> Installing pip for python ${python_version} ..."
|
||||
|
||||
set -x
|
||||
"python${python_version}" --version
|
||||
"python${python_version}" /tmp/get-pip.py -c constraints.txt
|
||||
"pip${python_version}" --version --disable-pip-version-check
|
||||
set +x
|
||||
|
||||
echo "==> Installing requirements for python ${python_version} ..."
|
||||
|
||||
for requirement in "${version_requirements[@]}"; do
|
||||
set -x
|
||||
"pip${python_version}" install --disable-pip-version-check -c constraints.txt -r "${requirement}"
|
||||
set +x
|
||||
done
|
||||
|
||||
echo "==> Checking for requirements conflicts for ${python_version} ..."
|
||||
|
||||
after=$("pip${python_version}" list --format=legacy)
|
||||
|
||||
for requirement in "${version_requirements[@]}"; do
|
||||
before="${after}"
|
||||
|
||||
set -x
|
||||
"pip${python_version}" install --disable-pip-version-check -c constraints.txt -r "${requirement}"
|
||||
set +x
|
||||
|
||||
after=$("pip${python_version}" list --format=legacy)
|
||||
|
||||
if [ "${before}" != "${after}" ]; then
|
||||
echo "==> Conflicts detected in requirements for python ${python_version}: ${requirement}"
|
||||
echo ">>> Before"
|
||||
echo "${before}"
|
||||
echo ">>> After"
|
||||
echo "${after}"
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
|
||||
echo "==> Finished with requirements for python ${python_version}."
|
||||
done
|
Loading…
Reference in New Issue