-
Notifications
You must be signed in to change notification settings - Fork 3
/
Dockerfile
59 lines (49 loc) · 1.55 KB
/
Dockerfile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
FROM registry.izaber.com/devops/base-docker-images/ubuntu:24.04
# Make the src directory
USER root
RUN mkdir /src && chown -R zaber: /src
USER zaber
# Let's sit in the src directory by default
WORKDIR /src
USER root
RUN apt update ; apt install -y software-properties-common ; add-apt-repository ppa:deadsnakes/ppa \
&& apt install -y \
build-essential \
curl \
git \
libssl-dev \
libxml2-dev \
libxslt1-dev \
python3.8 \
python3.8-dev \
python3.8-venv \
python3.9 \
python3.9-distutils \
python3.9-dev \
python3.10 \
python3.10-dev \
python3.10-distutils \
python3.11 \
python3.11-dev \
python3.11-distutils \
python3.12 \
python3.12-dev \
python3.12-venv \
python3.13 \
python3.13-dev \
telnet \
vim-nox \
# Install pypy3
&& curl -L -o /tmp/pypy.tar.bz2 https://downloads.python.org/pypy/pypy3.10-v7.3.17-linux64.tar.bz2 && \
tar -xjf /tmp/pypy.tar.bz2 -C /opt && \
rm /tmp/pypy.tar.bz2 && \
mv /opt/pypy3.10-v7.3.17-linux64 /opt/pypy3 \
&& apt clean \
&& rm -rf ~/.cache \
&& rm -rf /var/lib/apt/lists/*
USER zaber
# Copy over the data files
COPY --chown=zaber:zaber . /src
ENV PATH=/home/zaber/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
RUN /src/docker/setup-env.sh
CMD /src/docker/run-test.sh