The public Travis API
Go to file
Piotr Sarnacki 32503b0731 Use HEROKU_SLUG_COMMIT instead of last-commit-sha-buildpack
We used last-commit-sha-buildpack in order to fetch the sha of the last
deployed commit during building the app and save it to use it later.
This was done using undocumented Heroku properties, for example it
assumed a certain path to git files. It turns out that there's another
way to do it now. We can enable dyno-metadata[1] feature on heroku and
use HEROKU_SLUG_COMMIT

[1] https://devcenter.heroku.com/articles/dyno-metadata
2016-08-08 13:31:52 +02: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 Use HEROKU_SLUG_COMMIT instead of last-commit-sha-buildpack 2016-08-08 13:31:52 +02:00
public Use brightgreen color for passing builds. 2014-12-10 12:57:45 +01:00
script clean up the debug output 2016-08-03 00:17:11 -04:00
spec don't allow one error to stop all crons from running 2016-08-02 23:49:47 -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