Skip to content

Commit

Permalink
Add arm32 Debian 12 helix image (#1041)
Browse files Browse the repository at this point in the history
#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.
  • Loading branch information
sbomer authored May 9, 2024
1 parent 66355fd commit 9acfa09
Show file tree
Hide file tree
Showing 2 changed files with 80 additions and 0 deletions.
65 changes: 65 additions & 0 deletions src/debian/12/helix/arm32v7/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
FROM debian:bookworm

# Install Helix Dependencies

RUN apt-get update && \
apt-get install -y \
autoconf \
automake \
at \
build-essential \
curl \
gcc \
gdb \
git \
iputils-ping \
libcurl4 \
libffi-dev \
libgdiplus \
libicu-dev \
libssl-dev \
libtool \
libunwind8 \
llvm \
locales \
locales-all \
pkg-config \
python3-cryptography \
python3-dev \
python3-pip \
rustc \
software-properties-common \
sudo \
tzdata \
unzip \
&& rm -rf /var/lib/apt/lists/* \
\
&& localedef -i en_US -c -f UTF-8 -A /usr/share/locale/locale.alias en_US.UTF-8

ENV LANG=en_US.utf8

RUN ln -sf /usr/bin/python3 /usr/bin/python && \
python3 -m pip install virtualenv==20.17.1 --break-system-packages && \
python3 -m pip download --no-deps helix-scripts --index-url https://dnceng.pkgs.visualstudio.com/public/_packaging/helix-client-prod/pypi/simple && \
python3 -m pip install ./helix_scripts-*-py3-none-any.whl --break-system-packages

# Add MsQuic
RUN curl -LO https://packages.microsoft.com/keys/microsoft.asc && \
echo 2cfd20a306b2fa5e25522d78f2ef50a1f429d35fd30bd983e2ebffc2b80944fa microsoft.asc| sha256sum --check - && \
apt-key add microsoft.asc && \
rm microsoft.asc && \
echo deb https://packages.microsoft.com/debian/12/prod bookworm main >> /etc/apt/sources.list.d/microsoft.list && \
apt-get update && \
apt-get install -y libmsquic && \
rm -rf /var/lib/apt/lists/*

# Create helixbot users and give rights to sudo without password
# (we use two users here to ensure volume mounting works with two possible UIDs of the host UID)
# additionally, preinstall the virtualenv packages used for VSTS reporting to save time
RUN /usr/sbin/adduser --disabled-password --gecos '' --uid 1000 --shell /bin/bash --ingroup adm helixbot && \
chmod 755 /root && \
echo "helixbot ALL=(ALL) NOPASSWD: ALL" > /etc/sudoers

USER helixbot

RUN python -m virtualenv /home/helixbot/.vsts-env
15 changes: 15 additions & 0 deletions src/debian/manifest.json
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,21 @@
}
]
},
{
"platforms": [
{
"architecture": "arm64",
"dockerfile": "src/debian/12/helix/arm32v7",
"os": "linux",
"osVersion": "bookworm",
"tags": {
"debian-12-helix-arm32v7-$(System:TimeStamp)-$(System:DockerfileGitCommitSha)": {},
"debian-12-helix-arm32v7$(FloatingTagSuffix)": {}
},
"variant": "v8"
}
]
},
{
"platforms": [
{
Expand Down

0 comments on commit 9acfa09

Please sign in to comment.