GitSwarm 2016.3-2 Documentation


CI setup

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

We currently use three CI services to test GitSwarm:

  1. GitLab CI on GitHost.io for the GitLab.com repo
  2. GitLab CI at ci.gitlab.org to test the private Perforce Software repo at dev.gitlab.org
  3. Semephore for GitHub.com repo
Software @ configuration being tested GitLab CI (ci.gitlab.org) GitLab CI (GitHost.io) Semaphore
GitSwarm CE @ MySQL Core team can trigger builds
GitSwarm CE @ PostgreSQL Core team can trigger builds
GitSwarm 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 GitSwarm CE.

We use these build scripts for testing with GitLab CI.

Build configuration on Semaphore for testing the GitHub.com repo

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.