Merge branch 'master' into ps-env-vars-in-settings
Conflicts: Gemfile.lock
This commit is contained in:
commit
6d3a65b541
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -1,3 +1,4 @@
|
||||||
config/travis.yml
|
config/travis.yml
|
||||||
.yardoc
|
.yardoc
|
||||||
log/
|
log/
|
||||||
|
vendor
|
||||||
|
|
|
@ -8,8 +8,15 @@ rvm:
|
||||||
addons:
|
addons:
|
||||||
postgresql: 9.3
|
postgresql: 9.3
|
||||||
before_script:
|
before_script:
|
||||||
|
# create 'logs' table matching 'travis-logs'
|
||||||
|
- ./set_up_travis_logs.sh
|
||||||
- 'RAILS_ENV=test bundle exec rake db:create db:structure:load --trace'
|
- 'RAILS_ENV=test bundle exec rake db:create db:structure:load --trace'
|
||||||
|
# replace 'logs' table in travis_test DB with that in travis_logs_test
|
||||||
|
- psql -c "DROP TABLE IF EXISTS logs CASCADE" -U postgres travis_test
|
||||||
|
- pg_dump -t logs travis_logs_test | psql -U postgres travis_test
|
||||||
|
|
||||||
notifications:
|
notifications:
|
||||||
irc: "irc.freenode.org#travis"
|
irc: "irc.freenode.org#travis"
|
||||||
services:
|
services:
|
||||||
- redis
|
- redis
|
||||||
|
cache: bundler
|
||||||
|
|
1
Gemfile
1
Gemfile
|
@ -6,6 +6,7 @@ gemspec
|
||||||
gem 'travis-core', github: 'travis-ci/travis-core'
|
gem 'travis-core', github: 'travis-ci/travis-core'
|
||||||
gem 'travis-support', github: 'travis-ci/travis-support'
|
gem 'travis-support', github: 'travis-ci/travis-support'
|
||||||
gem 'travis-sidekiqs', github: 'travis-ci/travis-sidekiqs', require: nil, ref: 'cde9741'
|
gem 'travis-sidekiqs', github: 'travis-ci/travis-sidekiqs', require: nil, ref: 'cde9741'
|
||||||
|
gem 'travis-yaml', github: 'travis-ci/travis-yaml'
|
||||||
gem 'sinatra'
|
gem 'sinatra'
|
||||||
gem 'sinatra-contrib', require: nil #github: 'sinatra/sinatra-contrib', require: nil
|
gem 'sinatra-contrib', require: nil #github: 'sinatra/sinatra-contrib', require: nil
|
||||||
|
|
||||||
|
|
13
Gemfile.lock
13
Gemfile.lock
|
@ -45,7 +45,7 @@ GIT
|
||||||
|
|
||||||
GIT
|
GIT
|
||||||
remote: git://github.com/travis-ci/travis-core.git
|
remote: git://github.com/travis-ci/travis-core.git
|
||||||
revision: 59e96ca2fef544365d79f7d240ad2b9c3fe9691e
|
revision: ef8fb67bd56569eb55d176f824bb62bc602c8f80
|
||||||
specs:
|
specs:
|
||||||
travis-core (0.0.1)
|
travis-core (0.0.1)
|
||||||
actionmailer (~> 3.2.12)
|
actionmailer (~> 3.2.12)
|
||||||
|
@ -80,6 +80,12 @@ GIT
|
||||||
specs:
|
specs:
|
||||||
travis-support (0.0.1)
|
travis-support (0.0.1)
|
||||||
|
|
||||||
|
GIT
|
||||||
|
remote: git://github.com/travis-ci/travis-yaml.git
|
||||||
|
revision: 7e6e31e82240e170ffc20dfd02c0353b3bd5d33b
|
||||||
|
specs:
|
||||||
|
travis-yaml (0.1.0)
|
||||||
|
|
||||||
GIT
|
GIT
|
||||||
remote: https://gist.github.com/4269321.git
|
remote: https://gist.github.com/4269321.git
|
||||||
revision: 8e2d21b924a69dd48191df6a18e51769f5a88614
|
revision: 8e2d21b924a69dd48191df6a18e51769f5a88614
|
||||||
|
@ -204,7 +210,7 @@ GEM
|
||||||
net-http-persistent (2.9.4)
|
net-http-persistent (2.9.4)
|
||||||
net-http-pipeline (1.0.1)
|
net-http-pipeline (1.0.1)
|
||||||
pg (0.13.2)
|
pg (0.13.2)
|
||||||
polyglot (0.3.4)
|
polyglot (0.3.5)
|
||||||
proxies (0.2.1)
|
proxies (0.2.1)
|
||||||
pry (0.9.12.4)
|
pry (0.9.12.4)
|
||||||
coderay (~> 1.0)
|
coderay (~> 1.0)
|
||||||
|
@ -287,7 +293,7 @@ GEM
|
||||||
eventmachine (>= 1.0.0)
|
eventmachine (>= 1.0.0)
|
||||||
rack (>= 1.0.0)
|
rack (>= 1.0.0)
|
||||||
thor (0.14.6)
|
thor (0.14.6)
|
||||||
thread_safe (0.3.3)
|
thread_safe (0.3.4)
|
||||||
tilt (1.4.1)
|
tilt (1.4.1)
|
||||||
timers (1.1.0)
|
timers (1.1.0)
|
||||||
treetop (1.4.15)
|
treetop (1.4.15)
|
||||||
|
@ -332,5 +338,6 @@ DEPENDENCIES
|
||||||
travis-core!
|
travis-core!
|
||||||
travis-sidekiqs!
|
travis-sidekiqs!
|
||||||
travis-support!
|
travis-support!
|
||||||
|
travis-yaml!
|
||||||
unicorn
|
unicorn
|
||||||
yard-sinatra!
|
yard-sinatra!
|
||||||
|
|
38
README.md
38
README.md
|
@ -2,20 +2,48 @@
|
||||||
|
|
||||||
This is the app running on https://api.travis-ci.org/
|
This is the app running on https://api.travis-ci.org/
|
||||||
|
|
||||||
|
## Requirements
|
||||||
|
|
||||||
|
1. PostgreSQL 9.3 or higher
|
||||||
|
1. Redis
|
||||||
|
1. RabbitMQ
|
||||||
|
|
||||||
## Installation
|
## Installation
|
||||||
|
|
||||||
Setup:
|
### Setup
|
||||||
|
|
||||||
$ bundle install
|
$ bundle install
|
||||||
|
|
||||||
Run tests:
|
### Database setup
|
||||||
|
|
||||||
|
1. `rake db:create db:structure:load`
|
||||||
|
1. Clone `travis-logs` and copy the `logs` database (assume the PostgreSQL user is `postgres`):
|
||||||
|
```sh-session
|
||||||
|
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`.
|
||||||
|
```sh-session
|
||||||
|
RAILS_ENV=test rake db:create db:structure:load
|
||||||
|
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
|
||||||
|
|
||||||
$ RAILS_ENV=test rake db:create db:structure:load
|
|
||||||
$ rake spec
|
$ rake spec
|
||||||
|
|
||||||
Run the server:
|
### Run the server
|
||||||
|
|
||||||
$ rake db:create db:structure:load
|
|
||||||
$ script/server
|
$ script/server
|
||||||
|
|
||||||
## Contributing
|
## Contributing
|
||||||
|
|
|
@ -34,27 +34,6 @@ http {
|
||||||
keepalive_timeout 5;
|
keepalive_timeout 5;
|
||||||
|
|
||||||
location / {
|
location / {
|
||||||
add_header 'Access-Control-Allow-Origin' '*';
|
|
||||||
add_header 'Access-Control-Allow-Credentials' 'true';
|
|
||||||
add_header 'Access-Control-Expose-Headers' 'Content-Type, Cache-Control, Expires, Etag, Last-Modified';
|
|
||||||
|
|
||||||
if ($request_method = 'OPTIONS') {
|
|
||||||
add_header 'Access-Control-Allow-Origin' '*';
|
|
||||||
add_header 'Access-Control-Allow-Credentials' 'true';
|
|
||||||
add_header 'Access-Control-Expose-Headers' 'Content-Type, Cache-Control, Expires, Etag, Last-Modified';
|
|
||||||
|
|
||||||
# Tell browser to cache this pre-flight info for 20 days
|
|
||||||
add_header 'Access-Control-Max-Age' 1728000;
|
|
||||||
|
|
||||||
add_header 'Access-Control-Allow-Methods' 'HEAD, GET, POST, PATCH, PUT, DELETE, OPTIONS';
|
|
||||||
add_header 'Access-Control-Allow-Headers' 'Content-Type, Authorization, Accept, If-None-Match, If-Modified-Since';
|
|
||||||
|
|
||||||
add_header 'Content-Length' 0;
|
|
||||||
add_header 'Content-Type' 'text/plain charset=UTF-8';
|
|
||||||
|
|
||||||
return 204;
|
|
||||||
}
|
|
||||||
|
|
||||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||||
proxy_set_header Host $http_host;
|
proxy_set_header Host $http_host;
|
||||||
proxy_redirect off;
|
proxy_redirect off;
|
||||||
|
|
|
@ -87,7 +87,7 @@ module Travis::Api
|
||||||
[ 420, {}, ['Enhance Your Calm']]
|
[ 420, {}, ['Enhance Your Calm']]
|
||||||
end
|
end
|
||||||
|
|
||||||
use Travis::Api::App::Cors if Travis.env == 'development'
|
use Travis::Api::App::Cors
|
||||||
use Raven::Rack if Endpoint.production?
|
use Raven::Rack if Endpoint.production?
|
||||||
use Rack::Protection::PathTraversal
|
use Rack::Protection::PathTraversal
|
||||||
use Rack::SSL if Endpoint.production?
|
use Rack::SSL if Endpoint.production?
|
||||||
|
|
|
@ -64,6 +64,21 @@ class Travis::Api::App
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
patch '/:id/log', scope: :private do |id|
|
||||||
|
begin
|
||||||
|
self.service(:remove_log, params).run
|
||||||
|
rescue Travis::AuthorizationDenied => ade
|
||||||
|
status 401
|
||||||
|
{ error: { message: ade.message } }
|
||||||
|
rescue Travis::JobUnfinished, Travis::LogAlreadyRemoved => e
|
||||||
|
status 409
|
||||||
|
{ error: { message: e.message } }
|
||||||
|
rescue => e
|
||||||
|
status 500
|
||||||
|
{ error: { message: "Unexpected error occurred: #{e.message}" } }
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
get "/:job_id/annotations" do
|
get "/:job_id/annotations" do
|
||||||
respond_with service(:find_annotations, params)
|
respond_with service(:find_annotations, params)
|
||||||
end
|
end
|
||||||
|
|
19
lib/travis/api/app/endpoint/lint.rb
Normal file
19
lib/travis/api/app/endpoint/lint.rb
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
require 'travis/api/app'
|
||||||
|
require 'travis/yaml'
|
||||||
|
|
||||||
|
class Travis::Api::App
|
||||||
|
class Endpoint
|
||||||
|
class Lint < Endpoint
|
||||||
|
def lint
|
||||||
|
request.body.rewind
|
||||||
|
content = params[:content] || request.body.read
|
||||||
|
parsed = Travis::Yaml.parse(content)
|
||||||
|
warnings = parsed.nested_warnings.map { |k, m| { key: k, message: m } }
|
||||||
|
{ lint: { warnings: warnings } }.to_json
|
||||||
|
end
|
||||||
|
|
||||||
|
post('/', scope: :public) { lint }
|
||||||
|
put('/', scope: :public) { lint }
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
|
@ -34,7 +34,7 @@ module Travis::Api::App::Responders
|
||||||
end
|
end
|
||||||
|
|
||||||
def root
|
def root
|
||||||
File.expand_path('.') # TODO wat.
|
File.expand_path('.')
|
||||||
end
|
end
|
||||||
|
|
||||||
def last_modified
|
def last_modified
|
||||||
|
|
|
@ -6,14 +6,15 @@ module Travis::Api::App::Responders
|
||||||
class Xml < Base
|
class Xml < Base
|
||||||
TEMPLATE_ERB = ERB.new <<-EOF
|
TEMPLATE_ERB = ERB.new <<-EOF
|
||||||
<Projects>
|
<Projects>
|
||||||
<% @resource.each do |r| %>
|
<% @resource.each do |repository| %>
|
||||||
|
<% next if build(repository).nil? %>
|
||||||
<Project
|
<Project
|
||||||
name="<%= r.slug %>"
|
name="<%= repository.slug %>"
|
||||||
activity="<%= ACTIVITY[r.last_build.state.to_sym] || ACTIVITY[:default] %>"
|
activity="<%= ACTIVITY[build(repository).state.to_sym] || ACTIVITY[:default] %>"
|
||||||
lastBuildStatus="<%= STATUS[r.last_build.state.to_sym] || STATUS[:default] %>"
|
lastBuildStatus="<%= STATUS[build(repository).state.to_sym] || STATUS[:default] %>"
|
||||||
lastBuildLabel="<%= r.last_build.try(:number) %>"
|
lastBuildLabel="<%= build(repository).try(:number) %>"
|
||||||
lastBuildTime="<%= r.last_build.finished_at.try(:strftime, '%Y-%m-%dT%H:%M:%S.%L%z') %>"
|
lastBuildTime="<%= build(repository).finished_at.try(:strftime, '%Y-%m-%dT%H:%M:%S.%L%z') %>"
|
||||||
webUrl="https://<%= Travis.config.client_domain %>/<%= r.slug %>" />
|
webUrl="https://<%= Travis.config.client_domain %>/<%= repository.slug %>" />
|
||||||
<% end %>
|
<% end %>
|
||||||
</Projects>
|
</Projects>
|
||||||
EOF
|
EOF
|
||||||
|
@ -23,7 +24,7 @@ module Travis::Api::App::Responders
|
||||||
passed: 'Success',
|
passed: 'Success',
|
||||||
failed: 'Failure',
|
failed: 'Failure',
|
||||||
errored: 'Error',
|
errored: 'Error',
|
||||||
canceld: 'Canceled',
|
canceled: 'Canceled',
|
||||||
}
|
}
|
||||||
|
|
||||||
ACTIVITY = {
|
ACTIVITY = {
|
||||||
|
@ -42,6 +43,18 @@ module Travis::Api::App::Responders
|
||||||
TEMPLATE_ERB.result(binding)
|
TEMPLATE_ERB.result(binding)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def branch
|
||||||
|
params[:branch]
|
||||||
|
end
|
||||||
|
|
||||||
|
def build(repository)
|
||||||
|
if branch.present?
|
||||||
|
repository.last_completed_build(branch)
|
||||||
|
else
|
||||||
|
repository.last_build
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
private
|
private
|
||||||
|
|
||||||
def content_type
|
def content_type
|
||||||
|
|
38
set_up_travis_logs.sh
Executable file
38
set_up_travis_logs.sh
Executable file
|
@ -0,0 +1,38 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
travis_retry() {
|
||||||
|
local result=0
|
||||||
|
local count=1
|
||||||
|
while [ $count -le 3 ]; do
|
||||||
|
[ $result -ne 0 ] && {
|
||||||
|
echo -e "\n${RED}The command \"$@\" failed. Retrying, $count of 3.${RESET}\n" >&2
|
||||||
|
}
|
||||||
|
"$@"
|
||||||
|
result=$?
|
||||||
|
[ $result -eq 0 ] && break
|
||||||
|
count=$(($count + 1))
|
||||||
|
sleep 1
|
||||||
|
done
|
||||||
|
|
||||||
|
[ $count -eq 3 ] && {
|
||||||
|
echo "\n${RED}The command \"$@\" failed 3 times.${RESET}\n" >&2
|
||||||
|
}
|
||||||
|
|
||||||
|
return $result
|
||||||
|
}
|
||||||
|
|
||||||
|
# clone travis-logs
|
||||||
|
pushd $HOME
|
||||||
|
git clone --depth=1 https://github.com/travis-ci/travis-logs.git
|
||||||
|
cd travis-logs
|
||||||
|
|
||||||
|
# install ruby runtime which travis-logs wants
|
||||||
|
RUBY_RUNTIME=$(cat .ruby-version)
|
||||||
|
rvm install $RUBY_RUNTIME
|
||||||
|
# using JRuby, migrate the 'logs' table in 'travis_test' database
|
||||||
|
BUNDLE_GEMFILE=$PWD/Gemfile
|
||||||
|
travis_retry rvm $RUBY_RUNTIME do bundle install
|
||||||
|
psql -c "CREATE DATABASE travis_logs_test;" -U postgres
|
||||||
|
cp $TRAVIS_BUILD_DIR/config/database.yml config/travis.yml
|
||||||
|
rvm $RUBY_RUNTIME do bundle exec rake db:migrate
|
||||||
|
popd
|
|
@ -76,6 +76,58 @@ describe 'Jobs' do
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
describe 'PATCH /jobs/:job_id/log' do
|
||||||
|
let(:user) { User.where(login: 'svenfuchs').first }
|
||||||
|
let(:token) { Travis::Api::App::AccessToken.create(user: user, app_id: -1) }
|
||||||
|
|
||||||
|
before :each do
|
||||||
|
headers.merge! 'HTTP_AUTHORIZATION' => "token #{token}"
|
||||||
|
end
|
||||||
|
|
||||||
|
context 'when user does not have push permissions' do
|
||||||
|
before :each do
|
||||||
|
user.permissions.create!(repository_id: job.repository.id, :push => false)
|
||||||
|
end
|
||||||
|
|
||||||
|
it 'returns status 401' do
|
||||||
|
response = patch "/jobs/#{job.id}/log", { reason: 'Because reason!' }, headers
|
||||||
|
response.status.should == 401
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
context 'when user has push permission' do
|
||||||
|
context 'when job is not finished' do
|
||||||
|
before :each do
|
||||||
|
job.stubs(:finished?).returns false
|
||||||
|
user.permissions.create!(repository_id: job.repository.id, :push => true)
|
||||||
|
end
|
||||||
|
|
||||||
|
it 'returns status 409' do
|
||||||
|
response = patch "/jobs/#{job.id}/log", { reason: 'Because reason!' }, headers
|
||||||
|
response.status.should == 409
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
context 'when job is finished' do
|
||||||
|
let(:finished_job) { Factory(:test, state: 'passed') }
|
||||||
|
|
||||||
|
before :each do
|
||||||
|
user.permissions.create!(repository_id: finished_job.repository.id, :push => true)
|
||||||
|
end
|
||||||
|
|
||||||
|
it 'returns status 200' do
|
||||||
|
response = patch "/jobs/#{finished_job.id}/log", { reason: 'Because reason!' }, headers
|
||||||
|
response.status.should == 200
|
||||||
|
end
|
||||||
|
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
context 'when job is not found' do
|
||||||
|
# TODO
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
it "GET /jobs/:id/annotations" do
|
it "GET /jobs/:id/annotations" do
|
||||||
annotation_provider = Factory(:annotation_provider)
|
annotation_provider = Factory(:annotation_provider)
|
||||||
annotation = annotation_provider.annotations.create(job_id: job.id, status: "passed", description: "Foobar")
|
annotation = annotation_provider.annotations.create(job_id: job.id, status: "passed", description: "Foobar")
|
||||||
|
|
18
spec/unit/endpoint/lint_spec.rb
Normal file
18
spec/unit/endpoint/lint_spec.rb
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
require 'spec_helper'
|
||||||
|
|
||||||
|
describe Travis::Api::App::Endpoint::Lint do
|
||||||
|
let(:content) { "foo: bar" }
|
||||||
|
let(:body) { "{\"lint\":{\"warnings\":[{\"key\":[],\"message\":\"unexpected key \\\"foo\\\", dropping\"},{\"key\":[],\"message\":\"missing key \\\"language\\\", defaulting to \\\"ruby\\\"\"}]}}" }
|
||||||
|
|
||||||
|
it "accepts content in parameter" do
|
||||||
|
response = post('/lint', content: content)
|
||||||
|
response.should be_ok
|
||||||
|
response.body.should be == body
|
||||||
|
end
|
||||||
|
|
||||||
|
it "accepts content as body" do
|
||||||
|
response = put('/lint', content)
|
||||||
|
response.should be_ok
|
||||||
|
response.body.should be == body
|
||||||
|
end
|
||||||
|
end
|
11
spec/unit/endpoint/logs_spec.rb
Normal file
11
spec/unit/endpoint/logs_spec.rb
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
require 'spec_helper'
|
||||||
|
|
||||||
|
describe Travis::Api::App::Endpoint::Logs do
|
||||||
|
let(:job) { Factory(:test) }
|
||||||
|
|
||||||
|
describe "GET /logs/:id/" do
|
||||||
|
it "finds log successfully" do
|
||||||
|
get("/logs/#{job.log.id}", {}, "HTTP_ACCEPT" => "application/vnd.travis-ci.2+json, */*; q=0.01").should be_ok
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
|
@ -12,39 +12,47 @@ Gem::Specification.new do |s|
|
||||||
"Piotr Sarnacki",
|
"Piotr Sarnacki",
|
||||||
"Konstantin Haase",
|
"Konstantin Haase",
|
||||||
"Sven Fuchs",
|
"Sven Fuchs",
|
||||||
"Josh Kalderimis",
|
|
||||||
"Mathias Meyer",
|
"Mathias Meyer",
|
||||||
"Henrik Hodne",
|
|
||||||
"Hiro Asari",
|
"Hiro Asari",
|
||||||
|
"Josh Kalderimis",
|
||||||
|
"Henrik Hodne",
|
||||||
"Andre Arko",
|
"Andre Arko",
|
||||||
"Erik Michaels-Ober",
|
"Erik Michaels-Ober",
|
||||||
"Steve Richert",
|
|
||||||
"Brian Ford",
|
"Brian Ford",
|
||||||
|
"Steve Richert",
|
||||||
|
"rainsun",
|
||||||
|
"James Dennes",
|
||||||
"Nick Schonning",
|
"Nick Schonning",
|
||||||
"Patrick Williams",
|
"Patrick Williams",
|
||||||
"James Dennes",
|
"Puneeth Chaganti",
|
||||||
"Tim Carey-Smith"
|
"Thais Camilo and Konstantin Haase",
|
||||||
|
"Tim Carey-Smith",
|
||||||
|
"Zachary Scott"
|
||||||
]
|
]
|
||||||
|
|
||||||
s.email = [
|
s.email = [
|
||||||
"drogus@gmail.com",
|
"drogus@gmail.com",
|
||||||
"konstantin.mailinglists@googlemail.com",
|
"konstantin.mailinglists@googlemail.com",
|
||||||
"me@svenfuchs.com",
|
"me@svenfuchs.com",
|
||||||
"josh.kalderimis@gmail.com",
|
|
||||||
"meyer@paperplanes.de",
|
"meyer@paperplanes.de",
|
||||||
"me@henrikhodne.com",
|
|
||||||
"asari.ruby@gmail.com",
|
"asari.ruby@gmail.com",
|
||||||
"konstantin.haase@gmail.com",
|
"josh.kalderimis@gmail.com",
|
||||||
|
"me@henrikhodne.com",
|
||||||
"henrik@hodne.io",
|
"henrik@hodne.io",
|
||||||
"andre@arko.net",
|
"konstantin.haase@gmail.com",
|
||||||
"svenfuchs@artweb-design.de",
|
"svenfuchs@artweb-design.de",
|
||||||
|
"andre@arko.net",
|
||||||
"sferik@gmail.com",
|
"sferik@gmail.com",
|
||||||
"steve.richert@gmail.com",
|
|
||||||
"bford@engineyard.com",
|
"bford@engineyard.com",
|
||||||
"nschonni@gmail.com",
|
"steve.richert@gmail.com",
|
||||||
|
"rainsuner@gmail.com",
|
||||||
"jdennes@gmail.com",
|
"jdennes@gmail.com",
|
||||||
|
"nschonni@gmail.com",
|
||||||
|
"patrick@bittorrent.com",
|
||||||
|
"punchagan@muse-amuse.in",
|
||||||
|
"dev+narwen+rkh@rkh.im",
|
||||||
"tim@spork.in",
|
"tim@spork.in",
|
||||||
"patrick@bittorrent.com"
|
"e@zzak.io"
|
||||||
]
|
]
|
||||||
|
|
||||||
s.files = [
|
s.files = [
|
||||||
|
@ -58,8 +66,6 @@ Gem::Specification.new do |s|
|
||||||
"config/nginx.conf.erb",
|
"config/nginx.conf.erb",
|
||||||
"config/puma-config.rb",
|
"config/puma-config.rb",
|
||||||
"config/unicorn.rb",
|
"config/unicorn.rb",
|
||||||
"docs/00_overview.md",
|
|
||||||
"docs/01_cross_origin.md",
|
|
||||||
"lib/tasks/build_update_branch.rake",
|
"lib/tasks/build_update_branch.rake",
|
||||||
"lib/tasks/build_update_pull_request_data.rake",
|
"lib/tasks/build_update_pull_request_data.rake",
|
||||||
"lib/tasks/encyrpt_all_data.rake",
|
"lib/tasks/encyrpt_all_data.rake",
|
||||||
|
@ -74,15 +80,15 @@ Gem::Specification.new do |s|
|
||||||
"lib/travis/api/app/endpoint/broadcasts.rb",
|
"lib/travis/api/app/endpoint/broadcasts.rb",
|
||||||
"lib/travis/api/app/endpoint/builds.rb",
|
"lib/travis/api/app/endpoint/builds.rb",
|
||||||
"lib/travis/api/app/endpoint/documentation.rb",
|
"lib/travis/api/app/endpoint/documentation.rb",
|
||||||
"lib/travis/api/app/endpoint/documentation/css/style.css",
|
|
||||||
"lib/travis/api/app/endpoint/documentation/resources.rb",
|
|
||||||
"lib/travis/api/app/endpoint/endpoints.rb",
|
"lib/travis/api/app/endpoint/endpoints.rb",
|
||||||
"lib/travis/api/app/endpoint/home.rb",
|
"lib/travis/api/app/endpoint/home.rb",
|
||||||
"lib/travis/api/app/endpoint/hooks.rb",
|
"lib/travis/api/app/endpoint/hooks.rb",
|
||||||
"lib/travis/api/app/endpoint/jobs.rb",
|
"lib/travis/api/app/endpoint/jobs.rb",
|
||||||
|
"lib/travis/api/app/endpoint/lint.rb",
|
||||||
"lib/travis/api/app/endpoint/logs.rb",
|
"lib/travis/api/app/endpoint/logs.rb",
|
||||||
"lib/travis/api/app/endpoint/repos.rb",
|
"lib/travis/api/app/endpoint/repos.rb",
|
||||||
"lib/travis/api/app/endpoint/requests.rb",
|
"lib/travis/api/app/endpoint/requests.rb",
|
||||||
|
"lib/travis/api/app/endpoint/setting_endpoint.rb",
|
||||||
"lib/travis/api/app/endpoint/uptime.rb",
|
"lib/travis/api/app/endpoint/uptime.rb",
|
||||||
"lib/travis/api/app/endpoint/users.rb",
|
"lib/travis/api/app/endpoint/users.rb",
|
||||||
"lib/travis/api/app/extensions.rb",
|
"lib/travis/api/app/extensions.rb",
|
||||||
|
@ -104,24 +110,61 @@ Gem::Specification.new do |s|
|
||||||
"lib/travis/api/app/middleware/scope_check.rb",
|
"lib/travis/api/app/middleware/scope_check.rb",
|
||||||
"lib/travis/api/app/responders.rb",
|
"lib/travis/api/app/responders.rb",
|
||||||
"lib/travis/api/app/responders/atom.rb",
|
"lib/travis/api/app/responders/atom.rb",
|
||||||
|
"lib/travis/api/app/responders/badge.rb",
|
||||||
"lib/travis/api/app/responders/base.rb",
|
"lib/travis/api/app/responders/base.rb",
|
||||||
"lib/travis/api/app/responders/image.rb",
|
"lib/travis/api/app/responders/image.rb",
|
||||||
"lib/travis/api/app/responders/json.rb",
|
"lib/travis/api/app/responders/json.rb",
|
||||||
"lib/travis/api/app/responders/plain.rb",
|
"lib/travis/api/app/responders/plain.rb",
|
||||||
"lib/travis/api/app/responders/service.rb",
|
"lib/travis/api/app/responders/service.rb",
|
||||||
"lib/travis/api/app/responders/xml.rb",
|
"lib/travis/api/app/responders/xml.rb",
|
||||||
|
"lib/travis/api/app/skylight/dalli_probe.rb",
|
||||||
|
"lib/travis/api/app/skylight/redis_probe.rb",
|
||||||
|
"lib/travis/api/app/skylight/service_probe.rb",
|
||||||
|
"lib/travis/api/serializer.rb",
|
||||||
|
"lib/travis/api/v2.rb",
|
||||||
|
"lib/travis/api/v2/http.rb",
|
||||||
|
"lib/travis/api/v2/http/accounts.rb",
|
||||||
|
"lib/travis/api/v2/http/annotations.rb",
|
||||||
|
"lib/travis/api/v2/http/branch.rb",
|
||||||
|
"lib/travis/api/v2/http/branches.rb",
|
||||||
|
"lib/travis/api/v2/http/broadcasts.rb",
|
||||||
|
"lib/travis/api/v2/http/build.rb",
|
||||||
|
"lib/travis/api/v2/http/builds.rb",
|
||||||
|
"lib/travis/api/v2/http/caches.rb",
|
||||||
|
"lib/travis/api/v2/http/error.rb",
|
||||||
|
"lib/travis/api/v2/http/hooks.rb",
|
||||||
|
"lib/travis/api/v2/http/job.rb",
|
||||||
|
"lib/travis/api/v2/http/jobs.rb",
|
||||||
|
"lib/travis/api/v2/http/log.rb",
|
||||||
|
"lib/travis/api/v2/http/permissions.rb",
|
||||||
|
"lib/travis/api/v2/http/repositories.rb",
|
||||||
|
"lib/travis/api/v2/http/repository.rb",
|
||||||
|
"lib/travis/api/v2/http/request.rb",
|
||||||
|
"lib/travis/api/v2/http/requests.rb",
|
||||||
|
"lib/travis/api/v2/http/ssh_key.rb",
|
||||||
|
"lib/travis/api/v2/http/ssh_keys.rb",
|
||||||
|
"lib/travis/api/v2/http/ssl_key.rb",
|
||||||
|
"lib/travis/api/v2/http/user.rb",
|
||||||
|
"lib/travis/api/v2/http/validation_error.rb",
|
||||||
"public/favicon.ico",
|
"public/favicon.ico",
|
||||||
"public/images/result/error.png",
|
"public/images/result/error.png",
|
||||||
|
"public/images/result/error.svg",
|
||||||
"public/images/result/failing.png",
|
"public/images/result/failing.png",
|
||||||
|
"public/images/result/failing.svg",
|
||||||
"public/images/result/passing.png",
|
"public/images/result/passing.png",
|
||||||
|
"public/images/result/passing.svg",
|
||||||
"public/images/result/pending.png",
|
"public/images/result/pending.png",
|
||||||
|
"public/images/result/pending.svg",
|
||||||
"public/images/result/unknown.png",
|
"public/images/result/unknown.png",
|
||||||
|
"public/images/result/unknown.svg",
|
||||||
"script/console",
|
"script/console",
|
||||||
"script/server",
|
"script/server",
|
||||||
|
"set_up_travis_logs.sh",
|
||||||
"spec/integration/formats_handling_spec.rb",
|
"spec/integration/formats_handling_spec.rb",
|
||||||
"spec/integration/responders_spec.rb",
|
"spec/integration/responders_spec.rb",
|
||||||
"spec/integration/routes.backup.rb",
|
"spec/integration/routes.backup.rb",
|
||||||
"spec/integration/scopes_spec.rb",
|
"spec/integration/scopes_spec.rb",
|
||||||
|
"spec/integration/settings_endpoint_spec.rb",
|
||||||
"spec/integration/uptime_spec.rb",
|
"spec/integration/uptime_spec.rb",
|
||||||
"spec/integration/v1/branches_spec.rb",
|
"spec/integration/v1/branches_spec.rb",
|
||||||
"spec/integration/v1/builds_spec.rb",
|
"spec/integration/v1/builds_spec.rb",
|
||||||
|
@ -134,12 +177,33 @@ Gem::Specification.new do |s|
|
||||||
"spec/integration/v2/hooks_spec.rb",
|
"spec/integration/v2/hooks_spec.rb",
|
||||||
"spec/integration/v2/jobs_spec.rb",
|
"spec/integration/v2/jobs_spec.rb",
|
||||||
"spec/integration/v2/repositories_spec.rb",
|
"spec/integration/v2/repositories_spec.rb",
|
||||||
|
"spec/integration/v2/requests_spec.rb",
|
||||||
"spec/integration/v2/users_spec.rb",
|
"spec/integration/v2/users_spec.rb",
|
||||||
"spec/integration/v2_spec.backup.rb",
|
"spec/integration/v2_spec.backup.rb",
|
||||||
"spec/integration/version_spec.rb",
|
"spec/integration/version_spec.rb",
|
||||||
"spec/spec_helper.rb",
|
"spec/spec_helper.rb",
|
||||||
|
"spec/support/formats.rb",
|
||||||
"spec/support/matchers.rb",
|
"spec/support/matchers.rb",
|
||||||
"spec/unit/access_token_spec.rb",
|
"spec/unit/access_token_spec.rb",
|
||||||
|
"spec/unit/api/v2/http/accounts_spec.rb",
|
||||||
|
"spec/unit/api/v2/http/annotations_spec.rb",
|
||||||
|
"spec/unit/api/v2/http/branch_spec.rb",
|
||||||
|
"spec/unit/api/v2/http/branches_spec.rb",
|
||||||
|
"spec/unit/api/v2/http/broadcasts_spec.rb",
|
||||||
|
"spec/unit/api/v2/http/build_spec.rb",
|
||||||
|
"spec/unit/api/v2/http/builds_spec.rb",
|
||||||
|
"spec/unit/api/v2/http/caches_spec.rb",
|
||||||
|
"spec/unit/api/v2/http/hooks_spec.rb",
|
||||||
|
"spec/unit/api/v2/http/job_spec.rb",
|
||||||
|
"spec/unit/api/v2/http/jobs_spec.rb",
|
||||||
|
"spec/unit/api/v2/http/log_spec.rb",
|
||||||
|
"spec/unit/api/v2/http/permissions_spec.rb",
|
||||||
|
"spec/unit/api/v2/http/repositories_spec.rb",
|
||||||
|
"spec/unit/api/v2/http/repository_spec.rb",
|
||||||
|
"spec/unit/api/v2/http/request_spec.rb",
|
||||||
|
"spec/unit/api/v2/http/requests_spec.rb",
|
||||||
|
"spec/unit/api/v2/http/ssl_key_spec.rb",
|
||||||
|
"spec/unit/api/v2/http/user_spec.rb",
|
||||||
"spec/unit/app_spec.rb",
|
"spec/unit/app_spec.rb",
|
||||||
"spec/unit/cors_spec.rb",
|
"spec/unit/cors_spec.rb",
|
||||||
"spec/unit/default_spec.rb",
|
"spec/unit/default_spec.rb",
|
||||||
|
@ -148,10 +212,11 @@ Gem::Specification.new do |s|
|
||||||
"spec/unit/endpoint/authorization_spec.rb",
|
"spec/unit/endpoint/authorization_spec.rb",
|
||||||
"spec/unit/endpoint/branches_spec.rb",
|
"spec/unit/endpoint/branches_spec.rb",
|
||||||
"spec/unit/endpoint/builds_spec.rb",
|
"spec/unit/endpoint/builds_spec.rb",
|
||||||
"spec/unit/endpoint/documentation_spec.rb",
|
|
||||||
"spec/unit/endpoint/endpoints_spec.rb",
|
"spec/unit/endpoint/endpoints_spec.rb",
|
||||||
"spec/unit/endpoint/hooks_spec.rb",
|
"spec/unit/endpoint/hooks_spec.rb",
|
||||||
"spec/unit/endpoint/jobs_spec.rb",
|
"spec/unit/endpoint/jobs_spec.rb",
|
||||||
|
"spec/unit/endpoint/lint_spec.rb",
|
||||||
|
"spec/unit/endpoint/logs_spec.rb",
|
||||||
"spec/unit/endpoint/repos_spec.rb",
|
"spec/unit/endpoint/repos_spec.rb",
|
||||||
"spec/unit/endpoint/users_spec.rb",
|
"spec/unit/endpoint/users_spec.rb",
|
||||||
"spec/unit/endpoint_spec.rb",
|
"spec/unit/endpoint_spec.rb",
|
||||||
|
@ -165,6 +230,7 @@ Gem::Specification.new do |s|
|
||||||
"spec/unit/middleware/scope_check_spec.rb",
|
"spec/unit/middleware/scope_check_spec.rb",
|
||||||
"spec/unit/responders/json_spec.rb",
|
"spec/unit/responders/json_spec.rb",
|
||||||
"spec/unit/responders/service_spec.rb",
|
"spec/unit/responders/service_spec.rb",
|
||||||
|
"tmp/.gitkeep",
|
||||||
"travis-api.gemspec"
|
"travis-api.gemspec"
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user