# Continuous integration tricks

**URL:** https://discourse.kitware.com/t/continuous-integration-tricks/619
**Category:** Tips and Tricks
**Created:** [March 19, 2021, 5:50pm UTC](https://discourse.kitware.com/t/continuous-integration-tricks/619 "2021-03-19T17:50:49Z")
**Posts on this page:** 4
**Page:** 1

<div class="post-metadata">

### Author: ![dcthomp](https://discourse.kitware.com/user_avatar/discourse.kitware.com/dcthomp/32/10_2.png) [@dcthomp](https://discourse.kitware.com/u/dcthomp)
#### Post date: [March 19, 2021, 5:50pm UTC](https://discourse.kitware.com/t/continuous-integration-tricks/619/1 "2021-03-19T17:50:49Z")

</div>

This topic is a wiki page (you can edit it) to collect tricks for working with our gitlab continuous integration system.

## Superbuild system

The CMB and aeva projects have many dependencies. The cmb-superbuild project exists to prepare them (and create packages for CMB and aeva). The dependencies are put in docker images (linux) and tarballs (macos, windows) that gitlab’s continuous integration system uses to test merge requests. Visit

[https://gitlab.kitware.com/cmb/cmb-superbuild/-/pipelines](https://gitlab.kitware.com/cmb/cmb-superbuild/-/pipelines)

to see the list of pipeline runs. These runs include artifacts you can download that include log files (from the _Build_ stage) and packages (from the _Test_ stage). Each pipeline marked “Scheduled” is a nightly build that has an additional _Update-ci_ stage that uploads test artifacts for use by gitlab-ci when building other projects.

## Forcing a package upload

Each night, a scheduled CI job is run that builds and uploads packages. Normally, merging changes to the CMB superbuild does not upload any generated packages (to prevent wasted disk space and bandwidth). Sometimes, you make a change that warrants immediate package uploads (like fixing breakage that prevented uploads the night before or ensuring packages are viable before a formal release).

In that case, you can manually schedule a job by visiting this URL:

[https://gitlab.kitware.com/cmb/cmb-superbuild/-/pipelines/new](https://gitlab.kitware.com/cmb/cmb-superbuild/-/pipelines/new)

Before clicking the “Run Pipeline” button, add a variable to the job with the name `GIRDER_UPLOAD_ENABLE` and a value of `true`.

---

<div class="post-metadata">

### Author: ![ben.boeckel](https://discourse.kitware.com/letter_avatar_proxy/v4/letter/b/ea5d25/32.png) [@ben.boeckel](https://discourse.kitware.com/u/ben.boeckel)
#### Post date: [March 23, 2021, 1:51am UTC](https://discourse.kitware.com/t/continuous-integration-tricks/619/2 "2021-03-23T01:51:24Z")

</div>

> [@dcthomp](#):
>
> This topic is a wiki page (you can edit it) to collect tricks for working with our gitlab continuous integration system.

Is it? I can’t see a way to edit it.

---

<div class="post-metadata">

### Author: ![dcthomp](https://discourse.kitware.com/user_avatar/discourse.kitware.com/dcthomp/32/10_2.png) [@dcthomp](https://discourse.kitware.com/u/dcthomp)
#### Post date: [March 23, 2021, 4:04am UTC](https://discourse.kitware.com/t/continuous-integration-tricks/619/3 "2021-03-23T04:04:08Z")

</div>

Try now

---

<div class="post-metadata">

### Author: ![ben.boeckel](https://discourse.kitware.com/letter_avatar_proxy/v4/letter/b/ea5d25/32.png) [@ben.boeckel](https://discourse.kitware.com/u/ben.boeckel)
#### Post date: [March 23, 2021, 2:41pm UTC](https://discourse.kitware.com/t/continuous-integration-tricks/619/4 "2021-03-23T14:41:27Z")

</div>

I may have missed it before. I guess I’m used to admin rights on the other Discourse instances; there’s a labeled Edit button rather than just a pencil icon in the expander at the bottom of the post (I get a labeled Admin icon on other instances).
