NERSCPowering Scientific Discovery for 50 Years

Introduction to CI at NERSC, July 7, 2021

July 7, 2021

Introduction

Continuous Integration (CI) is an increasingly popular best-practice in the field of scientific code development. Incorporating CI into the workflow allows multiple developers to work on the same project code base with minimal conflict. This is achieved by making the changes to the source code in relatively small increments and running automated tests for them. GitLab offers an in-built mechanism for CI through its 'runner' tool. The runner automates the process of compiling, testing and deploying at a predetermined cadence viz. per-commit, per-pull request, or a time based periodicity. Other git based code hosting services offer similar tools as well.

NERSC maintains a user-facing GitLab instance at software.nersc.gov. The instance offers a convenient platform for collaboration amongst NERSC users, on code development. In cases of existing external repositories or collaborations with non-NERSC users, users can clone (and additionally mirror) the external source. They can then leverage the NERSC provided runner connected to Cori. This allows the development team to regularly and seamlessly test their code on HPC resources.

The NERSC deployed runner is being developed as part of an ECP project, ECP-CI. This custom runner allows users to run jobs on compute resources through the scheduler, using their NERSC account. More details on the ECP-CI project can be found on their documentation page.

In this session, we will cover the basics of GitLab and CI, we will then use hands-on-examples to cover a few important CI workflows as it pertains to CI@NERSC. The session requires active NERSC credentials. 

Date and Time: 10 am - 11:30 am (Pacific time), Wednesday, July 7, 2021

 

Registration

The event has concluded.

 

Video Recording

Video recording is available here

Downloads