Nightly Docker images for Development snapshots now support AArch64!

Nightly Development snapshots for Ubuntu 20.04, CentOS 8, and Amazon Linux 2 Docker images are now available for AArch64.

Nightly Development Docker images on Docker Hub

Ubuntu 20.04

% docker run swiftlang/swift:nightly-focal bash -c "swift --version"
Swift version 5.6-dev (LLVM ba0b85f590c1ba2, Swift d18133629449a50)
Target: aarch64-unknown-linux-gnu

CentOS 8

% docker run swiftlang/swift:nightly-centos8 bash -c "swift --version" 
Swift version 5.6-dev (LLVM ba0b85f590c1ba2, Swift d18133629449a50)
Target: aarch64-unknown-linux-gnu

Amazon Linux 2

docker run swiftlang/swift:nightly-amazonlinux2 bash -c "swift --version"
Swift version 5.6-dev (LLVM ba0b85f590c1ba2, Swift d18133629449a50)
Target: aarch64-unknown-linux-gnu
23 Likes

This is great news - I just switched from swiftarm/swift:latest to swiftlang/swift:nightly-focal and it works like expected.

Sidenote:
As I don't want to run things as current user (not as root) I'm using something like this in my build.sh:

DOCKER_UID=$(id -u ${USER})
DOCKER_GID=$(id -g ${USER})

docker build -t swift:latest -<<EOF
FROM swiftlang/swift:nightly-focal

RUN groupadd -g $DOCKER_GID swift
RUN useradd -m -u $DOCKER_UID -g swift swift
USER swift

WORKDIR /home/swift
CMD ["/home/swift/buildandstart.sh"]
EOF

and mount a directory I use for building with the -v option of docker like this:

docker run \
        --detach --restart=always \
        -u $DOCKER_UID:$DOCKER_GID \
        --net service16 \
        --log-opt max-size=1m --log-opt max-file=2 \
        -v "$packagedir":/home/swift \
        --name "$programname" \
        swift:latest
2 Likes

This is great! Thank you @mishal_shah !

Do you know when these might be coming for the non-nightly "stable" builds, like swift:5.4-focal ?

2 Likes

@jollyjinx
@mishal_shah

Thank you :pray::pray::pray::pray::pray::pray::pray:

It looks like the builds stopped being multi architecture about 20 days ago. Was this reverted? I was really hoping the official 5.5 release would come with ARM images.

@Bridger_Maxwell There was an issue with AArch64 automation, it's fixed now and nightly toolchain will contain the AArch64 docker images.

2 Likes

There are still nightly snapshot builds for AArch64 on these three linux distros. Nothing else has been promised, but I'm guessing the plan is to have linux AArch64 builds of the next Swift 5.6 release, since these builds were started during its development.