Skip to content

Instantly share code, notes, and snippets.

@Dhiraj240
Forked from fulldecent/travis-local.md
Created October 4, 2018 01:15
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Dhiraj240/4cf03f8d50c18413d2b514f60af2c9a8 to your computer and use it in GitHub Desktop.
Save Dhiraj240/4cf03f8d50c18413d2b514f60af2c9a8 to your computer and use it in GitHub Desktop.
Run Travis build locally

travis-local.md

Preconditions:

  1. POSIX or Windows system
  2. Install Docker
  3. A GitHub repo that already builds on Travis

Postcondition:

  • Identical output as if run from Travis

Project status:

  • Alpha quality, please post notes here and fork baby fork, I will try to test and accept changes here

Notes:

  1. Install Travis on Docker

    # choose the image according to the language chosen in .travis.yml
    $ docker run -it -u travis quay.io/travisci/travis-jvm /bin/bash
    
    # now that you are in the docker image, switch to the travis user
    sudo — travis
    
    # Install a recent ruby (default is 1.9.3)
    rvm install 2.3.0
    rvm use 2.3.0
    
    # Install travis-build to generate a .sh out of .travis.yml
    cd builds \
    git clone https://github.com/travis-ci/travis-build.git \
    cd travis-build \
    gem install travis \
    travis # to create ~/.travis \
    ln -s `pwd` ~/.travis/travis-build \
    bundle install
    
    # Create ssh key for Github
    ssh-keygen -t rsa -b 4096 -C “YOUR EMAIL REGISTERED IN GITHUB”
    
    # Click enter to use default location for key
    # You can choose empty passphrase by clicking enter twice
    # Now that we have the key, let’s share with Github
    less ~/.ssh/id_rsa.pub
    
    # Copy the contents of the id_rsa.pub
  2. Go to your Github SSH key settings

  3. Create a new ssh key with title: “docker key”: “PASTE THE KEY CONTENTS HERE”

  4. Go back to docker terminal

    # Create project dir, assuming your project is `AUTHOR/PROJECT` on GitHub
    cd ~/builds \
    mkdir AUTHOR \
    cd AUTHOR \
    git clone git@github.com:AUTHOR/PROJECT.git \
    cd PROJECT
    
    # change to the branch or commit you want to investigate
    # compile travis script into bash script
    travis compile > ci.sh
    
    # Go to bash script and fix the branch name
    vi ci.sh
    
    # in Vi type “/branch” to search and add the right branch name
    # — branch\=\’\NEW_BRANCH’\
    # You most likely will need to edit ci.sh as it ignores ‘matrix’ and ‘env’ keywords
    bash ci.sh
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment