Skip to content

Commit 9acfa09

Browse files
authored
Add arm32 Debian 12 helix image (#1041)
#1037 updated the glibc baseline for our arm32 images, but we were still running tests on Debian 11 which has an older version, causing the failures in dotnet/runtime#102030. This adds a new Debian 12 image.
1 parent 66355fd commit 9acfa09

File tree

2 files changed

+80
-0
lines changed

2 files changed

+80
-0
lines changed
+65
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
FROM debian:bookworm
2+
3+
# Install Helix Dependencies
4+
5+
RUN apt-get update && \
6+
apt-get install -y \
7+
autoconf \
8+
automake \
9+
at \
10+
build-essential \
11+
curl \
12+
gcc \
13+
gdb \
14+
git \
15+
iputils-ping \
16+
libcurl4 \
17+
libffi-dev \
18+
libgdiplus \
19+
libicu-dev \
20+
libssl-dev \
21+
libtool \
22+
libunwind8 \
23+
llvm \
24+
locales \
25+
locales-all \
26+
pkg-config \
27+
python3-cryptography \
28+
python3-dev \
29+
python3-pip \
30+
rustc \
31+
software-properties-common \
32+
sudo \
33+
tzdata \
34+
unzip \
35+
&& rm -rf /var/lib/apt/lists/* \
36+
\
37+
&& localedef -i en_US -c -f UTF-8 -A /usr/share/locale/locale.alias en_US.UTF-8
38+
39+
ENV LANG=en_US.utf8
40+
41+
RUN ln -sf /usr/bin/python3 /usr/bin/python && \
42+
python3 -m pip install virtualenv==20.17.1 --break-system-packages && \
43+
python3 -m pip download --no-deps helix-scripts --index-url https://dnceng.pkgs.visualstudio.com/public/_packaging/helix-client-prod/pypi/simple && \
44+
python3 -m pip install ./helix_scripts-*-py3-none-any.whl --break-system-packages
45+
46+
# Add MsQuic
47+
RUN curl -LO https://packages.microsoft.com/keys/microsoft.asc && \
48+
echo 2cfd20a306b2fa5e25522d78f2ef50a1f429d35fd30bd983e2ebffc2b80944fa microsoft.asc| sha256sum --check - && \
49+
apt-key add microsoft.asc && \
50+
rm microsoft.asc && \
51+
echo deb https://packages.microsoft.com/debian/12/prod bookworm main >> /etc/apt/sources.list.d/microsoft.list && \
52+
apt-get update && \
53+
apt-get install -y libmsquic && \
54+
rm -rf /var/lib/apt/lists/*
55+
56+
# Create helixbot users and give rights to sudo without password
57+
# (we use two users here to ensure volume mounting works with two possible UIDs of the host UID)
58+
# additionally, preinstall the virtualenv packages used for VSTS reporting to save time
59+
RUN /usr/sbin/adduser --disabled-password --gecos '' --uid 1000 --shell /bin/bash --ingroup adm helixbot && \
60+
chmod 755 /root && \
61+
echo "helixbot ALL=(ALL) NOPASSWD: ALL" > /etc/sudoers
62+
63+
USER helixbot
64+
65+
RUN python -m virtualenv /home/helixbot/.vsts-env

src/debian/manifest.json

+15
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,21 @@
9090
}
9191
]
9292
},
93+
{
94+
"platforms": [
95+
{
96+
"architecture": "arm64",
97+
"dockerfile": "src/debian/12/helix/arm32v7",
98+
"os": "linux",
99+
"osVersion": "bookworm",
100+
"tags": {
101+
"debian-12-helix-arm32v7-$(System:TimeStamp)-$(System:DockerfileGitCommitSha)": {},
102+
"debian-12-helix-arm32v7$(FloatingTagSuffix)": {}
103+
},
104+
"variant": "v8"
105+
}
106+
]
107+
},
93108
{
94109
"platforms": [
95110
{

0 commit comments

Comments
 (0)