# Revisit GitHub Actions for Slicer CI?

**URL:** <https://discourse.slicer.org/t/revisit-github-actions-for-slicer-ci/31886>\
**Category:** Development\
**Tags:** nightlybuild\
**Created:** [September 25, 2023, 2:01pm UTC](https://discourse.slicer.org/t/revisit-github-actions-for-slicer-ci/31886 "2023-09-25T14:01:13Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![fedorov](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/fedorov/32/14_2.png) [@fedorov](https://discourse.slicer.org/u/fedorov)\
**Post date:** [September 25, 2023, 2:01pm UTC](https://discourse.slicer.org/t/revisit-github-actions-for-slicer-ci/31886/1 "2023-09-25T14:01:13Z")

</div>

I recently learned that as hard as it is to believe, it appears that GitHub Actions provide free usage or runners for public repositories, and have exceedingly generous limits - 6 hours per job and 35 DAYS per workflow.

> **[Usage limits, billing, and administration - GitHub Docs](https://docs.github.com/en/actions/learn-github-actions/usage-limits-billing-and-administration)**
>
> There are usage limits for GitHub Actions workflows. Usage charges apply to repositories that go beyond the amount of free minutes and storage for a repository.

Maybe it is time to give it another consideration for building and packaging Slicer and extensions?

---

<div class="post-metadata">

**Author:** ![pieper](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/pieper/32/8_2.png) [@pieper](https://discourse.slicer.org/u/pieper)\
**Post date:** [September 25, 2023, 2:05pm UTC](https://discourse.slicer.org/t/revisit-github-actions-for-slicer-ci/31886/2 "2023-09-25T14:05:21Z")

</div>

It would be great if someone could try that out. I haven’t tried for a couple of years, but as I recall the VMs had 2 pretty slow cores, so a linux build that could take as little as 30 minutes on a fast multicore machine took much longer.

Caching build directories for the superbuild prerequisites could definitely speed things up. I think that’s doable but I didn’t try very hard.

---

<div class="post-metadata">

**Author:** ![jcfr](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/jcfr/32/17825_2.png) [@jcfr](https://discourse.slicer.org/u/jcfr)\
**Post date:** [September 25, 2023, 2:30pm UTC](https://discourse.slicer.org/t/revisit-github-actions-for-slicer-ci/31886/3 "2023-09-25T14:30:53Z")

</div>

Thanks for the pointers. In the context of SlicerDMRI\[1\], we worked with @jhlegarreta to setup CI for the extension so that it builds Slicer and the associated extension.

Total time for building Slicer alone\[2\] using the `ubuntu-22.04` worker is ~3.5hrs and I anticipate that the macOS and Windows build times would be longer (at least using the default worker made available for open-source project).

That said, with the availability of dedicated resources to both support the implementation of the infrastructure as well as more performant workers, we should be able to further leverage GitHub Actions infrastructure.

In the meantime, here are some issues we need to address:

- [Create develeper package / SDK · Issue #3353 · Slicer/Slicer · GitHub](https://github.com/Slicer/Slicer/issues/3353)
- [Proposal: Install SimpleITK from wheels instead of building from source](https://discourse.slicer.org/t/proposal-install-simpleitk-from-wheels-instead-of-building-from-source/25635)

Lastly, to fully adapt the GitHub Actions infrastructure, we would also need runner for M1 to be available. See [GitHub Actions: Apple Silicon (M1) powered macOS runners (Public Beta) · Issue #528 · github/roadmap · GitHub](https://github.com/github/roadmap/issues/528)

* * *

1. [GitHub - SlicerDMRI/SlicerDMRI: Diffusion MRI analysis and visualization in 3D Slicer open source medical imaging platform.](https://github.com/SlicerDMRI/SlicerDMRI/tree/master) 

2. [DOC: Sync the license file with the current Slicer license file content · SlicerDMRI/SlicerDMRI@6758b84 · GitHub](https://github.com/SlicerDMRI/SlicerDMRI/actions/runs/5755237502/job/15602531663)
