ECP Continuous Integration
Contents
Project Developer
Continuous Integration
General CI Details
CI Job Token
CI Job Scheduling
HPC Batch Executor
Batch Executors
Interactions with Default GitLab Behavior
Capturing CI Results
Frequently Asked Questions
Error code processing
Specify where GitLab CI pipeline runs
Targeting multiple platforms
Guides
Report Build Status to GitLab/GitHub
Python Scripts
Multiple GitLab Project CI Structure
Single YAML File
Multiple YAML Files
Artifacts, Caching, and Local Storage for HPC Projects
Job Artifacts
Job Caching
Local Storage
Remote Storage
Manual Directory Cleanup
Example
.gitlab-ci.yml
Pipeline Results
Notes
Tutorials
ECP CI Startup Tutorial
Supported Instance
Navigating GitLab CI
Introductory CI Workflow
Additional Resources
Expanded CI Workflow
MPI Quick Start Tutorial
Introduction
Why GitLab CI/CD?
Getting Started
Setting up your repository
Writing you CI YAML File
Viewing the Results
ECP Annual 2020 CI Startup Tutorial
Navigating GitLab CI
Hello Environment
Heat Equation
Expanded Heat Equation
Administration
Jacamar CI
Introduction
Jacamar CI
Authorization and Downscoping
Admin Tutorial
Preparing Your Environment
Registering the Runner
Configuring Jacamar
Testing your Deployment
Next Steps
Deployment
Installation
Runner Registration
Custom Executor Configuration
System Service
Configurations
Jacamar CI Config
GitLab Runner Config
Jacamar-Auth
Authorization Flow
RunAs User
Allow/Block Lists
Downscoping Mechanisms
Job Token Handling
Supported Executors
Executors
CI Job Build Stages
Troubleshooting
Configuration Errors
Obfuscated Error Messages
Cleanup Stage Configuration
Enable Syslog Support
Three Identical Failures?
Seccomp Filters
Required Git Version
Unable to retrieve key from JWKS
Validation for CIJobJWT failed on the ‘jwt’ tag
Server
Server Administration
Security Considerations
Guides
Non-Root Jacamar CI Downscoping (with Capabilities) via SetUID
Deployment
Configurations
System Service
Examine Process
Non-Root Jacamar CI Downscoping via Sudo
Deployment
Configurations
System Service
Examine Process
Introduction to Local System Logging
Configurations
Logging Sources/Destinations
Tracing a Specific Job
Seccomp Plugin Support - Introduction
Getting Started
First Plugin
Verifying Functionality
Error Handling
Configuring and Troubleshooting Seccomp
Understanding Seccomp
Troubleshooting Seccomp Filters
Blocked Actions
Allowed Actions
Migrating to new id_tokens from CI_JOB_JWT
Migrating with Jacamar CI v0.18+
Leveraging Include/Extends
Beginning Migration with Earlier Jacamar CI Versions
Deploying and Using the Podman Run Mechanism
Configuration
Example
Runner Image
Define Hostname
Custom Arguments
Deploying and Using Scheduler Actions
Configuring and Deploying
Utilizing Feature in CI/CD Pipelines
Latest Releases
Jacamar CI v0.23.0
User Changes
Admin Changes
Bug & Development Fixes
Jacamar CI v0.22.0
Admin Changes
Bug & Development Fixes
ECP Continuous Integration
Index
Index