The Swift Arm Community CI Server

The Swift Arm Community CI Server

Hi everyone, I would like to introduce a new project I have been working on.

Background

For many years now I have been contributing to the Swift Open Source community, building and providing easy access to the Swift toolchain for many Linux Arm Debian and Ubuntu systems.
Some of this includes -

Motivation

During the past few years we have been extremely fortunate to have access to a large and powerful Arm server.
The server is the powerful Ampere® Altra® with an 80-core processor, 256GB of RAM and 1.9GB of fast NVMe storage. More details here ...
Kindly provided by Equinox through the Works On Arm project.

Building and releasing a new Swift version for the Swift Community Apt Repository involves the full build and packaging of 10 separate versions of the swift toolchain for multiple Debian and Ubuntu releases.
This is only possible with access to this kind of hardware.

With the Swift Arm Community CI Server project I would like to open up access to this hardware for all members of the Swift on Arm community.

Details

The Swift Arm Community CI Server project has 3 main components.
These are, the CI build server, the build environment and a github repository.

CI Server

The server is running Jenkins and uses Jenkins pipelines for the build jobs.

Build jobs, results and downloads can be found at the the Jenkins dashboard url.
Dashboard

Build Environment

We are using Docker containers for the Swift build environments.
This enables us to build for a variety of different distributions and versions all on the same build host.
Docker images for all the different build environments can be found at Docker Hub

Github Repository

The repository contains all the information about the project and the code for running the build jobs.

Community Projects

The server is available for any community Swift on Arm project and new projects are more than welcome.
Current projects running on the server are -

Swift on Arm64 - Debian/Ubuntu

Swift on Armv7 - Debian/Ubuntu

Getting Involved

You can get involved by joining one of the existing projects or creating a new one.
Github issues and discussions are open on the ci-swiftlang repository so feel free to use them.

Any suggestions and input will be greatly appreciated.

Thankyou.

20 Likes