Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add Dockerfile for Swift 4.2 development snapshots
- Loading branch information
1 parent
9434283
commit 85ef840
Showing
2 changed files
with
63 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,62 @@ | ||
FROM ubuntu:16.04 | ||
LABEL maintainer="Haris Amin <aminharis7@gmail.com>" | ||
LABEL Description="Docker Container for the Apple's Swift programming language" | ||
|
||
# Install related packages and set LLVM 3.8 as the compiler | ||
RUN apt-get -q update && \ | ||
apt-get -q install -y \ | ||
make \ | ||
libc6-dev \ | ||
clang-3.8 \ | ||
curl \ | ||
libedit-dev \ | ||
libpython2.7 \ | ||
libicu-dev \ | ||
libssl-dev \ | ||
libxml2 \ | ||
tzdata \ | ||
git \ | ||
libcurl4-openssl-dev \ | ||
pkg-config \ | ||
&& update-alternatives --quiet --install /usr/bin/clang clang /usr/bin/clang-3.8 100 \ | ||
&& update-alternatives --quiet --install /usr/bin/clang++ clang++ /usr/bin/clang++-3.8 100 \ | ||
&& rm -r /var/lib/apt/lists/* | ||
|
||
# Everything up to here should cache nicely between Swift versions, assuming dev dependencies change little | ||
ARG SWIFT_PLATFORM=ubuntu16.04 | ||
ARG SWIFT_BRANCH=swift-4.2-branch | ||
ARG SWIFT_VERSION=swift-4.2-DEVELOPMENT-SNAPSHOT-2018-06-28-a | ||
|
||
ENV SWIFT_PLATFORM=$SWIFT_PLATFORM \ | ||
SWIFT_BRANCH=$SWIFT_BRANCH \ | ||
SWIFT_VERSION=$SWIFT_VERSION | ||
|
||
# Download GPG keys, signature and Swift package, then unpack, cleanup and execute permissions for foundation libs | ||
RUN SWIFT_URL=https://swift.org/builds/$SWIFT_BRANCH/$(echo "$SWIFT_PLATFORM" | tr -d .)/$SWIFT_VERSION/$SWIFT_VERSION-$SWIFT_PLATFORM.tar.gz \ | ||
&& curl -fSsL $SWIFT_URL -o swift.tar.gz \ | ||
&& curl -fSsL $SWIFT_URL.sig -o swift.tar.gz.sig \ | ||
&& export GNUPGHOME="$(mktemp -d)" \ | ||
&& set -e; \ | ||
for key in \ | ||
# pub rsa4096 2017-11-07 [SC] [expires: 2019-11-07] | ||
# 8513444E2DA36B7C1659AF4D7638F1FB2B2B08C4 | ||
# uid [ unknown] Swift Automatic Signing Key #2 <swift-infrastructure@swift.org> | ||
8513444E2DA36B7C1659AF4D7638F1FB2B2B08C4 \ | ||
# pub 4096R/91D306C6 2016-05-31 [expires: 2018-05-31] | ||
# Key fingerprint = A3BA FD35 56A5 9079 C068 94BD 63BC 1CFE 91D3 06C6 | ||
# uid Swift 3.x Release Signing Key <swift-infrastructure@swift.org> | ||
A3BAFD3556A59079C06894BD63BC1CFE91D306C6 \ | ||
# pub 4096R/71E1B235 2016-05-31 [expires: 2019-06-14] | ||
# Key fingerprint = 5E4D F843 FB06 5D7F 7E24 FBA2 EF54 30F0 71E1 B235 | ||
# uid Swift 4.x Release Signing Key <swift-infrastructure@swift.org> | ||
5E4DF843FB065D7F7E24FBA2EF5430F071E1B235 \ | ||
; do \ | ||
gpg --quiet --keyserver ha.pool.sks-keyservers.net --recv-keys "$key"; \ | ||
done \ | ||
&& gpg --batch --verify --quiet swift.tar.gz.sig swift.tar.gz \ | ||
&& tar -xzf swift.tar.gz --directory / --strip-components=1 \ | ||
&& rm -r "$GNUPGHOME" swift.tar.gz.sig swift.tar.gz \ | ||
&& chmod -R o+r /usr/lib/swift | ||
|
||
# Print Installed Swift Version | ||
RUN swift --version |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,5 +1,6 @@ | ||
build: | ||
pre_ci: | ||
- docker build ./4.2 | ||
- docker build ./4.1 | ||
- docker build ./4.0 | ||
- docker build ./3.1 | ||
|