BuildStream infrastructure
GitLab CI runners
The BuildStream project uses its own runners sponsored by Codethink to run the CI for performance reasons. The current infrastructure allocated to BuildStream for CI is defined in the following table:
IP / Hostname |
Hosted At |
CPU |
RAM |
Disk |
Runner Name |
Notes |
167.99.219.68 |
Digital Ocean |
1vCPU |
1GB |
25GB |
digitalocean-bastion-x86_64 and buildstream-bastion-overnight |
Bastion server for Gitlab Autoscale |
|
Digital Ocean |
2vCPU |
4GB |
25GB |
|
Created on demand by the digitalocean-bastion-x86_64 |
|
Digital Ocean |
4vCPU |
8GB |
160GB |
|
Created on demand by the buildstream-bastion-overnight |
|
Codethink |
8vCPU |
64GB |
16GB |
sled17 to sled24 |
8x aarch64 sleds |
bst-artifacts-gnome.codethink.co.uk |
Codethink |
4vCPU |
16GB |
2TB |
codethink-x86_64-1 |
Disabled at the moment |
ostree-gnome.codethink.co.uk~ |
Codethink |
4vCPU |
8GB |
120GB |
codethink-x86_64-2 |
Disabled at the moment |
The Digital Ocean machines are managed by a BuildStream group account. A Digital Ocean Storage Space is being used to store the GitLab CI cache.
There are also eight Moonshot Sleds which are currently unused.
Access to all these machines can be provided upon request by ValentinDavid and JavierJardon.
Current GitLab Runner configuration
# cat /etc/gitlab-runner/config.toml
concurrent = 20
check_interval = 0
[[runners]]
name = "buildstream-bastion"
output_limit = 32768
url = "https://gitlab.com/"
token = "$TOKEN"
executor = "docker+machine"
[runners.docker]
tls_verify = false
image = "debian:stretch"
privileged = true
disable_cache = false
volumes = ["/cache"]
shm_size = 0
[runners.cache]
Type = "s3"
ServerAddress = "ams3.digitaloceanspaces.com"
AccessKey = "$ACCESS_KEY"
SecretKey = "$SECRET_KEY"
BucketName = "buildstream-ci-gitlab-cache"
[runners.machine]
IdleCount = 0
IdleTime = 1800
MachineDriver = "digitalocean"
MachineName = "gitlab-runner-autoscale-%s"
MachineOptions = ["digitalocean-image=fedora-28-x64", "digitalocean-ssh-user=root", "digitalocean-access-token=$ACCESS_TOKEN", "digitalocean-region=ams3", "digitalocean-size=c-2", "digitalocean-private-networking"]
OffPeakTimezone = ""
OffPeakIdleCount = 0
OffPeakIdleTime = 0
[[runners]]
name = "buildstream-bastion-overnight"
output_limit = 262144
url = "https://gitlab.com/"
token = "$TOKEN"
executor = "docker+machine"
[runners.docker]
tls_verify = false
image = "debian:stretch"
privileged = true
disable_cache = true
volumes = ["/cache"]
shm_size = 0
[runners.cache]
Type = "s3"
ServerAddress = "ams3.digitaloceanspaces.com"
AccessKey = "$ACCESS_KEY"
SecretKey = "$SECRET_KEY"
BucketName = "buildstream-ci-gitlab-cache"
[runners.machine]
IdleCount = 0
IdleTime = 0
MachineDriver = "digitalocean"
MachineName = "gitlab-runner-autoscale-%s"
MachineOptions = ["digitalocean-image=fedora-28-x64", "digitalocean-ssh-user=root", "digitalocean-access-token=$ACCESS_TOKEN", "digitalocean-region=ams3", "digitalocean-size=s-4vcpu-8gb", "digitalocean-private-networking"]
OffPeakTimezone = ""
OffPeakIdleCount = 0
OffPeakIdleTime = 0