Skip to content

Instantly share code, notes, and snippets.

@LoesterFranco
Forked from fulldecent/travis-local.md
Created August 9, 2021 18:14
Show Gist options
  • Save LoesterFranco/835c9153ab8ddaf38f3bdd75f14997d1 to your computer and use it in GitHub Desktop.
Save LoesterFranco/835c9153ab8ddaf38f3bdd75f14997d1 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