diff --git a/swift-ci/master/amazon-linux/2/Dockerfile b/swift-ci/master/amazon-linux/2/Dockerfile index 6d3d154f..949f5761 100644 --- a/swift-ci/master/amazon-linux/2/Dockerfile +++ b/swift-ci/master/amazon-linux/2/Dockerfile @@ -1,8 +1,8 @@ -FROM amazonlinux:2 +FROM swift:5.7-amazonlinux2 RUN yum install shadow-utils -y -RUN groupadd -g 998 build-user && \ +RUN groupadd -g 1000 build-user && \ useradd -m -r -u 42 -g build-user build-user # The build needs a package from the EPEL repo so that needs to be enabled. diff --git a/swift-ci/master/centos/7/Dockerfile b/swift-ci/master/centos/7/Dockerfile index 7eab8876..72fd820c 100644 --- a/swift-ci/master/centos/7/Dockerfile +++ b/swift-ci/master/centos/7/Dockerfile @@ -2,7 +2,7 @@ FROM centos:7 RUN yum install shadow-utils.x86_64 -y -RUN groupadd -g 998 build-user && \ +RUN groupadd -g 1000 build-user && \ useradd -m -r -u 42 -g build-user build-user RUN yum install -y epel-release centos-release-scl @@ -48,6 +48,38 @@ RUN ldconfig RUN sed -i -e 's/\*__block/\*__libc_block/g' /usr/include/unistd.h +ARG SWIFT_SIGNING_KEY=A62AE125BBBFBB96A6E042EC925CC1CCED3D1561 +ARG SWIFT_PLATFORM=centos7 +ARG SWIFT_BRANCH=swift-5.7.3-release +ARG SWIFT_VERSION=swift-5.7.3-RELEASE +ARG SWIFT_WEBROOT=https://download.swift.org + +ENV SWIFT_SIGNING_KEY=$SWIFT_SIGNING_KEY \ + SWIFT_PLATFORM=$SWIFT_PLATFORM \ + SWIFT_BRANCH=$SWIFT_BRANCH \ + SWIFT_VERSION=$SWIFT_VERSION \ + SWIFT_WEBROOT=$SWIFT_WEBROOT + +RUN set -e; \ + SWIFT_WEBDIR="$SWIFT_WEBROOT/$SWIFT_BRANCH/$(echo $SWIFT_PLATFORM | tr -d .)" \ + && SWIFT_BIN_URL="$SWIFT_WEBDIR/$SWIFT_VERSION/$SWIFT_VERSION-$SWIFT_PLATFORM.tar.gz" \ + && SWIFT_SIG_URL="$SWIFT_BIN_URL.sig" \ + # - Download the GPG keys, Swift toolchain, and toolchain signature, and verify. + && export GNUPGHOME="$(mktemp -d)" \ + && curl -fsSL "$SWIFT_BIN_URL" -o swift.tar.gz "$SWIFT_SIG_URL" -o swift.tar.gz.sig \ + && gpg --batch --quiet --keyserver keyserver.ubuntu.com --recv-keys "$SWIFT_SIGNING_KEY" \ + && gpg --batch --verify swift.tar.gz.sig swift.tar.gz \ + && mkdir -p /opt/swift \ + # - Unpack the toolchain, set libs permissions, and clean up. + && tar -xzf swift.tar.gz --directory /opt/swift/ --strip-components=1 \ + && chmod -R o+r /opt/swift/usr/lib/swift \ + && ln -s /opt/swift/usr/lib/swift /usr/lib/swift \ + && rm -rf "$GNUPGHOME" swift.tar.gz.sig swift.tar.gz + +ENV PATH="/opt/swift/usr/bin:${PATH}" + +RUN swift --version + USER build-user WORKDIR /home/build-user diff --git a/swift-ci/master/rhel-ubi/9/Dockerfile b/swift-ci/master/rhel-ubi/9/Dockerfile index 21011051..9b6f5b3e 100644 --- a/swift-ci/master/rhel-ubi/9/Dockerfile +++ b/swift-ci/master/rhel-ubi/9/Dockerfile @@ -1,4 +1,4 @@ -FROM redhat/ubi9 +FROM swift:5.8-rhel-ubi9 RUN groupadd -g 42 build-user && \ useradd -m -r -u 42 -g build-user build-user diff --git a/swift-ci/master/ubuntu/18.04/Dockerfile b/swift-ci/master/ubuntu/18.04/Dockerfile index 83ec1767..ee204e07 100644 --- a/swift-ci/master/ubuntu/18.04/Dockerfile +++ b/swift-ci/master/ubuntu/18.04/Dockerfile @@ -1,4 +1,4 @@ -FROM ubuntu:18.04 +FROM swift:5.7-bionic RUN groupadd -g 998 build-user && \ useradd -m -r -u 998 -g build-user build-user diff --git a/swift-ci/master/ubuntu/20.04/Dockerfile b/swift-ci/master/ubuntu/20.04/Dockerfile index 10f508dc..811aaf19 100644 --- a/swift-ci/master/ubuntu/20.04/Dockerfile +++ b/swift-ci/master/ubuntu/20.04/Dockerfile @@ -1,4 +1,4 @@ -FROM ubuntu:20.04 +FROM swift:5.7-focal RUN groupadd -g 998 build-user && \ useradd -m -r -u 998 -g build-user build-user diff --git a/swift-ci/master/ubuntu/22.04/Dockerfile b/swift-ci/master/ubuntu/22.04/Dockerfile index f505b829..cfc8ea17 100644 --- a/swift-ci/master/ubuntu/22.04/Dockerfile +++ b/swift-ci/master/ubuntu/22.04/Dockerfile @@ -1,4 +1,4 @@ -FROM ubuntu:22.04 +FROM swift:5.7-jammy RUN groupadd -g 998 build-user && \ useradd -m -r -u 998 -g build-user build-user