Skip to content

Commit 6c6aede

Browse files
authored
Alpine edge (#1430)
1 parent 3d72019 commit 6c6aede

File tree

2 files changed

+100
-5
lines changed

2 files changed

+100
-5
lines changed

src/alpine/edge/helix/Dockerfile

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
FROM library/alpine:edge AS venv
2+
3+
RUN apk add --upgrade --no-cache \
4+
cargo \
5+
python3-dev \
6+
build-base \
7+
libffi-dev \
8+
openssl-dev \
9+
gcc \
10+
linux-headers
11+
12+
RUN python3 -m venv /venv && \
13+
source /venv/bin/activate && \
14+
pip download --no-deps helix-scripts --index-url https://dnceng.pkgs.visualstudio.com/public/_packaging/helix-client-prod/pypi/simple && \
15+
pip install ./helix_scripts-*-py3-none-any.whl && \
16+
rm ./helix_scripts-*-py3-none-any.whl
17+
18+
FROM library/alpine:edge
19+
20+
# Install .NET and test dependencies
21+
RUN apk add --upgrade --no-cache \
22+
bash \
23+
coreutils \
24+
curl \
25+
icu-data-full \
26+
icu-libs \
27+
iputils \
28+
krb5-libs \
29+
libmsquic \
30+
lldb \
31+
llvm \
32+
lttng-ust \
33+
musl-locales \
34+
numactl \
35+
openssl \
36+
python3 \
37+
python3-dev \
38+
py3-pip \
39+
sudo \
40+
tzdata
41+
42+
# create helixbot user and give rights to sudo without password
43+
# Alpine does not support long options
44+
RUN /usr/sbin/adduser -D -g '' -G adm -s /bin/bash -u 1000 helixbot && \
45+
chmod 755 /root && \
46+
echo "helixbot ALL=(ALL) NOPASSWD: ALL" > /etc/sudoers.d/helixbot
47+
48+
USER helixbot
49+
50+
# Install Helix Dependencies
51+
ENV VIRTUAL_ENV=/home/helixbot/.vsts-env
52+
RUN python3 -m venv $VIRTUAL_ENV
53+
ENV PATH="${VIRTUAL_ENV}/bin:${PATH}"
54+
COPY --from=venv --chown=helixbot /venv $VIRTUAL_ENV

src/alpine/manifest.json

Lines changed: 46 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,18 @@
9797
}
9898
]
9999
},
100+
{
101+
"platforms": [
102+
{
103+
"dockerfile": "src/alpine/3.21/amd64",
104+
"os": "linux",
105+
"osVersion": "alpine3.21",
106+
"tags": {
107+
"alpine-3.21-amd64": {}
108+
}
109+
}
110+
]
111+
},
100112
{
101113
"platforms": [
102114
{
@@ -127,24 +139,53 @@
127139
{
128140
"platforms": [
129141
{
130-
"dockerfile": "src/alpine/3.21/amd64",
142+
"architecture": "arm64",
143+
"dockerfile": "src/alpine/3.21/helix",
131144
"os": "linux",
132145
"osVersion": "alpine3.21",
133146
"tags": {
134-
"alpine-3.21-amd64": {}
147+
"alpine-3.21-helix-arm64v8": {}
148+
},
149+
"variant": "v8"
150+
}
151+
]
152+
},
153+
{
154+
"platforms": [
155+
{
156+
"architecture": "amd64",
157+
"dockerfile": "src/alpine/edge/helix",
158+
"os": "linux",
159+
"osVersion": "alpine-edge",
160+
"tags": {
161+
"alpine-edge-helix-amd64": {}
135162
}
136163
}
137164
]
138165
},
166+
{
167+
"platforms": [
168+
{
169+
"architecture": "arm",
170+
"dockerfile": "src/alpine/edge/helix",
171+
"os": "linux",
172+
"osVersion": "alpine-edge",
173+
"tags": {
174+
"alpine-edge-helix-arm32v7": {}
175+
},
176+
"variant": "v7"
177+
}
178+
]
179+
},
139180
{
140181
"platforms": [
141182
{
142183
"architecture": "arm64",
143-
"dockerfile": "src/alpine/3.21/helix",
184+
"dockerfile": "src/alpine/edge/helix",
144185
"os": "linux",
145-
"osVersion": "alpine3.21",
186+
"osVersion": "alpine-edge",
146187
"tags": {
147-
"alpine-3.21-helix-arm64v8": {}
188+
"alpine-edge-helix-arm64v8": {}
148189
},
149190
"variant": "v8"
150191
}

0 commit comments

Comments
 (0)