Skip to the content.

Continuous Integration

We use pipeline based Gitlab CI/CD for Github.
It creates a read-only mirror which is updated upon a push event from Github’s webhook. Pipeline build statuses are reported back to Github.

Runner types

Gitlab assigns jobs to runners (workers) based on tags and their availability. We have 2 types of runners (with corresponding tags). To assign your job to the runner, use the relevant tag.

Rule of the thumb: if you don’t use docker CLI in CI, then use docker runner.

How to setup a Gitlab mirror for CI

Github IMPORTANT!:

  1. Add our team user as a collaborator (admin permission level) to the project (for Gitlab to create webhooks automatically). After initial setup is done, you may demote permission level to write.

Gitlab:

  1. Login using team user
  2. https://gitlab.com/mysteriumnetwork → New Project → CI/CD for external repo → Connect repositories from: Github
  3. Find the project in From GitHub column.
  4. IMPORTANT! In To GitLab column, select Groups/mysteriumnetwork. Import Github project
  5. Double check to make sure you added our team (bot) user as admin to your repository on github.
  6. Click Connect

That’s all.
If everything went well, Gitlab will mirror updates whenever you push to any branch in Github repo.
If the project has .gitlab-ci.yml, Gitlab will run build pipeline and report build status back to the Github.

Post mirror setup