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 -
-
Building and releasing the latest Swift versions for Arm64
Releases · futurejones/swift-arm64 · GitHub -
Building and releasing
apt-get
.deb Swift install packages
The Swift Community Apt Repository -
Building and releasing
docker
images for Swift on Arm64
Docker Hub - swiftarm/swift
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.