CI setup

This document describes what services we use for testing GitLab and GitLab CI.

We currently use four CI services to test GitLab:

  1. GitLab CI on GitHost.io for the GitLab.com repo
  2. GitLab CI at ci.gitlab.org to test the private GitLab B.V. repo at dev.gitlab.org
  3. Semephore for GitHub.com repo
  4. Mock CI Service for local development
Software @ configuration being tested GitLab CI (ci.gitlab.org) GitLab CI (GitHost.io) Semaphore
GitLab CE @ MySQL Core team can trigger builds
GitLab CE @ PostgreSQL Core team can trigger builds
GitLab EE @ MySQL
GitLab CI @ MySQL
GitLab CI @ PostgreSQL
GitLab CI Runner
GitLab Shell
GitLab Shell

Core team has access to trigger builds if needed for GitLab CE.

We use these build scripts for testing with GitLab CI.

Build configuration on Semaphore for testing the GitHub.com repo

  • Language: Ruby
  • Ruby version: 2.1.8
  • database.yml: pg

Build commands

sudo apt-get install cmake libicu-dev -y (Setup)
bundle install --deployment --path vendor/bundle (Setup)
cp config/gitlab.yml.example config/gitlab.yml (Setup)
bundle exec rake db:create (Setup)
bundle exec rake spinach (Thread #1)
bundle exec rake spec (thread #2)
bundle exec rake rubocop (thread #3)
bundle exec rake brakeman (thread #4)
bundle exec rake jasmine:ci (thread #5)

Use rubygems mirror.