The public Travis API
Go to file
2016-08-23 03:26:01 -04:00
bin set tmp_dir in script/server 2015-10-09 09:19:07 +02:00
config Remove SS reference on nginx config 2016-07-28 10:29:58 -05:00
lib add a test that demonstrates the change to the query on this branch supports the old params and the new v3 namespace params, and add the dirty flag for json column updates 2016-08-23 03:26:01 -04:00
public Use brightgreen color for passing builds. 2014-12-10 12:57:45 +01:00
script some changes to get errors to report to Sentry 2016-05-30 17:16:27 +02:00
spec add a test that demonstrates the change to the query on this branch supports the old params and the new v3 namespace params, and add the dirty flag for json column updates 2016-08-23 03:26:01 -04:00
tmp Add Skylight stuff 2014-04-09 02:57:34 -05:00
.buildpacks Use HEROKU_SLUG_COMMIT instead of last-commit-sha-buildpack 2016-08-08 13:31:52 +02:00
.gitignore Move travis-core files from /vendor to /lib. 2016-07-28 15:09:08 +02:00
.rspec get rid of spec_helper_core 2016-06-19 14:35:54 +02:00
.ruby-version Copies spec from core 2016-06-14 15:10:40 +02:00
.travis.yml wrong ruby in travis file 2016-06-14 15:17:20 +02: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 Remove repeated gem 2016-07-28 15:09:08 +02:00
Gemfile.lock Move travis-core files from /vendor to /lib. 2016-07-28 15:09:08 +02:00
heroku-buildpack-sigsci.tgz Try herouku buildpack from sigsci 2016-07-28 15:09:08 +02:00
LICENSE seems we don't have a license 2015-07-15 20:51:57 +02:00
Procfile add command to procfile 2016-04-28 15:15:57 +02:00
Rakefile Move travis-core files from /vendor to /lib. 2016-07-28 15:09:08 +02:00
README.md Merge pull request #304 from travis-ci/v3-documentation 2016-07-28 15:04:59 +02:00
sigsci-buildpack-nginx.tgz Restore sigsci-buildpack-nginx 2016-07-28 15:09:09 +02:00
travis-api.gemspec add tool as dependency 2016-07-27 16:54:29 +02:00

The public Travis API

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

Requirements

You will need the following packages to get travis-api to work:

  1. PostgreSQL 9.3 or higher
  2. Bundler
  3. Redis Server
  4. Optional: RabbitMQ Server
  5. Nginx - If working in Ubuntu please install nginx manually from source: Download and extract latest nginx version, open a terminal in extracted folder and then run the following:
    $ sudo apt-get install libpcre3 libpcre3-dev
    $ auto/configure --user=$USER
    $ make
    $ sudo make install
    $ sudo ln -s /usr/local/nginx/sbin/nginx /bin/nginx

Installation

Setup

$ bundle install

Database setup

You might need to create a role first. For this you should run the following:

$ sudo -u postgres psql -c "CREATE USER yourusername WITH SUPERUSER PASSWORD 'yourpassword'"

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 is configured using the environment variable RAILS_ENV. If you are using a different configuration you will have to make your own adjustments.

$ RAILS_ENV=development bundle exec rake db:create
$ RAILS_ENV=test bundle exec rake db:create

Optional

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

$ 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

$ bundle exec rake

Run the server

$ bundle exec script/server

If you have problems with Nginx because the websocket is already in use, try restarting your computer.

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

v3 documentation can be found at https://developer.travis-ci.org which is a repository that can be found at https://github.com/travis-pro/developer