Skip to content

Commit 987156a

Browse files
authored
Update the Swift CI Debian 12 and Fedora 39 Dockerfiles to use nightly 5.10 Swift compiler (#388)
1 parent 2838e2e commit 987156a

File tree

2 files changed

+90
-0
lines changed

2 files changed

+90
-0
lines changed

swift-ci/master/debian/12/Dockerfile

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,53 @@ RUN apt-get -y update && apt-get -y install \
3131
uuid-dev \
3232
zip
3333

34+
35+
ARG SWIFT_PLATFORM=debian12
36+
ARG SWIFT_VERSION=5.10
37+
ARG SWIFT_BRANCH=swift-${SWIFT_VERSION}-branch
38+
ARG SWIFT_TAG=swift-5.10-DEVELOPMENT-SNAPSHOT-2024-05-26-a
39+
ARG SWIFT_WEBROOT=https://download.swift.org
40+
ARG SWIFT_PREFIX=/opt/swift/${SWIFT_VERSION}
41+
42+
ENV SWIFT_PLATFORM=$SWIFT_PLATFORM \
43+
SWIFT_VERSION=$SWIFT_VERSION \
44+
SWIFT_BRANCH=$SWIFT_BRANCH \
45+
SWIFT_TAG=$SWIFT_TAG \
46+
SWIFT_WEBROOT=$SWIFT_WEBROOT \
47+
SWIFT_PREFIX=$SWIFT_PREFIX
48+
49+
RUN set -e; \
50+
ARCH_NAME="$(dpkg --print-architecture)"; \
51+
url=; \
52+
case "${ARCH_NAME##*-}" in \
53+
'amd64') \
54+
OS_ARCH_SUFFIX=''; \
55+
;; \
56+
'arm64') \
57+
OS_ARCH_SUFFIX='-aarch64'; \
58+
;; \
59+
*) echo >&2 "error: unsupported architecture: '$ARCH_NAME'"; exit 1 ;; \
60+
esac; \
61+
SWIFT_WEBDIR="$SWIFT_WEBROOT/$SWIFT_BRANCH/$(echo $SWIFT_PLATFORM | tr -d .)$OS_ARCH_SUFFIX" \
62+
&& SWIFT_BIN_URL="$SWIFT_WEBDIR/$SWIFT_TAG/$SWIFT_TAG-$SWIFT_PLATFORM$OS_ARCH_SUFFIX.tar.gz" \
63+
&& SWIFT_SIG_URL="$SWIFT_BIN_URL.sig" \
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+
# - Download the GPG keys, Swift toolchain, and toolchain signature, and verify.
68+
&& export GNUPGHOME="$(mktemp -d)" \
69+
&& curl -fsSL "$SWIFT_BIN_URL" -o swift.tar.gz "$SWIFT_SIG_URL" -o swift.tar.gz.sig \
70+
&& curl -fSsL https://swift.org/keys/all-keys.asc | gpg --import - \
71+
&& gpg --batch --verify swift.tar.gz.sig swift.tar.gz \
72+
# - Unpack the toolchain, set libs permissions, and clean up.
73+
&& mkdir -p $SWIFT_PREFIX \
74+
&& tar -xzf swift.tar.gz --directory $SWIFT_PREFIX --strip-components=1 \
75+
&& chmod -R o+r $SWIFT_PREFIX/usr/lib/swift \
76+
&& rm -rf "$GNUPGHOME" swift.tar.gz.sig swift.tar.gz \
77+
&& apt-get purge --auto-remove -y curl
78+
79+
ENV PATH="${SWIFT_PREFIX}/usr/bin:${PATH}"
80+
3481
USER build-user
3582

3683
WORKDIR /home/build-user

swift-ci/master/fedora/39/Dockerfile

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,49 @@ RUN yum install -y \
2626
unzip \
2727
diffutils
2828

29+
ARG SWIFT_PLATFORM=fedora39
30+
ARG SWIFT_VERSION=5.10
31+
ARG SWIFT_BRANCH=swift-${SWIFT_VERSION}-branch
32+
ARG SWIFT_TAG=swift-5.10-DEVELOPMENT-SNAPSHOT-2024-05-26-a
33+
ARG SWIFT_WEBROOT=https://download.swift.org
34+
ARG SWIFT_PREFIX=/opt/swift/${SWIFT_VERSION}
35+
36+
ENV SWIFT_PLATFORM=$SWIFT_PLATFORM \
37+
SWIFT_VERSION=$SWIFT_VERSION \
38+
SWIFT_BRANCH=$SWIFT_BRANCH \
39+
SWIFT_TAG=$SWIFT_TAG \
40+
SWIFT_WEBROOT=$SWIFT_WEBROOT \
41+
SWIFT_PREFIX=$SWIFT_PREFIX
42+
43+
RUN set -e; \
44+
ARCH_NAME="$(rpm --eval '%{_arch}')"; \
45+
url=; \
46+
case "${ARCH_NAME##*-}" in \
47+
'x86_64') \
48+
OS_ARCH_SUFFIX=''; \
49+
;; \
50+
'aarch64') \
51+
OS_ARCH_SUFFIX='-aarch64'; \
52+
;; \
53+
*) echo >&2 "error: unsupported architecture: '$ARCH_NAME'"; exit 1 ;; \
54+
esac; \
55+
SWIFT_WEBDIR="$SWIFT_WEBROOT/$SWIFT_BRANCH/$(echo $SWIFT_PLATFORM | tr -d .)$OS_ARCH_SUFFIX" \
56+
&& SWIFT_BIN_URL="$SWIFT_WEBDIR/$SWIFT_TAG/$SWIFT_TAG-$SWIFT_PLATFORM$OS_ARCH_SUFFIX.tar.gz" \
57+
&& SWIFT_SIG_URL="$SWIFT_BIN_URL.sig" \
58+
&& echo $SWIFT_BIN_URL \
59+
# - Download the GPG keys, Swift toolchain, and toolchain signature, and verify.
60+
&& export GNUPGHOME="$(mktemp -d)" \
61+
&& curl -fsSL "$SWIFT_BIN_URL" -o swift.tar.gz "$SWIFT_SIG_URL" -o swift.tar.gz.sig \
62+
&& curl -fSsL https://swift.org/keys/all-keys.asc | gpg --import - \
63+
&& gpg --batch --verify swift.tar.gz.sig swift.tar.gz \
64+
# - Unpack the toolchain, set libs permissions, and clean up.
65+
&& mkdir -p $SWIFT_PREFIX \
66+
&& tar -xzf swift.tar.gz --directory $SWIFT_PREFIX --strip-components=1 \
67+
&& chmod -R o+r $SWIFT_PREFIX/usr/lib/swift \
68+
&& rm -rf "$GNUPGHOME" swift.tar.gz.sig swift.tar.gz
69+
70+
ENV PATH="${SWIFT_PREFIX}/usr/bin:${PATH}"
71+
2972
USER build-user
3073

3174
WORKDIR /home/build-user

0 commit comments

Comments
 (0)