Skip to content

Commit 53c4d44

Browse files
authored
Updating Swift 5.10 Dockerfiles (#390)
* Updating 5.10 images to 5.10.1 Updating docker images to the 5.10.1 dot release. * Add Ubuntu 23.10 Dockerfile * Add Ubuntu 24.04 Dockerfile * Add Fedora 39 Dockerfile * Add Debian 12 Dockerfile
1 parent 62674c9 commit 53c4d44

File tree

16 files changed

+304
-24
lines changed

16 files changed

+304
-24
lines changed

5.10/amazonlinux/2/Dockerfile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,8 @@ RUN yum -y install \
2929
# uid Swift 5.x Release Signing Key <[email protected]
3030
ARG SWIFT_SIGNING_KEY=A62AE125BBBFBB96A6E042EC925CC1CCED3D1561
3131
ARG SWIFT_PLATFORM=amazonlinux2
32-
ARG SWIFT_BRANCH=swift-5.10-release
33-
ARG SWIFT_VERSION=swift-5.10-RELEASE
32+
ARG SWIFT_BRANCH=swift-5.10.1-release
33+
ARG SWIFT_VERSION=swift-5.10.1-RELEASE
3434
ARG SWIFT_WEBROOT=https://download.swift.org
3535

3636
ENV SWIFT_SIGNING_KEY=$SWIFT_SIGNING_KEY \

5.10/amazonlinux/2/slim/Dockerfile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@ LABEL description="Docker Container for the Swift programming language"
99
# uid Swift 5.x Release Signing Key <[email protected]
1010
ARG SWIFT_SIGNING_KEY=A62AE125BBBFBB96A6E042EC925CC1CCED3D1561
1111
ARG SWIFT_PLATFORM=amazonlinux2
12-
ARG SWIFT_BRANCH=swift-5.10-release
13-
ARG SWIFT_VERSION=swift-5.10-RELEASE
12+
ARG SWIFT_BRANCH=swift-5.10.1-release
13+
ARG SWIFT_VERSION=swift-5.10.1-RELEASE
1414
ARG SWIFT_WEBROOT=https://download.swift.org
1515

1616
ENV SWIFT_SIGNING_KEY=$SWIFT_SIGNING_KEY \

5.10/centos/7/Dockerfile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,8 @@ RUN sed -i -e 's/\*__block/\*__libc_block/g' /usr/include/unistd.h
2929
# uid Swift 5.x Release Signing Key <[email protected]
3030
ARG SWIFT_SIGNING_KEY=A62AE125BBBFBB96A6E042EC925CC1CCED3D1561
3131
ARG SWIFT_PLATFORM=centos7
32-
ARG SWIFT_BRANCH=swift-5.10-release
33-
ARG SWIFT_VERSION=swift-5.10-RELEASE
32+
ARG SWIFT_BRANCH=swift-5.10.1-release
33+
ARG SWIFT_VERSION=swift-5.10.1-RELEASE
3434
ARG SWIFT_WEBROOT=https://download.swift.org
3535

3636
ENV SWIFT_SIGNING_KEY=$SWIFT_SIGNING_KEY \

5.10/centos/7/slim/Dockerfile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@ LABEL description="Docker Container for the Swift programming language"
99
# uid Swift 5.x Release Signing Key <[email protected]
1010
ARG SWIFT_SIGNING_KEY=A62AE125BBBFBB96A6E042EC925CC1CCED3D1561
1111
ARG SWIFT_PLATFORM=centos7
12-
ARG SWIFT_BRANCH=swift-5.10-release
13-
ARG SWIFT_VERSION=swift-5.10-RELEASE
12+
ARG SWIFT_BRANCH=swift-5.10.1-release
13+
ARG SWIFT_VERSION=swift-5.10.1-RELEASE
1414
ARG SWIFT_WEBROOT=https://download.swift.org
1515

1616
ENV SWIFT_SIGNING_KEY=$SWIFT_SIGNING_KEY \

5.10/debian/12/Dockerfile

Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
FROM debian:12
2+
3+
LABEL maintainer="Swift Infrastructure <[email protected]>"
4+
LABEL description="Docker Container for the Swift programming language"
5+
6+
RUN export DEBIAN_FRONTEND=noninteractive DEBCONF_NONINTERACTIVE_SEEN=true && apt-get -q update && \
7+
apt-get -q install -y \
8+
binutils-gold \
9+
libicu-dev \
10+
libcurl4-openssl-dev \
11+
libedit-dev \
12+
libsqlite3-dev \
13+
libncurses-dev \
14+
libpython3-dev \
15+
libxml2-dev \
16+
pkg-config \
17+
uuid-dev \
18+
tzdata \
19+
git \
20+
gcc \
21+
&& rm -r /var/lib/apt/lists/*
22+
23+
# Everything up to here should cache nicely between Swift versions, assuming dev dependencies change little
24+
25+
# pub 4096R/ED3D1561 2019-03-22 [SC] [expires: 2023-03-23]
26+
# Key fingerprint = A62A E125 BBBF BB96 A6E0 42EC 925C C1CC ED3D 1561
27+
# uid Swift 5.x Release Signing Key <[email protected]
28+
ARG SWIFT_SIGNING_KEY=A62AE125BBBFBB96A6E042EC925CC1CCED3D1561
29+
ARG SWIFT_PLATFORM=debian12
30+
ARG SWIFT_BRANCH=swift-5.10.1-release
31+
ARG SWIFT_VERSION=swift-5.10.1-RELEASE
32+
ARG SWIFT_WEBROOT=https://download.swift.org
33+
34+
ENV SWIFT_SIGNING_KEY=$SWIFT_SIGNING_KEY \
35+
SWIFT_PLATFORM=$SWIFT_PLATFORM \
36+
SWIFT_BRANCH=$SWIFT_BRANCH \
37+
SWIFT_VERSION=$SWIFT_VERSION \
38+
SWIFT_WEBROOT=$SWIFT_WEBROOT
39+
40+
RUN set -e; \
41+
ARCH_NAME="$(dpkg --print-architecture)"; \
42+
url=; \
43+
case "${ARCH_NAME##*-}" in \
44+
'amd64') \
45+
OS_ARCH_SUFFIX=''; \
46+
;; \
47+
'arm64') \
48+
OS_ARCH_SUFFIX='-aarch64'; \
49+
;; \
50+
*) echo >&2 "error: unsupported architecture: '$ARCH_NAME'"; exit 1 ;; \
51+
esac; \
52+
SWIFT_WEBDIR="$SWIFT_WEBROOT/$SWIFT_BRANCH/$(echo $SWIFT_PLATFORM | tr -d .)$OS_ARCH_SUFFIX" \
53+
&& SWIFT_BIN_URL="$SWIFT_WEBDIR/$SWIFT_VERSION/$SWIFT_VERSION-$SWIFT_PLATFORM$OS_ARCH_SUFFIX.tar.gz" \
54+
&& SWIFT_SIG_URL="$SWIFT_BIN_URL.sig" \
55+
# - Grab curl and gpg here so we cache better up above
56+
&& export DEBIAN_FRONTEND=noninteractive \
57+
&& apt-get -q update && apt-get -q install -y curl gpg && rm -rf /var/lib/apt/lists/* \
58+
# - Download the GPG keys, Swift toolchain, and toolchain signature, and verify.
59+
&& export GNUPGHOME="$(mktemp -d)" \
60+
&& curl -fsSL "$SWIFT_BIN_URL" -o swift.tar.gz "$SWIFT_SIG_URL" -o swift.tar.gz.sig \
61+
&& gpg --batch --quiet --keyserver keyserver.ubuntu.com --recv-keys "$SWIFT_SIGNING_KEY" \
62+
&& gpg --batch --verify swift.tar.gz.sig swift.tar.gz \
63+
# - Unpack the toolchain, set libs permissions, and clean up.
64+
&& tar -xzf swift.tar.gz --directory / --strip-components=1 \
65+
&& chmod -R o+r /usr/lib/swift \
66+
&& rm -rf "$GNUPGHOME" swift.tar.gz.sig swift.tar.gz \
67+
&& apt-get purge --auto-remove -y curl gpg
68+
69+
# Print Installed Swift Version
70+
RUN swift --version

5.10/fedora/39/Dockerfile

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
FROM fedora:39
2+
3+
LABEL maintainer="Swift Infrastructure <[email protected]>"
4+
LABEL description="Docker Container for the Swift programming language"
5+
6+
RUN yum -y install \
7+
binutils \
8+
gcc \
9+
git \
10+
unzip \
11+
libcurl-devel \
12+
libedit-devel \
13+
libicu-devel \
14+
sqlite-devel \
15+
libuuid-devel \
16+
libxml2-devel \
17+
python3-devel
18+
19+
# Everything up to here should cache nicely between Swift versions, assuming dev dependencies change little
20+
21+
# pub 4096R/ED3D1561 2019-03-22 [SC] [expires: 2023-03-23]
22+
# Key fingerprint = A62A E125 BBBF BB96 A6E0 42EC 925C C1CC ED3D 1561
23+
# uid Swift 5.x Release Signing Key <[email protected]
24+
ARG SWIFT_SIGNING_KEY=A62AE125BBBFBB96A6E042EC925CC1CCED3D1561
25+
ARG SWIFT_PLATFORM=fedora39
26+
ARG SWIFT_BRANCH=swift-5.10.1-release
27+
ARG SWIFT_VERSION=swift-5.10.1-RELEASE
28+
ARG SWIFT_WEBROOT=https://download.swift.org
29+
30+
ENV SWIFT_SIGNING_KEY=$SWIFT_SIGNING_KEY \
31+
SWIFT_PLATFORM=$SWIFT_PLATFORM \
32+
SWIFT_BRANCH=$SWIFT_BRANCH \
33+
SWIFT_VERSION=$SWIFT_VERSION \
34+
SWIFT_WEBROOT=$SWIFT_WEBROOT
35+
36+
RUN set -e; \
37+
ARCH_NAME="$(rpm --eval '%{_arch}')"; \
38+
url=; \
39+
case "${ARCH_NAME##*-}" in \
40+
'x86_64') \
41+
OS_ARCH_SUFFIX=''; \
42+
;; \
43+
'aarch64') \
44+
OS_ARCH_SUFFIX='-aarch64'; \
45+
;; \
46+
*) echo >&2 "error: unsupported architecture: '$ARCH_NAME'"; exit 1 ;; \
47+
esac; \
48+
SWIFT_WEBDIR="$SWIFT_WEBROOT/$SWIFT_BRANCH/$(echo $SWIFT_PLATFORM | tr -d .)$OS_ARCH_SUFFIX" \
49+
&& SWIFT_BIN_URL="$SWIFT_WEBDIR/$SWIFT_VERSION/$SWIFT_VERSION-$SWIFT_PLATFORM$OS_ARCH_SUFFIX.tar.gz" \
50+
&& SWIFT_SIG_URL="$SWIFT_BIN_URL.sig" \
51+
&& echo $SWIFT_BIN_URL \
52+
# - Download the GPG keys, Swift toolchain, and toolchain signature, and verify.
53+
&& export GNUPGHOME="$(mktemp -d)" \
54+
&& curl -fsSL "$SWIFT_BIN_URL" -o swift.tar.gz "$SWIFT_SIG_URL" -o swift.tar.gz.sig \
55+
&& gpg --batch --quiet --keyserver keyserver.ubuntu.com --recv-keys "$SWIFT_SIGNING_KEY" \
56+
&& gpg --batch --verify swift.tar.gz.sig swift.tar.gz \
57+
# - Unpack the toolchain, set libs permissions, and clean up.
58+
&& tar -xzf swift.tar.gz --directory / --strip-components=1 \
59+
&& chmod -R o+r /usr/lib/swift \
60+
&& rm -rf "$GNUPGHOME" swift.tar.gz.sig swift.tar.gz
61+
62+
# Print Installed Swift Version
63+
RUN swift --version

5.10/rhel-ubi/9/Dockerfile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,8 @@ RUN yum -y install \
2323
# uid Swift 5.x Release Signing Key <[email protected]
2424
ARG SWIFT_SIGNING_KEY=A62AE125BBBFBB96A6E042EC925CC1CCED3D1561
2525
ARG SWIFT_PLATFORM=ubi9
26-
ARG SWIFT_BRANCH=swift-5.10-release
27-
ARG SWIFT_VERSION=swift-5.10-RELEASE
26+
ARG SWIFT_BRANCH=swift-5.10.1-release
27+
ARG SWIFT_VERSION=swift-5.10.1-RELEASE
2828
ARG SWIFT_WEBROOT=https://download.swift.org
2929

3030
ENV SWIFT_SIGNING_KEY=$SWIFT_SIGNING_KEY \

5.10/rhel-ubi/9/slim/Dockerfile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@ LABEL description="Docker Container for the Swift programming language"
99
# uid Swift 5.x Release Signing Key <[email protected]
1010
ARG SWIFT_SIGNING_KEY=A62AE125BBBFBB96A6E042EC925CC1CCED3D1561
1111
ARG SWIFT_PLATFORM=ubi9
12-
ARG SWIFT_BRANCH=swift-5.10-release
13-
ARG SWIFT_VERSION=swift-5.10-RELEASE
12+
ARG SWIFT_BRANCH=swift-5.10.1-release
13+
ARG SWIFT_VERSION=swift-5.10.1-RELEASE
1414
ARG SWIFT_WEBROOT=https://download.swift.org
1515

1616
ENV SWIFT_SIGNING_KEY=$SWIFT_SIGNING_KEY \

5.10/ubuntu/18.04/Dockerfile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,8 @@ RUN export DEBIAN_FRONTEND=noninteractive DEBCONF_NONINTERACTIVE_SEEN=true && ap
2828
# uid Swift 5.x Release Signing Key <[email protected]
2929
ARG SWIFT_SIGNING_KEY=A62AE125BBBFBB96A6E042EC925CC1CCED3D1561
3030
ARG SWIFT_PLATFORM=ubuntu18.04
31-
ARG SWIFT_BRANCH=swift-5.10-release
32-
ARG SWIFT_VERSION=swift-5.10-RELEASE
31+
ARG SWIFT_BRANCH=swift-5.10.1-release
32+
ARG SWIFT_VERSION=swift-5.10.1-RELEASE
3333
ARG SWIFT_WEBROOT=https://download.swift.org
3434

3535
ENV SWIFT_SIGNING_KEY=$SWIFT_SIGNING_KEY \

5.10/ubuntu/18.04/slim/Dockerfile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,8 @@ RUN export DEBIAN_FRONTEND=noninteractive DEBCONF_NONINTERACTIVE_SEEN=true && ap
1717
# uid Swift 5.x Release Signing Key <[email protected]
1818
ARG SWIFT_SIGNING_KEY=A62AE125BBBFBB96A6E042EC925CC1CCED3D1561
1919
ARG SWIFT_PLATFORM=ubuntu18.04
20-
ARG SWIFT_BRANCH=swift-5.10-release
21-
ARG SWIFT_VERSION=swift-5.10-RELEASE
20+
ARG SWIFT_BRANCH=swift-5.10.1-release
21+
ARG SWIFT_VERSION=swift-5.10.1-RELEASE
2222
ARG SWIFT_WEBROOT=https://download.swift.org
2323

2424
ENV SWIFT_SIGNING_KEY=$SWIFT_SIGNING_KEY \

0 commit comments

Comments
 (0)