2.21 KB

Contributing to GitLab Runner

Contributions are welcome!

The official repository for this project is on

Contributor license agreement

By submitting code as an individual you agree to the individual contributor license agreement. By submitting code as an entity you agree to the corporate contributor license agreement.

Managing build dependencies

GitLab Runner uses Godep to manage its dependencies - they get checked into the repository under the vendor/ directory, with a manifest stored in Godeps/Godeps.json.

If your contribution adds, removes or updates any dependencies to the runner, please ensure the vendored copies updated in lock-step. If you're new to Go, or Godep, here is a conservative process to follow:

  • Start with a completely empty GOPATH with the right Go version (currently 1.7.1). GVM makes this easy.
  • Clone the repository into this GOPATH, e.g.: go get
  • Run go get
  • Change directory: cd $GOPATH/src/
  • Run godep restore -v && rm -rf Godeps vendor to un-vendor the dependencies.
  • Make your changes, running go get [-u] <packages> as necessary to add or update packages.
  • When finished, run godep save -v ./... to recreate the Godeps and vendor directories
  • Check that all the added or changed dependencies are compatible with the runner's license.
  • Commit your changes in one commit (or set of commits), followed by the changes to Godeps and vendor/ in a final commit, then push to a fork or branch.
  • Check out your branch in a new clean GOPATH and ensure make verify runs without error.
  • Open a merge request!