# Sponsored servers for CI on aarch64 running out

**URL:** https://forum.crystal-lang.org/t/sponsored-servers-for-ci-on-aarch64-running-out/7099
**Category:** Crystal Contrib
**Created:** [August 15, 2024, 6:42pm UTC](https://forum.crystal-lang.org/t/sponsored-servers-for-ci-on-aarch64-running-out/7099 "2024-08-15T18:42:15Z")
**Posts on this page:** 9
**Page:** 1

<div class="post-metadata">

### Author: ![straight-shoota](https://yyz2.discourse-cdn.com/flex036/user_avatar/forum.crystal-lang.org/straight-shoota/32/36_2.png) [@straight-shoota](https://forum.crystal-lang.org/u/straight-shoota)
#### Post date: [August 15, 2024, 6:42pm UTC](https://forum.crystal-lang.org/t/sponsored-servers-for-ci-on-aarch64-running-out/7099/1 "2024-08-15T18:42:15Z")

</div>

For the past couple of years we’ve had access to a sponsored aarch64 server thanks to the [Works on Arm](https://www.arm.com/markets/computing-infrastructure/works-on-arm) project. 🙏  
We’ve used this to host CI runners for GitHub Actions. This has been very valuable to ensure Crystal works well on Arm.

This sponsorship has come to an end and the server will shut off tomorrow. At this point we’ll have no means to run `aarch64-linux` CI runners for GitHub Actions.

We have requested support in a follow-up programm that would provide us with arm-based hosted runners for GitHub Actions: [Credits for Arm-based GitHub Runners: crystal-lang/crystal · Issue #5 · WorksOnArm/GitHub-Runners · GitHub](https://github.com/WorksOnArm/GitHub-Runners/issues/5)  
However, we’re still waiting on that and have received word that it’ll take at least another 2 weeks.

It’s very unfortunate that it takes so much longer to process the follow-up than the termination of the previous offer ☹

We might not have CI runners for `aarch64-linux` for some time or need to look out for alternatives.

---

<div class="post-metadata">

### Author: ![straight-shoota](https://yyz2.discourse-cdn.com/flex036/user_avatar/forum.crystal-lang.org/straight-shoota/32/36_2.png) [@straight-shoota](https://forum.crystal-lang.org/u/straight-shoota)
#### Post date: [August 15, 2024, 6:53pm UTC](https://forum.crystal-lang.org/t/sponsored-servers-for-ci-on-aarch64-running-out/7099/2 "2024-08-15T18:53:19Z")

</div>

GitHub recently announced hosted runnser based on Arm, but so far they are only available for Team and Enterprise Cloud plan: [Arm64 on GitHub Actions: Powering faster, more efficient build systems - The GitHub Blog](https://github.blog/news-insights/product-news/arm64-on-github-actions-powering-faster-more-efficient-build-systems/)  
They expect to offer them to Free plans by the end of the year.

---

<div class="post-metadata">

### Author: ![ralsina](https://yyz2.discourse-cdn.com/flex036/user_avatar/forum.crystal-lang.org/ralsina/32/2139_2.png) [@ralsina](https://forum.crystal-lang.org/u/ralsina)
#### Post date: [August 15, 2024, 8:07pm UTC](https://forum.crystal-lang.org/t/sponsored-servers-for-ci-on-aarch64-running-out/7099/3 "2024-08-15T20:07:50Z")

</div>

How much of a server do you need? I have an 8-core ARM board here and am happy to register it as a runner. Heck, I have a Pi4 doing nothing, will happily turn it on and give you people a ssh key into it.

---

<div class="post-metadata">

### Author: ![russ](https://yyz2.discourse-cdn.com/flex036/user_avatar/forum.crystal-lang.org/russ/32/2560_2.png) [@russ](https://forum.crystal-lang.org/u/russ)
#### Post date: [August 15, 2024, 8:42pm UTC](https://forum.crystal-lang.org/t/sponsored-servers-for-ci-on-aarch64-running-out/7099/4 "2024-08-15T20:42:07Z")

</div>

I have some (4) Pi 4 8gb mostly idle; would donating time on them be acceptable - I could run a github runner?

---

<div class="post-metadata">

### Author: ![jgaskins](https://yyz2.discourse-cdn.com/flex036/user_avatar/forum.crystal-lang.org/jgaskins/32/2449_2.png) [@jgaskins](https://forum.crystal-lang.org/u/jgaskins)
#### Post date: [August 15, 2024, 10:40pm UTC](https://forum.crystal-lang.org/t/sponsored-servers-for-ci-on-aarch64-running-out/7099/5 "2024-08-15T22:40:29Z")

</div>

I’d be happy to donate capacity in one of my Kubernetes clusters. I can commit up to 8 vCPUs and 32GB of RAM on GCP T2A nodes.

Nearly all of my services run on T2A nodes on GCP (I was getting them for free for almost 2 years), so I have a vested interest in keeping `aarch64-linux` green.

---

<div class="post-metadata">

### Author: ![straight-shoota](https://yyz2.discourse-cdn.com/flex036/user_avatar/forum.crystal-lang.org/straight-shoota/32/36_2.png) [@straight-shoota](https://forum.crystal-lang.org/u/straight-shoota)
#### Post date: [August 21, 2024, 12:16pm UTC](https://forum.crystal-lang.org/t/sponsored-servers-for-ci-on-aarch64-running-out/7099/6 "2024-08-21T12:16:28Z")

</div>

Thank you for the kind offers.

I don’t think Raspberry Pis are really feasible as CI runners. The compiler build jobs need high compute power. An rpi would take quite long to complete the jobs.

For reference: Our current workload is handled by 8 runners, each with 16 GB and 4 cores of a Neoverse N1.  
This was maybe a bit overallocated. Half of the memory and cores per runner would probably be fine. We’re limited on single-thread performance, because compilation isn’t easily parallelizable.

They were working 450 hours of CI jobs last month, so very low utilization. But we often have multiple CI workflows running in parallel, so it can be a bit congested at peak hours.

Overall, setup and continued maintenance of the CI configuration are a relevant cost factor. I’d rather have it require as little effort as possible.  
Ideally we’ll get access to sponsored arm runners soon and we can wait a couple of weeks for that.  
If this doesn’t work out we may need a different solution to bridge the gap until GitHub offers free arm runners, either with comunity-provided machines or a paid solution (maybe something like [https://runs-on.com/](https://runs-on.com/) could work well?).

---

<div class="post-metadata">

### Author: ![crohr](https://yyz2.discourse-cdn.com/flex036/user_avatar/forum.crystal-lang.org/crohr/32/2570_2.png) [@crohr](https://forum.crystal-lang.org/u/crohr)
#### Post date: [August 21, 2024, 4:17pm UTC](https://forum.crystal-lang.org/t/sponsored-servers-for-ci-on-aarch64-running-out/7099/7 "2024-08-21T16:17:09Z")

</div>

Hi @straight-shoota, I’m the founder of [RunsOn](https://runs-on.com), and you would definitely qualify for a non-commercial (free) license.

You can take it for a spin (~10min install time), and the advantage is that the runners are spawned on-demand, so no unused (costly) resources.

Happy to help if needed ([cyril@runs-on.com](mailto:cyril@runs-on.com)).

---

<div class="post-metadata">

### Author: ![dengolius](https://yyz2.discourse-cdn.com/flex036/user_avatar/forum.crystal-lang.org/dengolius/32/1920_2.png) [@dengolius](https://forum.crystal-lang.org/u/dengolius)
#### Post date: [August 22, 2024, 2:59pm UTC](https://forum.crystal-lang.org/t/sponsored-servers-for-ci-on-aarch64-running-out/7099/8 "2024-08-22T14:59:50Z")

</div>

> [@straight-shoota](#):
>
> Neoverse N1

What about [Dedicated Server Hosting](https://www.hetzner.com/dedicated-rootserver/#cpu_type=ARM) ? Or hetzner ARM VPS cloud via terraform.

---

<div class="post-metadata">

### Author: ![straight-shoota](https://yyz2.discourse-cdn.com/flex036/user_avatar/forum.crystal-lang.org/straight-shoota/32/36_2.png) [@straight-shoota](https://forum.crystal-lang.org/u/straight-shoota)
#### Post date: [September 18, 2024, 8:15am UTC](https://forum.crystal-lang.org/t/sponsored-servers-for-ci-on-aarch64-running-out/7099/9 "2024-09-18T08:15:32Z")

</div>

We ended up using [runs-on.com](http://runs-on.com):

> <https://github.com/crystal-lang/crystal/pull/15007>
>
> Our previous sponsoring for a CI server from Works On Arm has run out, so we nee…d a replacement to run CI on aarch64 (see https://forum.crystal-lang.org/t/sponsored-servers-for-ci-on-aarch64-running-out/7099).
> We might be getting some new sponsoring from Works On Arm, but that hasn't materialized yet. And we would like to get CI workflows running again.
> 
> https://runs-on.com is a service that provisions machines on AWS on demand to run workflow jobs.
> It triggers when a job is tagged as \`runs-on\` and you can configure what kind of machine you like this to run on. The machine specification could likely use some fine tuning (we can use other instance types, and theoretically 8GB should be sufficient). But that'll be a follow-up. For now we know that this works.
> We expect this to be more price-efficient setup than renting a fixed server or a CI runner service.
> 
> This patch also includes an update to the latest base image. The old arm base images were using Crystal 1.0 and some outdated libraries which caused problems on the new runners (#15005). The build images are based on the docker images from \[84codes/crystal\](https://hub.docker.com/r/84codes/crystal).
> 
> Thanks to @crohr for providing runs-on.com and helping with some issues we faced while setting this up.
