Impact of using Github enterprise for open development

Title
Impact of using Github enterprise for open development
Technical memorandum
Date Published
11/2023
Secondary Title
ECMWF Technical Memoranda
Number
914
Author
Daniel Tipping
Dusan Figala
Publisher
ECMWF
Abstract

As part of its software strategy, ECMWF is exploring methods to make it easier to collaborate with its Member States and global community of software developers. Furthermore, ECMWF is exploring methods to improve the automation tooling available to its own software developers, with the dual aims of reducing developers' cognitive overhead and reducing the risk of software anomalies being released. This report examines how GitHub Enterprise could be used at ECMWF to encourage open development, including how to use GitHub Actions to improve ECMWF's software automation capabilities.

We demonstrate that GitHub Enterprise can be used to securely make the widely popular open platform github.com, the online home of ECMWF software. This gives ECMWF a mechanism to interact with the community of open-source developers more transparently, in particular provides a pathway for closer interaction with developers from its Member States.

A diagram of a flowchart

Description automatically generated

We demonstrate that GitHub Actions solves multiple issues ECMWF developers have with Bamboo, the current tooling used for software automation at ECMWF. We demonstrate that GitHub Actions can be used effectively for ECMWF's complex software testing use-cases, including testing software multiple operating systems and compilers automatically in parallel, and including testing software automatically on the HPC. We demonstrate that automated testing on GitHub Actions is fast and so can be carried out with higher frequency than the existing Bamboo system, which we believe reduces the risk of software anomalies being released. We demonstrate that GitHub Actions has some capabilities requested by ECMWF developers which are either impossible or challenging to implement with the Bamboo system. We further demonstrate that GitHub Actions can be used to publish released software automatically to various repositories so it can be shared and reused by users and other developers. Importantly, we demonstrate that ECMWF developers can easily understand and extend the prototype GitHub Actions workflows so ongoing development may be carried out in-house.

The report presents options for source code backup strategies and disaster recovery. We present an estimate of costs to migrate ECMWF to GitHub Enterprise and a breakdown of training needed for ECMWF developers. We finalise be a list of recommendations to adopt GitHub Enterprise for open development.

URL https://www.ecmwf.int/en/elibrary/81524-impact-using-github-enterprise-open-development
DOI 10.21957/82cf3414eb