Skip to content

Commit df48279

Browse files
Update nightly platforms (#449)
* add 2404 nightly buildx dockerfiles * add fedora39 nightly dockerfiles * add debian12 nightly images
1 parent 97fa0e3 commit df48279

File tree

10 files changed

+910
-0
lines changed

10 files changed

+910
-0
lines changed

Diff for: nightly-6.1/debian/12/Dockerfile

+89
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,89 @@
1+
FROM debian:12
2+
3+
RUN groupadd -g 998 build-user && \
4+
useradd -m -r -u 998 -g build-user build-user
5+
6+
ENV DEBIAN_FRONTEND="noninteractive"
7+
8+
RUN apt-get -y update && apt-get -y install \
9+
build-essential \
10+
clang \
11+
cmake \
12+
diffutils \
13+
git \
14+
icu-devtools \
15+
libcurl4-openssl-dev \
16+
libedit-dev \
17+
libicu-dev \
18+
libncurses-dev \
19+
libpython3-dev \
20+
libsqlite3-dev \
21+
libxml2-dev \
22+
ninja-build \
23+
pkg-config \
24+
python3-distutils \
25+
python3-pip \
26+
python3-pkg-resources \
27+
python3-psutil \
28+
rsync \
29+
swig \
30+
systemtap-sdt-dev \
31+
tzdata \
32+
uuid-dev \
33+
zip \
34+
libstdc++-12-dev
35+
36+
37+
ARG SWIFT_SIGNING_KEY=E813C892820A6FA13755B268F167DF1ACF9CE069
38+
ARG SWIFT_PLATFORM=debian12
39+
ARG SWIFT_VERSION=6.1
40+
ARG SWIFT_WEBROOT=https://download.swift.org/swift-6.1-branch
41+
ARG SWIFT_WEBROOT="$SWIFT_WEBROOT/$SWIFT_PLATFORM"
42+
ARG SWIFT_PREFIX=/opt/swift/${SWIFT_VERSION}
43+
44+
ENV SWIFT_PLATFORM=$SWIFT_PLATFORM \
45+
SWIFT_VERSION=$SWIFT_VERSION \
46+
SWIFT_WEBROOT=$SWIFT_WEBROOT \
47+
SWIFT_PREFIX=$SWIFT_PREFIX
48+
49+
COPY swift-ci/dependencies/requirements.txt /dependencies/
50+
RUN pip3 install -r /dependencies/requirements.txt --break-system-packages
51+
52+
RUN set -e; \
53+
ARCH_NAME="$(dpkg --print-architecture)"; \
54+
url=; \
55+
case "${ARCH_NAME##*-}" in \
56+
'amd64') \
57+
OS_ARCH_SUFFIX=''; \
58+
;; \
59+
'arm64') \
60+
OS_ARCH_SUFFIX='-aarch64'; \
61+
;; \
62+
*) echo >&2 "error: unsupported architecture: '$ARCH_NAME'"; exit 1 ;; \
63+
esac; \
64+
# - Grab curl here so we cache better up above
65+
export DEBIAN_FRONTEND=noninteractive \
66+
&& apt-get -q update && apt-get -q install -y curl && rm -rf /var/lib/apt/lists/* \
67+
&& export $(curl -s ${SWIFT_WEBROOT}${OS_ARCH_SUFFIX}/latest-build.yml | grep 'download:' | sed 's/:[^:\/\/]/=/g') \
68+
&& export $(curl -s ${SWIFT_WEBROOT}${OS_ARCH_SUFFIX}/latest-build.yml | grep 'download_signature:' | sed 's/:[^:\/\/]/=/g') \
69+
&& export DOWNLOAD_DIR=$(echo $download | sed "s/-${SWIFT_PLATFORM}${OS_ARCH_SUFFIX}.tar.gz//g") \
70+
&& echo $DOWNLOAD_DIR > .swift_tag \
71+
# - Download the GPG keys, Swift toolchain, and toolchain signature, and verify.
72+
&& export GNUPGHOME="$(mktemp -d)" \
73+
&& curl -fsSL ${SWIFT_WEBROOT}${OS_ARCH_SUFFIX}/${DOWNLOAD_DIR}/${download} -o latest_toolchain.tar.gz \
74+
${SWIFT_WEBROOT}${OS_ARCH_SUFFIX}/${DOWNLOAD_DIR}/${download} -o latest_toolchain.tar.gz.sig \
75+
&& curl -fSsL https://swift.org/keys/all-keys.asc | gpg --import - \
76+
# - Unpack the toolchain, set libs permissions, and clean up.
77+
&& mkdir -p $SWIFT_PREFIX \
78+
&& tar -xzf latest_toolchain.tar.gz --directory $SWIFT_PREFIX --strip-components=1 \
79+
&& chmod -R o+r $SWIFT_PREFIX/usr/lib/swift \
80+
&& rm -rf "$GNUPGHOME" latest_toolchain.tar.gz.sig latest_toolchain.tar.gz
81+
82+
ENV PATH="${SWIFT_PREFIX}/usr/bin:${PATH}"
83+
84+
USER build-user
85+
86+
WORKDIR /home/build-user
87+
88+
# Print Installed Swift Version
89+
RUN swift --version

Diff for: nightly-6.1/debian/12/buildx/Dockerfile

+96
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,96 @@
1+
FROM debian:12 as Base
2+
3+
RUN groupadd -g 998 build-user && \
4+
useradd -m -r -u 998 -g build-user build-user
5+
6+
ENV DEBIAN_FRONTEND="noninteractive"
7+
8+
RUN apt-get -y update && apt-get -y install \
9+
build-essential \
10+
clang \
11+
cmake \
12+
diffutils \
13+
git \
14+
icu-devtools \
15+
libcurl4-openssl-dev \
16+
libedit-dev \
17+
libicu-dev \
18+
libncurses-dev \
19+
libpython3-dev \
20+
libsqlite3-dev \
21+
libxml2-dev \
22+
ninja-build \
23+
pkg-config \
24+
python3-distutils \
25+
python3-pip \
26+
python3-pkg-resources \
27+
python3-psutil \
28+
rsync \
29+
swig \
30+
systemtap-sdt-dev \
31+
tzdata \
32+
uuid-dev \
33+
zip \
34+
libstdc++-12-dev
35+
36+
37+
ARG SWIFT_SIGNING_KEY=E813C892820A6FA13755B268F167DF1ACF9CE069
38+
ARG SWIFT_PLATFORM=debian12
39+
ARG SWIFT_VERSION=6.1
40+
ARG SWIFT_WEBROOT=https://download.swift.org/swift-6.1-branch
41+
ARG SWIFT_WEBROOT="$SWIFT_WEBROOT/$SWIFT_PLATFORM"
42+
ARG SWIFT_PREFIX=/opt/swift/${SWIFT_VERSION}
43+
44+
# This is a small trick to enable if/else for arm64 and amd64.
45+
# Because of https://bugs.swift.org/browse/SR-14872 we need adjust tar options.
46+
FROM base AS base-amd64
47+
ARG OS_ARCH_SUFFIX=
48+
49+
FROM base AS base-arm64
50+
ARG OS_ARCH_SUFFIX=-aarch64
51+
52+
FROM base-$TARGETARCH AS final
53+
54+
ENV SWIFT_PLATFORM=$SWIFT_PLATFORM \
55+
SWIFT_VERSION=$SWIFT_VERSION \
56+
SWIFT_WEBROOT=$SWIFT_WEBROOT \
57+
SWIFT_PREFIX=$SWIFT_PREFIX
58+
59+
RUN set -e; \
60+
ARCH_NAME="$(dpkg --print-architecture)"; \
61+
url=; \
62+
case "${ARCH_NAME##*-}" in \
63+
'amd64') \
64+
OS_ARCH_SUFFIX=''; \
65+
;; \
66+
'arm64') \
67+
OS_ARCH_SUFFIX='-aarch64'; \
68+
;; \
69+
*) echo >&2 "error: unsupported architecture: '$ARCH_NAME'"; exit 1 ;; \
70+
esac; \
71+
# - Grab curl here so we cache better up above
72+
export DEBIAN_FRONTEND=noninteractive \
73+
&& apt-get -q update && apt-get -q install -y curl && rm -rf /var/lib/apt/lists/* \
74+
&& export $(curl -s ${SWIFT_WEBROOT}${OS_ARCH_SUFFIX}/latest-build.yml | grep 'download:' | sed 's/:[^:\/\/]/=/g') \
75+
&& export $(curl -s ${SWIFT_WEBROOT}${OS_ARCH_SUFFIX}/latest-build.yml | grep 'download_signature:' | sed 's/:[^:\/\/]/=/g') \
76+
&& export DOWNLOAD_DIR=$(echo $download | sed "s/-${SWIFT_PLATFORM}${OS_ARCH_SUFFIX}.tar.gz//g") \
77+
&& echo $DOWNLOAD_DIR > .swift_tag \
78+
# - Download the GPG keys, Swift toolchain, and toolchain signature, and verify.
79+
&& export GNUPGHOME="$(mktemp -d)" \
80+
&& curl -fsSL ${SWIFT_WEBROOT}${OS_ARCH_SUFFIX}/${DOWNLOAD_DIR}/${download} -o latest_toolchain.tar.gz \
81+
${SWIFT_WEBROOT}${OS_ARCH_SUFFIX}/${DOWNLOAD_DIR}/${download} -o latest_toolchain.tar.gz.sig \
82+
&& curl -fSsL https://swift.org/keys/all-keys.asc | gpg --import - \
83+
# - Unpack the toolchain, set libs permissions, and clean up.
84+
&& mkdir -p $SWIFT_PREFIX \
85+
&& tar -xzf latest_toolchain.tar.gz --directory $SWIFT_PREFIX --strip-components=1 \
86+
&& chmod -R o+r $SWIFT_PREFIX/usr/lib/swift \
87+
&& rm -rf "$GNUPGHOME" latest_toolchain.tar.gz.sig latest_toolchain.tar.gz
88+
89+
ENV PATH="${SWIFT_PREFIX}/usr/bin:${PATH}"
90+
91+
USER build-user
92+
93+
WORKDIR /home/build-user
94+
95+
# Print Installed Swift Version
96+
RUN swift --version

Diff for: nightly-6.1/fedora/39/Dockerfile

+89
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,89 @@
1+
FROM fedora:39
2+
LABEL maintainer="Swift Infrastructure <[email protected]>"
3+
LABEL description="Docker Container for the Swift programming language"
4+
5+
RUN groupadd -g 998 build-user && \
6+
useradd -m -r -u 998 -g build-user build-user
7+
8+
RUN yum install -y \
9+
libcurl-devel \
10+
libedit-devel \
11+
libicu-devel \
12+
sqlite-devel \
13+
libuuid-devel \
14+
libxml2-devel \
15+
python3 \
16+
python3-pip \
17+
python3-devel \
18+
python3-distro \
19+
python3-setuptools \
20+
python3-six \
21+
rsync \
22+
swig \
23+
clang \
24+
perl-podlators \
25+
which \
26+
git \
27+
cmake \
28+
zip \
29+
unzip \
30+
diffutils \
31+
libstdc++-devel \
32+
libstdc++-static
33+
34+
35+
ARG SWIFT_SIGNING_KEY=E813C892820A6FA13755B268F167DF1ACF9CE069
36+
ARG SWIFT_PLATFORM=fedora39
37+
ARG SWIFT_VERSION=6.1
38+
ARG SWIFT_BRANCH=swift-${SWIFT_VERSION}-release
39+
ARG SWIFT_TAG=swift-${SWIFT_VERSION}-RELEASE
40+
ARG SWIFT_WEBROOT=https://download.swift.org/swift-6.1-branch
41+
ARG SWIFT_WEBROOT="$SWIFT_WEBROOT/$SWIFT_PLATFORM"
42+
ARG SWIFT_PREFIX=/opt/swift/${SWIFT_VERSION}
43+
44+
ENV SWIFT_SIGNING_KEY=$SWIFT_SIGNING_KEY \
45+
SWIFT_PLATFORM=$SWIFT_PLATFORM \
46+
SWIFT_VERSION=$SWIFT_VERSION \
47+
SWIFT_BRANCH=$SWIFT_BRANCH \
48+
SWIFT_TAG=$SWIFT_TAG \
49+
SWIFT_WEBROOT=$SWIFT_WEBROOT \
50+
SWIFT_PREFIX=$SWIFT_PREFIX
51+
52+
COPY swift-ci/dependencies/requirements.txt /dependencies/
53+
RUN pip3 install -r /dependencies/requirements.txt
54+
55+
RUN set -e; \
56+
ARCH_NAME="$(rpm --eval '%{_arch}')"; \
57+
url=; \
58+
case "${ARCH_NAME##*-}" in \
59+
'x86_64') \
60+
OS_ARCH_SUFFIX=''; \
61+
;; \
62+
'aarch64') \
63+
OS_ARCH_SUFFIX='-aarch64'; \
64+
;; \
65+
*) echo >&2 "error: unsupported architecture: '$ARCH_NAME'"; exit 1 ;; \
66+
esac; \
67+
export $(curl -s ${SWIFT_WEBROOT}${OS_ARCH_SUFFIX}/latest-build.yml | grep 'download:' | sed 's/:[^:\/\/]/=/g') \
68+
&& export $(curl -s ${SWIFT_WEBROOT}${OS_ARCH_SUFFIX}/latest-build.yml | grep 'download_signature:' | sed 's/:[^:\/\/]/=/g') \
69+
&& export DOWNLOAD_DIR=$(echo $download | sed "s/-${SWIFT_PLATFORM}${OS_ARCH_SUFFIX}.tar.gz//g") \
70+
&& echo $DOWNLOAD_DIR > .swift_tag \
71+
# - Download the GPG keys, Swift toolchain, and toolchain signature, and verify.
72+
&& export GNUPGHOME="$(mktemp -d)" \
73+
&& curl -fsSL ${SWIFT_WEBROOT}${OS_ARCH_SUFFIX}/${DOWNLOAD_DIR}/${download} -o latest_toolchain.tar.gz \
74+
${SWIFT_WEBROOT}${OS_ARCH_SUFFIX}/${DOWNLOAD_DIR}/${download} -o latest_toolchain.tar.gz.sig \
75+
&& curl -fSsL https://swift.org/keys/all-keys.asc | gpg --import - \
76+
# - Unpack the toolchain, set libs permissions, and clean up.
77+
&& mkdir -p $SWIFT_PREFIX \
78+
&& tar -xzf latest_toolchain.tar.gz --directory $SWIFT_PREFIX --strip-components=1 \
79+
&& chmod -R o+r $SWIFT_PREFIX/usr/lib/swift \
80+
&& rm -rf "$GNUPGHOME" latest_toolchain.tar.gz.sig latest_toolchain.tar.gz
81+
82+
ENV PATH="${SWIFT_PREFIX}/usr/bin:${PATH}"
83+
84+
USER build-user
85+
86+
WORKDIR /home/build-user
87+
88+
# Print Installed Swift Version
89+
RUN swift --version

Diff for: nightly-6.1/fedora/39/buildx/Dockerfile

+96
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,96 @@
1+
FROM fedora:39 AS base
2+
LABEL maintainer="Swift Infrastructure <[email protected]>"
3+
LABEL description="Docker Container for the Swift programming language"
4+
5+
RUN groupadd -g 998 build-user && \
6+
useradd -m -r -u 998 -g build-user build-user
7+
8+
RUN yum install -y \
9+
libcurl-devel \
10+
libedit-devel \
11+
libicu-devel \
12+
sqlite-devel \
13+
libuuid-devel \
14+
libxml2-devel \
15+
python3 \
16+
python3-pip \
17+
python3-devel \
18+
python3-distro \
19+
python3-setuptools \
20+
python3-six \
21+
rsync \
22+
swig \
23+
clang \
24+
perl-podlators \
25+
which \
26+
git \
27+
cmake \
28+
zip \
29+
unzip \
30+
diffutils \
31+
libstdc++-devel \
32+
libstdc++-static
33+
34+
35+
ARG SWIFT_SIGNING_KEY=E813C892820A6FA13755B268F167DF1ACF9CE069
36+
ARG SWIFT_PLATFORM=fedora39
37+
ARG SWIFT_VERSION=6.1
38+
ARG SWIFT_BRANCH=swift-${SWIFT_VERSION}-release
39+
ARG SWIFT_TAG=swift-${SWIFT_VERSION}-RELEASE
40+
ARG SWIFT_WEBROOT=https://download.swift.org/swift-6.1-branch
41+
ARG SWIFT_WEBROOT="$SWIFT_WEBROOT/$SWIFT_PLATFORM"
42+
ARG SWIFT_PREFIX=/opt/swift/${SWIFT_VERSION}
43+
44+
# This is a small trick to enable if/else for arm64 and amd64.
45+
# Because of https://bugs.swift.org/browse/SR-14872 we need adjust tar options.
46+
FROM base AS base-amd64
47+
ARG OS_ARCH_SUFFIX=
48+
49+
FROM base AS base-arm64
50+
ARG OS_ARCH_SUFFIX=-aarch64
51+
52+
FROM base-$TARGETARCH AS final
53+
54+
ENV SWIFT_SIGNING_KEY=$SWIFT_SIGNING_KEY \
55+
SWIFT_PLATFORM=$SWIFT_PLATFORM \
56+
SWIFT_VERSION=$SWIFT_VERSION \
57+
SWIFT_BRANCH=$SWIFT_BRANCH \
58+
SWIFT_TAG=$SWIFT_TAG \
59+
SWIFT_WEBROOT=$SWIFT_WEBROOT \
60+
SWIFT_PREFIX=$SWIFT_PREFIX
61+
62+
RUN set -e; \
63+
ARCH_NAME="$(rpm --eval '%{_arch}')"; \
64+
url=; \
65+
case "${ARCH_NAME##*-}" in \
66+
'x86_64') \
67+
OS_ARCH_SUFFIX=''; \
68+
;; \
69+
'aarch64') \
70+
OS_ARCH_SUFFIX='-aarch64'; \
71+
;; \
72+
*) echo >&2 "error: unsupported architecture: '$ARCH_NAME'"; exit 1 ;; \
73+
esac; \
74+
export $(curl -s ${SWIFT_WEBROOT}${OS_ARCH_SUFFIX}/latest-build.yml | grep 'download:' | sed 's/:[^:\/\/]/=/g') \
75+
&& export $(curl -s ${SWIFT_WEBROOT}${OS_ARCH_SUFFIX}/latest-build.yml | grep 'download_signature:' | sed 's/:[^:\/\/]/=/g') \
76+
&& export DOWNLOAD_DIR=$(echo $download | sed "s/-${SWIFT_PLATFORM}${OS_ARCH_SUFFIX}.tar.gz//g") \
77+
&& echo $DOWNLOAD_DIR > .swift_tag \
78+
# - Download the GPG keys, Swift toolchain, and toolchain signature, and verify.
79+
&& export GNUPGHOME="$(mktemp -d)" \
80+
&& curl -fsSL ${SWIFT_WEBROOT}${OS_ARCH_SUFFIX}/${DOWNLOAD_DIR}/${download} -o latest_toolchain.tar.gz \
81+
${SWIFT_WEBROOT}${OS_ARCH_SUFFIX}/${DOWNLOAD_DIR}/${download} -o latest_toolchain.tar.gz.sig \
82+
&& curl -fSsL https://swift.org/keys/all-keys.asc | gpg --import - \
83+
# - Unpack the toolchain, set libs permissions, and clean up.
84+
&& mkdir -p $SWIFT_PREFIX \
85+
&& tar -xzf latest_toolchain.tar.gz --directory $SWIFT_PREFIX --strip-components=1 \
86+
&& chmod -R o+r $SWIFT_PREFIX/usr/lib/swift \
87+
&& rm -rf "$GNUPGHOME" latest_toolchain.tar.gz.sig latest_toolchain.tar.gz
88+
89+
ENV PATH="${SWIFT_PREFIX}/usr/bin:${PATH}"
90+
91+
USER build-user
92+
93+
WORKDIR /home/build-user
94+
95+
# Print Installed Swift Version
96+
RUN swift --version

0 commit comments

Comments
 (0)