Make sure you have Docker installed.
Pull the Travis Erlang image
docker run --name travis-debug -dit travisci/ci-erlang:packer-1494865151 /sbin/init
Execute the container
docker exec -it travis-debug -u travis bash -l
Upgrade Ruby
rvm install 2.3.0
rvm use 2.3.0
Install Travis build
cd ~/builds
git clone https://github.com/travis-ci/travis-build.git
cd travis-build
gem install bundler
gem install travis
travis
bundle install
bundler add travis
bundler binstubs travis
ln -s `pwd` ~/.travis/travis-build
Add your SSH key to GitHub
ssh-keygen -t rsa -b 4096 -C "[email protected]"
cat ~/.ssh/id_rsa.pub
Pull the git repository
cd ~/builds
git clone --depth=50 --branch=cb/execute_async https://github.com/carl-al/wallaby.git
cd wallaby
Convert the .travis.yml to shell script
~/.travis/travis-build/bin/travis compile > travis.sh
Run it
./travis.sh
Note: Elixir seems to not be supported at the moment and the compilation to shell script currently breaks as elixir
is considered an illegal value for the key language
.
- https://docs.travis-ci.com/user/common-build-problems/#Troubleshooting-Locally-in-a-Docker-Image
- https://andy-carter.com/blog/setting-up-travis-locally-with-docker-to-test-continuous-integration
- https://github.com/habitat-sh/habitat/wiki/Testing-travis-CI-workflows-locally-in-docker
- https://medium.com/google-developers/how-to-run-travisci-locally-on-docker-822fc6b2db2e