Project needs

Please feel free to add columns if you see any other information that might impact the CI/CD needs of a project.

ProjectTarget Operating SystemsLanguages, Build ToolVCS HostDeveloper Team SizeConcurrencyBuild TasksCurrent solution / usage
OperatorFabricLinux

Java, Angular,

Gradle

GitHub.com

4 full-time developers, 2 occasional contributors (all in CET)

We take advantage of the night to run a CRON job handling the publication of a SNAPSHOT version (docker and documentation) and a bot doing dependencies updates.


Currently we can only run one job at a time but more concurrency would allow us to run our API tests (Karate) and end-to-end (Cypress) tests in parallel.
  • Compile back (Java) and front (Angular)
  • Run unit tests
  • Generate docker images for all services
  • Launch an instance of the app and run:
    • API tests (Karate)
    • end-to-end tests (Cypress)
  • Generate html documentation from Asciidoc files and push it to our opfab.github.io website.
  • Push docker images for all services (5) to DockerHub (1 set of SNAPSHOT images every day, then 1 set of X.X.X.RELEASE images roughly every 3 weeks)

We're currently using a paid 1-concurrent job plan on travis-ci.com.

//TODO Alexandra Guironnet Add average minutes and number of builds once Travis insights are fixed https://app.travis-ci.com/github/opfab?tab=insights

SOGNOLinux, (some services run on Windows and MacOS)mainly C++ (cmake) and Python, (Rust, Java, JavaScript)GitHub.com and mirrors to self-hosted GitLabAbout 10 researchers plus a varying number of students (all in CET).Integration of self-hosted GitLab CI with GitHub plus GitHub actions. GitLab runner can run multiple jobs in parallel.
  • Compile
  • Run tests
  • Generate docker images
  • Generate documentation and push to GitHub pages and other places
  • Push docker images to DockerHub (and GitHub registry in the future) 

We do not pay for any service but we are investing in our server infrastructure for GitLab.

Migrated some jobs to GitHub actions but this is not possible for all jobs.

PowSyBlLinux, MacOS




Free plan on GitHub Actions


Solution/Platform Benchmark

Any feedback or experience with other CI/CD platforms would be welcome.


travis-ci.comGitHub ActionsGitLab (self-hosted)
OperatorFabric

Platform stability has been good so far, and communication on maintenance or incidents is usually quick.

Integration with GitHub was quite straightforward.

The build configuration can sometimes be tricky, especially cache management, but the documentation is pretty good (at least on our use cases).

We only add 2 interactions with the support team and the quality of the response varied greatly.

No experience with GitHub actions so far, we had looked into it in its early days and at the time we found that there was really too little documentation to try and reproduce our Travis build as GitHub actions.
SOGNO

We have already migrated some GitLab CI jobs to GitHub actions. For the moment, it looks like we won't be able to migrate all jobs.

Experience with GitHub actions is ok so far although the majority of our developers still prefers GitLab CI.

We are quite happy with the GitLab CI but since we are running a self-hosted instance, it is not easily accessible for external developers. GitLab.com is not as established for LF projects, which is why we are moving to GitHub,com and actions.