From b0e686427afa4f1d945c73353158794e740823f4 Mon Sep 17 00:00:00 2001 From: Doug Gregor Date: Mon, 29 May 2023 08:00:00 -0700 Subject: [PATCH 1/5] Revert "Revert "Use Swift 5.7 base image for Swift CI jobs to support bootstrapping (#314)" (#315)" This reverts commit 7ca9d669a9bb0c476bdb8b11f091ad90417cd1e1. --- swift-ci/master/amazon-linux/2/Dockerfile | 4 ++-- swift-ci/master/centos/7/Dockerfile | 4 ++-- swift-ci/master/ubuntu/18.04/Dockerfile | 2 +- swift-ci/master/ubuntu/20.04/Dockerfile | 2 +- swift-ci/master/ubuntu/22.04/Dockerfile | 2 +- 5 files changed, 7 insertions(+), 7 deletions(-) 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..c13b74f5 100644 --- a/swift-ci/master/centos/7/Dockerfile +++ b/swift-ci/master/centos/7/Dockerfile @@ -1,8 +1,8 @@ -FROM centos:7 +FROM swift:5.7-centos7 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 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 From aeb7675d8a6858cb0957ed70761c84c8b5560803 Mon Sep 17 00:00:00 2001 From: Mishal Shah Date: Fri, 9 Jun 2023 17:13:38 -0700 Subject: [PATCH 2/5] Update the Swift CI Dockerfile UBI9 to use swift:5.8-rhel-ubi9 --- swift-ci/master/rhel-ubi/9/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 From 9b7f44766a0e6082e1f9e56e8e3e89858c6fc445 Mon Sep 17 00:00:00 2001 From: Mishal Shah Date: Tue, 13 Jun 2023 22:00:28 -0700 Subject: [PATCH 3/5] Install Swift from tarball for CentOS 7 --- swift-ci/master/centos/7/Dockerfile | 34 ++++++++++++++++++++++++++++- 1 file changed, 33 insertions(+), 1 deletion(-) diff --git a/swift-ci/master/centos/7/Dockerfile b/swift-ci/master/centos/7/Dockerfile index c13b74f5..a53338d4 100644 --- a/swift-ci/master/centos/7/Dockerfile +++ b/swift-ci/master/centos/7/Dockerfile @@ -1,4 +1,4 @@ -FROM swift:5.7-centos7 +FROM centos:7 RUN yum install shadow-utils.x86_64 -y @@ -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.8.1-release +ARG SWIFT_VERSION=swift-5.8.1-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="${PATH}:/opt/swift/usr/bin" + +RUN swift --version + USER build-user WORKDIR /home/build-user From 1c3ad26b399e3cb57a6457868ad7652c845078cc Mon Sep 17 00:00:00 2001 From: Mishal Shah Date: Tue, 13 Jun 2023 22:02:44 -0700 Subject: [PATCH 4/5] Use Swift 5.7.3 for CentOS 7 --- swift-ci/master/centos/7/Dockerfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/swift-ci/master/centos/7/Dockerfile b/swift-ci/master/centos/7/Dockerfile index a53338d4..0f7c2254 100644 --- a/swift-ci/master/centos/7/Dockerfile +++ b/swift-ci/master/centos/7/Dockerfile @@ -50,8 +50,8 @@ 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.8.1-release -ARG SWIFT_VERSION=swift-5.8.1-RELEASE +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 \ From 243fd5f0925948d5e125fc8061bf4ead2c507b72 Mon Sep 17 00:00:00 2001 From: Mishal Shah Date: Thu, 15 Jun 2023 17:13:54 -0700 Subject: [PATCH 5/5] Update PATH in CentOS 7 Dockerfile to include toolchain first. --- swift-ci/master/centos/7/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/swift-ci/master/centos/7/Dockerfile b/swift-ci/master/centos/7/Dockerfile index 0f7c2254..72fd820c 100644 --- a/swift-ci/master/centos/7/Dockerfile +++ b/swift-ci/master/centos/7/Dockerfile @@ -76,7 +76,7 @@ RUN set -e; \ && ln -s /opt/swift/usr/lib/swift /usr/lib/swift \ && rm -rf "$GNUPGHOME" swift.tar.gz.sig swift.tar.gz -ENV PATH="${PATH}:/opt/swift/usr/bin" +ENV PATH="/opt/swift/usr/bin:${PATH}" RUN swift --version