Hubcast is an event-driven service that securely mirrors repository state from GitHub to LC CZ GitLab. It enables LLNL open source projects to maintain development workflows on public GitHub while running CI/CD pipelines on LC's HPC infrastructure.

Overview

Hubcast monitors GitHub repositories for changes (commits, pull requests, comments) and automatically mirrors them to a corresponding LC CZ GitLab repository where CI pipelines execute. CI status is reported back to GitHub pull requests, allowing you to securely test external contributions after review by an LLNL developer.

This workflow allows LLNL projects to:

  • Collaborate openly on GitHub with external contributors
  • Leverage LC's compute resources for testing and validation

Quick Start

1. Register Your GitHub Account

Link your GitHub account in LC's Identity Management system via lc-idm.llnl.gov/github/link

2. Install the Hubcast GitHub App

Install the lc-hubcast GitHub App into your repository by going to https://github.com/apps/lc-hubcast.

Then click the Configure button, select your repository, and click Request and Install.

3. Create a Corresponding GitLab Repository

Create a corresponding repository on LC CZ GitLab where your CI pipelines will run. Ensure your team members have write access (developer role) to the repository. 

See Getting Started with LC GitLab for setup instructions.

4. Configure Hubcast

Create a .github/hubcast.yml file in your GitHub repository:

Repo: dest_org: your-gitlab-org dest_name: your-gitlab-repo

Commit and push this configuration file to your repository's default branch.
 

User Documentation

For complete setup instructions, configuration options, and bot commands, see the Hubcast user guide:  https://github.com/llnl/hubcast/blob/main/docs/guide-user.md
 

Support