The public Travis API
Go to file
Brandon Ferguson ee701e6892 Merge pull request #306 from travis-ci/update-travis-core-for-backport
Bump travis-core to get amqps fixes
2016-08-01 16:36:54 +02:00
bin set tmp_dir in script/server 2015-10-09 09:19:07 +02:00
config restore original db config 2016-02-11 10:26:24 +01:00
lib Don't run Rack::Attack for Enterprise. 2016-07-05 09:46:39 +02:00
public Use brightgreen color for passing builds. 2014-12-10 12:57:45 +01:00
script 50 unicorn workers on heroku is ideal, as heroku hands 50 requests to the dyno 2015-10-13 12:22:07 +02:00
spec update lint service, update spec 2016-03-21 15:39:14 +01:00
tmp Add Skylight stuff 2014-04-09 02:57:34 -05:00
.buildpacks revert 2016-03-22 12:27:34 +01:00
.gitignore reinstate nginx, use it in development, add smare concurrency settings 2015-10-08 13:57:49 +02:00
.ruby-version use ruby 2.1.5 2015-01-13 18:57:32 +01:00
.travis.yml remove db:migrate 2016-02-11 10:26:24 +01:00
config.ru Update travis-support to sans-newrelic version 2014-07-29 11:30:11 +02:00
CONTRIBUTING.md First cut generic Contributing.md file for Travis 2013-03-18 23:07:55 -03:00
Gemfile Use te-dev branch for travis-core in Gemfile 2016-07-11 15:13:26 +02:00
Gemfile.lock Bump travis-core to get amqps fixes 2016-08-01 16:22:06 +02:00
LICENSE seems we don't have a license 2015-07-15 20:51:57 +02:00
Procfile no double je 2015-10-09 09:02:10 +02:00
Rakefile add db creation and migration for development, update readme 2016-02-11 10:26:24 +01:00
README.md update readme with info about db name 2016-02-24 23:42:50 +01:00
travis-api.gemspec relax dependency for pg, remove thin 2015-05-21 18:23:33 +02:00

The public Travis API

This is the app running on https://api.travis-ci.org/

Requirements

  1. PostgreSQL 9.3 or higher
  2. Redis
  3. RabbitMQ
  4. Nginx *NB: If working on Ubuntu please install Nginx manually from source. This guide is helpful but make sure you install the latest stable version, include the user name on your ubuntu machine when compiling (add --user=[yourusername] as an option when running ./configure), and don't follow any subsequent server configuration steps. Travis-api will start and configure its own nginx server when run locally.

Installation

Setup

$ bundle install

Database setup

NB detail for how rake sets up the database can be found in the Rakefile. In the namespace :db block you will see the database name for development is hardcoded to travis-development. If you are using a different configuration you will have to make your own adjustments.

  1. bundle exec rake db:create
  2. for testing 'RAILS_ENV=test bundle exec rake db:create --trace'
  3. Clone travis-logs and copy the logs database (assume the PostgreSQL user is postgres):
cd ..
git clone https://github.com/travis-ci/travis-logs.git
cd travis-logs
rvm jruby do bundle exec rake db:migrate # `travis-logs` requires JRuby
psql -c "DROP TABLE IF EXISTS logs CASCADE" -U postgres travis_development
pg_dump -t logs travis_logs_development | psql -U postgres travis_development

Repeat the database steps for RAILS_ENV=test.

RAILS_ENV=test bundle exec rake db:create
pushd ../travis-logs
RAILS_ENV=test rvm jruby do bundle exec rake db:migrate
psql -c "DROP TABLE IF EXISTS logs CASCADE" -U postgres travis_test
pg_dump -t logs travis_logs_test | psql -U postgres travis_test
popd

Run tests

$ rake spec

Run the server

$ bundle exec script/server

Contributing

  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request

API documentation

We use source code comments to add documentation. If the server is running, you can browse an HTML documenation at /docs.