Project Developer

Documentation, best practices, and tutorials that are focused on making the most out of HPC resources via ECP CI enhancements. As such, information presented here is centred on those HPC focused enhancements made to to GitLab. We will make ample reference to GitLab’s official documentation and strongly encourage you to look there for details not covered in these pages. For any questions on runner or server deployment please see the administrator documentation.

Continuous Integration

Understanding the GitLab Runner is the key to making full use of the GitLab CI ecosystem. These sections are targeted not just at those unfamiliar with using the GitLab runner but anyone who wishes to understand how the ECP CI enhancements will affect their CI jobs.

Guides

Guides are written to highlight general recommendations as well as potential workflows you may want to leverage when using CI resources leveraging ECP specific enhancements.

Title

Description

Report Build Status to GitLab/GitHub

Leverage supported APIs in conjunction with a custom script to automate pipeline reporting to an upstream repository.

Multiple GitLab Project CI Structure

Optional configurations that can assist when managing GitLab CI/CD pipelines across multiple servers.

Artifacts, Caching, and Local Storage for HPC Projects

A generic look at the differences between artifacts, caching, and local storage for CI on test HPC resources.

Manual Directory Cleanup

Example job and resources that can assist in cleaning up stateful resources generated during CI.

Tutorials

Title

Description

ECP CI Startup Tutorial

Comprehensive beginner level introduction to CI and ECP supported resources.

MPI Quick Start

Building and running a basic MPI application across compute resources.

2020 ECP Annual

Provided at the 2020 ECP Annual (Deprecated, please only use for reference).

ECP CI tutorials aim to provide a look at how one might use traditional GitLab functionally coupled with the ECP CI enhancements and available test resources in a self-paced manner. If your unsure how to get started using these tutorials this will provide immense value.