The public Travis API
|
||
---|---|---|
bin | ||
config | ||
lib | ||
public | ||
script | ||
spec | ||
tmp | ||
.buildpacks | ||
.gitignore | ||
.ruby-version | ||
.travis.yml | ||
config.ru | ||
CONTRIBUTING.md | ||
Gemfile | ||
Gemfile.lock | ||
LICENSE | ||
Procfile | ||
Rakefile | ||
README.md | ||
travis-api.gemspec |
The public Travis API
This is the app running on https://api.travis-ci.org/
Requirements
- PostgreSQL 9.3 or higher
- Redis
- RabbitMQ
- 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.
bundle exec rake db:create
- for testing 'RAILS_ENV=test bundle exec rake db:create --trace'
- Clone
travis-logs
and copy thelogs
database (assume the PostgreSQL user ispostgres
):
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
- Fork it
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - 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
.