Revert "Removes the unused travis-core v0 code"
This reverts commit a68c0028d8e8dfb4a0e7f965e57fbc9e8686ba86.
This commit is contained in:
parent
56a59e4cc3
commit
2624bd9e72
1
vendor/travis-core/lib/travis/api.rb
vendored
1
vendor/travis-core/lib/travis/api.rb
vendored
|
@ -1,6 +1,7 @@
|
|||
module Travis
|
||||
module Api
|
||||
require 'travis/api/formats'
|
||||
require 'travis/api/v0'
|
||||
require 'travis/api/v1'
|
||||
require 'travis/api/v2'
|
||||
|
||||
|
|
|
@ -1,6 +1,10 @@
|
|||
This directory contains serializers for events and models.
|
||||
|
||||
- `v0/event`: Payloads used by [`Travis::Event::Handler`](../event/handler.rb). These are the payloads that the [addons](../addons) will get.
|
||||
- `v0/pusher`: Payloads used to send events to the web UI using Pusher.
|
||||
- `v0/worker`: Payloads sent to [travis-worker](https://github.com/travis-ci/travis-worker).
|
||||
|
||||
- `v1/http`: Payloads for the v1 [API](https://github.com/travis-ci/travis-api).
|
||||
- `v1/webhook`: Payloads for the webhook notifications.
|
||||
|
||||
- `v2/http`: Payloads for the v2 [API](https://github.com/travis-ci/travis-api).
|
||||
- `v2/http`: Payloads for the v2 [API](https://github.com/travis-ci/travis-api).
|
11
vendor/travis-core/lib/travis/api/v0.rb
vendored
Normal file
11
vendor/travis-core/lib/travis/api/v0.rb
vendored
Normal file
|
@ -0,0 +1,11 @@
|
|||
module Travis
|
||||
module Api
|
||||
# V0 is an internal api that we can change at any time
|
||||
module V0
|
||||
require 'travis/api/v0/event'
|
||||
require 'travis/api/v0/notification'
|
||||
require 'travis/api/v0/pusher'
|
||||
require 'travis/api/v0/worker'
|
||||
end
|
||||
end
|
||||
end
|
12
vendor/travis-core/lib/travis/api/v0/event.rb
vendored
Normal file
12
vendor/travis-core/lib/travis/api/v0/event.rb
vendored
Normal file
|
@ -0,0 +1,12 @@
|
|||
module Travis
|
||||
module Api
|
||||
module V0
|
||||
module Event
|
||||
require 'travis/api/v0/event/build'
|
||||
require 'travis/api/v0/event/job'
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
95
vendor/travis-core/lib/travis/api/v0/event/build.rb
vendored
Normal file
95
vendor/travis-core/lib/travis/api/v0/event/build.rb
vendored
Normal file
|
@ -0,0 +1,95 @@
|
|||
module Travis
|
||||
module Api
|
||||
module V0
|
||||
module Event
|
||||
class Build
|
||||
include Formats
|
||||
|
||||
attr_reader :build, :repository, :request, :commit, :options
|
||||
|
||||
def initialize(build, options = {})
|
||||
@build = build
|
||||
@repository = build.repository
|
||||
@request = build.request
|
||||
@commit = build.commit
|
||||
# @options = options
|
||||
end
|
||||
|
||||
def data(extra = {})
|
||||
{
|
||||
'repository' => repository_data,
|
||||
'request' => request_data,
|
||||
'commit' => commit_data,
|
||||
'build' => build_data,
|
||||
'jobs' => build.matrix.map { |job| job_data(job) }
|
||||
}
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def build_data
|
||||
{
|
||||
'id' => build.id,
|
||||
'repository_id' => build.repository_id,
|
||||
'commit_id' => build.commit_id,
|
||||
'number' => build.number,
|
||||
'pull_request' => build.pull_request?,
|
||||
'pull_request_number' => build.pull_request_number,
|
||||
'config' => build.config.try(:except, :source_key),
|
||||
'state' => build.state.to_s,
|
||||
'previous_state' => build.previous_state.to_s,
|
||||
'started_at' => format_date(build.started_at),
|
||||
'finished_at' => format_date(build.finished_at),
|
||||
'duration' => build.duration,
|
||||
'job_ids' => build.matrix_ids
|
||||
}
|
||||
end
|
||||
|
||||
def repository_data
|
||||
{
|
||||
'id' => repository.id,
|
||||
'key' => repository.key.try(:public_key),
|
||||
'slug' => repository.slug,
|
||||
'name' => repository.name,
|
||||
'owner_email' => repository.owner_email,
|
||||
'owner_avatar_url' => repository.owner.try(:avatar_url)
|
||||
}
|
||||
end
|
||||
|
||||
def request_data
|
||||
{
|
||||
'token' => request.token,
|
||||
'head_commit' => (request.head_commit || '')
|
||||
}
|
||||
end
|
||||
|
||||
def commit_data
|
||||
{
|
||||
'id' => commit.id,
|
||||
'sha' => commit.commit,
|
||||
'branch' => commit.branch,
|
||||
'message' => commit.message,
|
||||
'committed_at' => format_date(commit.committed_at),
|
||||
'author_name' => commit.author_name,
|
||||
'author_email' => commit.author_email,
|
||||
'committer_name' => commit.committer_name,
|
||||
'committer_email' => commit.committer_email,
|
||||
'compare_url' => commit.compare_url,
|
||||
}
|
||||
end
|
||||
|
||||
def job_data(job)
|
||||
{
|
||||
'id' => job.id,
|
||||
'number' => job.number,
|
||||
'state' => job.state.to_s,
|
||||
'tags' => job.tags
|
||||
}
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
38
vendor/travis-core/lib/travis/api/v0/event/job.rb
vendored
Normal file
38
vendor/travis-core/lib/travis/api/v0/event/job.rb
vendored
Normal file
|
@ -0,0 +1,38 @@
|
|||
module Travis
|
||||
module Api
|
||||
module V0
|
||||
module Event
|
||||
class Job
|
||||
include Formats
|
||||
|
||||
attr_reader :job
|
||||
|
||||
def initialize(job, options = {})
|
||||
@job = job
|
||||
# @options = options
|
||||
end
|
||||
|
||||
def data(extra = {})
|
||||
{
|
||||
'job' => job_data,
|
||||
}
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def job_data
|
||||
{
|
||||
'queue' => job.queue,
|
||||
'created_at' => job.created_at,
|
||||
'started_at' => job.started_at,
|
||||
'finished_at' => job.finished_at,
|
||||
}
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
|
12
vendor/travis-core/lib/travis/api/v0/notification.rb
vendored
Normal file
12
vendor/travis-core/lib/travis/api/v0/notification.rb
vendored
Normal file
|
@ -0,0 +1,12 @@
|
|||
module Travis
|
||||
module Api
|
||||
module V0
|
||||
module Notification
|
||||
require 'travis/api/v0/notification/build'
|
||||
require 'travis/api/v0/notification/repository'
|
||||
require 'travis/api/v0/notification/user'
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
28
vendor/travis-core/lib/travis/api/v0/notification/build.rb
vendored
Normal file
28
vendor/travis-core/lib/travis/api/v0/notification/build.rb
vendored
Normal file
|
@ -0,0 +1,28 @@
|
|||
module Travis
|
||||
module Api
|
||||
module V0
|
||||
module Notification
|
||||
class Build
|
||||
attr_reader :build
|
||||
|
||||
def initialize(build, options = {})
|
||||
@build = build
|
||||
end
|
||||
|
||||
def data
|
||||
{
|
||||
'build' => build_data
|
||||
}
|
||||
end
|
||||
|
||||
def build_data
|
||||
{
|
||||
'id' => build.id
|
||||
}
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
28
vendor/travis-core/lib/travis/api/v0/notification/repository.rb
vendored
Normal file
28
vendor/travis-core/lib/travis/api/v0/notification/repository.rb
vendored
Normal file
|
@ -0,0 +1,28 @@
|
|||
module Travis
|
||||
module Api
|
||||
module V0
|
||||
module Notification
|
||||
class Repository
|
||||
attr_reader :repository
|
||||
|
||||
def initialize(repository, options = {})
|
||||
@repository = repository
|
||||
end
|
||||
|
||||
def data
|
||||
{
|
||||
'repository' => repository_data
|
||||
}
|
||||
end
|
||||
|
||||
def repository_data
|
||||
{
|
||||
'id' => repository.id,
|
||||
'slug' => repository.slug
|
||||
}
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
28
vendor/travis-core/lib/travis/api/v0/notification/user.rb
vendored
Normal file
28
vendor/travis-core/lib/travis/api/v0/notification/user.rb
vendored
Normal file
|
@ -0,0 +1,28 @@
|
|||
module Travis
|
||||
module Api
|
||||
module V0
|
||||
module Notification
|
||||
class User
|
||||
attr_reader :user
|
||||
|
||||
def initialize(user, options = {})
|
||||
@user = user
|
||||
end
|
||||
|
||||
def data
|
||||
{
|
||||
'user' => user_data
|
||||
}
|
||||
end
|
||||
|
||||
def user_data
|
||||
{
|
||||
'id' => user.id,
|
||||
'login' => user.login
|
||||
}
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
11
vendor/travis-core/lib/travis/api/v0/pusher.rb
vendored
Normal file
11
vendor/travis-core/lib/travis/api/v0/pusher.rb
vendored
Normal file
|
@ -0,0 +1,11 @@
|
|||
module Travis
|
||||
module Api
|
||||
module V0
|
||||
module Pusher
|
||||
require 'travis/api/v0/pusher/annotation'
|
||||
require 'travis/api/v0/pusher/build'
|
||||
require 'travis/api/v0/pusher/job'
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
33
vendor/travis-core/lib/travis/api/v0/pusher/annotation.rb
vendored
Normal file
33
vendor/travis-core/lib/travis/api/v0/pusher/annotation.rb
vendored
Normal file
|
@ -0,0 +1,33 @@
|
|||
module Travis
|
||||
module Api
|
||||
module V0
|
||||
module Pusher
|
||||
class Annotation
|
||||
require 'travis/api/v0/pusher/annotation/created'
|
||||
require 'travis/api/v0/pusher/annotation/updated'
|
||||
|
||||
include Formats
|
||||
|
||||
attr_reader :annotation
|
||||
|
||||
def initialize(annotation, options = {})
|
||||
@annotation = annotation
|
||||
end
|
||||
|
||||
def data
|
||||
{
|
||||
"annotation" => {
|
||||
"id" => annotation.id,
|
||||
"job_id" => annotation.job_id,
|
||||
"description" => annotation.description,
|
||||
"url" => annotation.url,
|
||||
"status" => annotation.status,
|
||||
"provider_name" => annotation.annotation_provider.name,
|
||||
}
|
||||
}
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
12
vendor/travis-core/lib/travis/api/v0/pusher/annotation/created.rb
vendored
Normal file
12
vendor/travis-core/lib/travis/api/v0/pusher/annotation/created.rb
vendored
Normal file
|
@ -0,0 +1,12 @@
|
|||
module Travis
|
||||
module Api
|
||||
module V0
|
||||
module Pusher
|
||||
class Annotation
|
||||
class Created < Annotation
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
12
vendor/travis-core/lib/travis/api/v0/pusher/annotation/updated.rb
vendored
Normal file
12
vendor/travis-core/lib/travis/api/v0/pusher/annotation/updated.rb
vendored
Normal file
|
@ -0,0 +1,12 @@
|
|||
module Travis
|
||||
module Api
|
||||
module V0
|
||||
module Pusher
|
||||
class Annotation
|
||||
class Updated < Annotation
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
111
vendor/travis-core/lib/travis/api/v0/pusher/build.rb
vendored
Normal file
111
vendor/travis-core/lib/travis/api/v0/pusher/build.rb
vendored
Normal file
|
@ -0,0 +1,111 @@
|
|||
module Travis
|
||||
module Api
|
||||
module V0
|
||||
module Pusher
|
||||
class Build
|
||||
require 'travis/api/v0/pusher/build/canceled'
|
||||
require 'travis/api/v0/pusher/build/created'
|
||||
require 'travis/api/v0/pusher/build/received'
|
||||
require 'travis/api/v0/pusher/build/started'
|
||||
require 'travis/api/v0/pusher/build/finished'
|
||||
|
||||
include Formats
|
||||
|
||||
attr_reader :build, :options
|
||||
|
||||
def initialize(build, options = {})
|
||||
@build = build
|
||||
@options = options
|
||||
end
|
||||
|
||||
def data
|
||||
{
|
||||
'build' => build_data(build),
|
||||
'commit' => commit_data(build.commit),
|
||||
'repository' => repository_data(build.repository)
|
||||
}
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def build_data(build)
|
||||
commit = build.commit
|
||||
{
|
||||
'id' => build.id,
|
||||
'repository_id' => build.repository_id,
|
||||
'commit_id' => build.commit_id,
|
||||
'number' => build.number,
|
||||
'pull_request' => build.pull_request?,
|
||||
'pull_request_title' => build.pull_request_title,
|
||||
'pull_request_number' => build.pull_request_number,
|
||||
'state' => build.state.to_s,
|
||||
'started_at' => format_date(build.started_at),
|
||||
'finished_at' => format_date(build.finished_at),
|
||||
'duration' => build.duration,
|
||||
'job_ids' => build.matrix_ids,
|
||||
'event_type' => build.event_type,
|
||||
|
||||
# this is a legacy thing, we should think about removing it
|
||||
'commit' => commit.commit,
|
||||
'branch' => commit.branch,
|
||||
'message' => commit.message,
|
||||
'compare_url' => commit.compare_url,
|
||||
'committed_at' => format_date(commit.committed_at),
|
||||
'author_name' => commit.author_name,
|
||||
'author_email' => commit.author_email,
|
||||
'committer_name' => commit.committer_name,
|
||||
'committer_email' => commit.committer_email
|
||||
}
|
||||
end
|
||||
|
||||
def commit_data(commit)
|
||||
{
|
||||
'id' => commit.id,
|
||||
'sha' => commit.commit,
|
||||
'branch' => commit.branch,
|
||||
'message' => commit.message,
|
||||
'committed_at' => format_date(commit.committed_at),
|
||||
'author_name' => commit.author_name,
|
||||
'author_email' => commit.author_email,
|
||||
'committer_name' => commit.committer_name,
|
||||
'committer_email' => commit.committer_email,
|
||||
'compare_url' => commit.compare_url,
|
||||
}
|
||||
end
|
||||
|
||||
def repository_data(repository)
|
||||
{
|
||||
'id' => repository.id,
|
||||
'slug' => repository.slug,
|
||||
'description' => repository.description,
|
||||
'private' => repository.private,
|
||||
'last_build_id' => repository.last_build_id,
|
||||
'last_build_number' => repository.last_build_number,
|
||||
'last_build_state' => repository.last_build_state.to_s,
|
||||
'last_build_duration' => repository.last_build_duration,
|
||||
'last_build_language' => nil,
|
||||
'last_build_started_at' => format_date(repository.last_build_started_at),
|
||||
'last_build_finished_at' => format_date(repository.last_build_finished_at),
|
||||
'github_language' => repository.github_language,
|
||||
'default_branch' => {
|
||||
'name' => repository.default_branch,
|
||||
'last_build_id' => last_build_on_default_branch_id(repository)
|
||||
},
|
||||
'active' => repository.active,
|
||||
'current_build_id' => repository.current_build_id
|
||||
}
|
||||
end
|
||||
|
||||
def last_build_on_default_branch_id(repository)
|
||||
default_branch = Branch.where(repository_id: repository.id, name: repository.default_branch).first
|
||||
|
||||
if default_branch
|
||||
default_branch.last_build_id
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
12
vendor/travis-core/lib/travis/api/v0/pusher/build/canceled.rb
vendored
Normal file
12
vendor/travis-core/lib/travis/api/v0/pusher/build/canceled.rb
vendored
Normal file
|
@ -0,0 +1,12 @@
|
|||
module Travis
|
||||
module Api
|
||||
module V0
|
||||
module Pusher
|
||||
class Build
|
||||
class Canceled < Build
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
15
vendor/travis-core/lib/travis/api/v0/pusher/build/created.rb
vendored
Normal file
15
vendor/travis-core/lib/travis/api/v0/pusher/build/created.rb
vendored
Normal file
|
@ -0,0 +1,15 @@
|
|||
require 'travis/api/v1'
|
||||
|
||||
module Travis
|
||||
module Api
|
||||
module V0
|
||||
module Pusher
|
||||
class Build
|
||||
class Created < Build
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
14
vendor/travis-core/lib/travis/api/v0/pusher/build/finished.rb
vendored
Normal file
14
vendor/travis-core/lib/travis/api/v0/pusher/build/finished.rb
vendored
Normal file
|
@ -0,0 +1,14 @@
|
|||
module Travis
|
||||
module Api
|
||||
module V0
|
||||
module Pusher
|
||||
class Build
|
||||
class Finished < Build
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
12
vendor/travis-core/lib/travis/api/v0/pusher/build/received.rb
vendored
Normal file
12
vendor/travis-core/lib/travis/api/v0/pusher/build/received.rb
vendored
Normal file
|
@ -0,0 +1,12 @@
|
|||
module Travis
|
||||
module Api
|
||||
module V0
|
||||
module Pusher
|
||||
class Build
|
||||
class Received < Build
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
47
vendor/travis-core/lib/travis/api/v0/pusher/build/received/job.rb
vendored
Normal file
47
vendor/travis-core/lib/travis/api/v0/pusher/build/received/job.rb
vendored
Normal file
|
@ -0,0 +1,47 @@
|
|||
module Travis
|
||||
module Api
|
||||
module V0
|
||||
module Pusher
|
||||
class Build
|
||||
class Received < Build
|
||||
class Job
|
||||
include Formats, V1::Helpers::Legacy
|
||||
|
||||
attr_reader :job, :commit
|
||||
|
||||
def initialize(job)
|
||||
@job = job
|
||||
@commit = job.commit
|
||||
end
|
||||
|
||||
def data
|
||||
{
|
||||
'id' => job.id,
|
||||
'repository_id' => job.repository_id,
|
||||
'repository_private' => repository.private,
|
||||
'parent_id' => job.source_id,
|
||||
'number' => job.number,
|
||||
'state' => job.state.to_s,
|
||||
'result' => legacy_job_result(job),
|
||||
'config' => job.obfuscated_config,
|
||||
'commit' => commit.commit,
|
||||
'branch' => commit.branch,
|
||||
'message' => commit.message,
|
||||
'compare_url' => commit.compare_url,
|
||||
'started_at' => format_date(job.started_at),
|
||||
'finished_at' => format_date(job.finished_at),
|
||||
'committed_at' => format_date(commit.committed_at),
|
||||
'author_name' => commit.author_name,
|
||||
'author_email' => commit.author_email,
|
||||
'committer_name' => commit.committer_name,
|
||||
'committer_email' => commit.committer_email,
|
||||
'allow_failure' => job.allow_failure
|
||||
}
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
13
vendor/travis-core/lib/travis/api/v0/pusher/build/started.rb
vendored
Normal file
13
vendor/travis-core/lib/travis/api/v0/pusher/build/started.rb
vendored
Normal file
|
@ -0,0 +1,13 @@
|
|||
module Travis
|
||||
module Api
|
||||
module V0
|
||||
module Pusher
|
||||
class Build
|
||||
class Started < Build
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
47
vendor/travis-core/lib/travis/api/v0/pusher/build/started/job.rb
vendored
Normal file
47
vendor/travis-core/lib/travis/api/v0/pusher/build/started/job.rb
vendored
Normal file
|
@ -0,0 +1,47 @@
|
|||
module Travis
|
||||
module Api
|
||||
module V0
|
||||
module Pusher
|
||||
class Build
|
||||
class Started < Build
|
||||
class Job
|
||||
include Formats, V1::Helpers::Legacy
|
||||
|
||||
attr_reader :job, :commit
|
||||
|
||||
def initialize(job)
|
||||
@job = job
|
||||
@commit = job.commit
|
||||
end
|
||||
|
||||
def data
|
||||
{
|
||||
'id' => job.id,
|
||||
'repository_id' => job.repository_id,
|
||||
'repository_private' => repository.private,
|
||||
'parent_id' => job.source_id,
|
||||
'number' => job.number,
|
||||
'state' => job.state.to_s,
|
||||
'result' => legacy_job_result(job),
|
||||
'config' => job.obfuscated_config,
|
||||
'commit' => commit.commit,
|
||||
'branch' => commit.branch,
|
||||
'message' => commit.message,
|
||||
'compare_url' => commit.compare_url,
|
||||
'started_at' => format_date(job.started_at),
|
||||
'finished_at' => format_date(job.finished_at),
|
||||
'committed_at' => format_date(commit.committed_at),
|
||||
'author_name' => commit.author_name,
|
||||
'author_email' => commit.author_email,
|
||||
'committer_name' => commit.committer_name,
|
||||
'committer_email' => commit.committer_email,
|
||||
'allow_failure' => job.allow_failure
|
||||
}
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
67
vendor/travis-core/lib/travis/api/v0/pusher/job.rb
vendored
Normal file
67
vendor/travis-core/lib/travis/api/v0/pusher/job.rb
vendored
Normal file
|
@ -0,0 +1,67 @@
|
|||
module Travis
|
||||
module Api
|
||||
module V0
|
||||
module Pusher
|
||||
class Job
|
||||
require 'travis/api/v0/pusher/job/canceled'
|
||||
require 'travis/api/v0/pusher/job/created'
|
||||
require 'travis/api/v0/pusher/job/log'
|
||||
require 'travis/api/v0/pusher/job/received'
|
||||
require 'travis/api/v0/pusher/job/started'
|
||||
require 'travis/api/v0/pusher/job/finished'
|
||||
|
||||
include Formats
|
||||
|
||||
attr_reader :job, :options
|
||||
|
||||
def initialize(job, options = {})
|
||||
@job = job
|
||||
@options = options
|
||||
end
|
||||
|
||||
def data
|
||||
job_data(job).merge(
|
||||
'commit' => commit_data(job.commit)
|
||||
)
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def job_data(job)
|
||||
{
|
||||
'id' => job.id,
|
||||
'repository_id' => job.repository_id,
|
||||
'repository_slug' => job.repository.slug,
|
||||
'repository_private' => job.repository.private,
|
||||
'build_id' => job.source_id,
|
||||
'commit_id' => job.commit_id,
|
||||
'log_id' => job.log_id,
|
||||
'number' => job.number,
|
||||
'state' => job.state.to_s,
|
||||
'started_at' => format_date(job.started_at),
|
||||
'finished_at' => format_date(job.finished_at),
|
||||
'queue' => job.queue,
|
||||
'allow_failure' => job.allow_failure,
|
||||
'annotation_ids' => job.annotation_ids
|
||||
}
|
||||
end
|
||||
|
||||
def commit_data(commit)
|
||||
{
|
||||
'id' => commit.id,
|
||||
'sha' => commit.commit,
|
||||
'branch' => commit.branch,
|
||||
'message' => commit.message,
|
||||
'committed_at' => format_date(commit.committed_at),
|
||||
'author_name' => commit.author_name,
|
||||
'author_email' => commit.author_email,
|
||||
'committer_name' => commit.committer_name,
|
||||
'committer_email' => commit.committer_email,
|
||||
'compare_url' => commit.compare_url,
|
||||
}
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
12
vendor/travis-core/lib/travis/api/v0/pusher/job/canceled.rb
vendored
Normal file
12
vendor/travis-core/lib/travis/api/v0/pusher/job/canceled.rb
vendored
Normal file
|
@ -0,0 +1,12 @@
|
|||
module Travis
|
||||
module Api
|
||||
module V0
|
||||
module Pusher
|
||||
class Job
|
||||
class Canceled < Job
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
12
vendor/travis-core/lib/travis/api/v0/pusher/job/created.rb
vendored
Normal file
12
vendor/travis-core/lib/travis/api/v0/pusher/job/created.rb
vendored
Normal file
|
@ -0,0 +1,12 @@
|
|||
module Travis
|
||||
module Api
|
||||
module V0
|
||||
module Pusher
|
||||
class Job
|
||||
class Created < Job
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
12
vendor/travis-core/lib/travis/api/v0/pusher/job/finished.rb
vendored
Normal file
12
vendor/travis-core/lib/travis/api/v0/pusher/job/finished.rb
vendored
Normal file
|
@ -0,0 +1,12 @@
|
|||
module Travis
|
||||
module Api
|
||||
module V0
|
||||
module Pusher
|
||||
class Job
|
||||
class Finished < Job
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
31
vendor/travis-core/lib/travis/api/v0/pusher/job/log.rb
vendored
Normal file
31
vendor/travis-core/lib/travis/api/v0/pusher/job/log.rb
vendored
Normal file
|
@ -0,0 +1,31 @@
|
|||
module Travis
|
||||
module Api
|
||||
module V0
|
||||
module Pusher
|
||||
class Job
|
||||
class Log
|
||||
attr_reader :job, :options
|
||||
|
||||
def initialize(job, options = {})
|
||||
@job = job
|
||||
@options = options
|
||||
end
|
||||
|
||||
def data
|
||||
{
|
||||
'id' => job.id,
|
||||
'build_id' => job.source_id,
|
||||
'repository_id' => job.repository_id,
|
||||
'repository_private' => repository.private,
|
||||
'_log' => options[:_log],
|
||||
'number' => options[:number],
|
||||
'final' => options[:final]
|
||||
}
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
12
vendor/travis-core/lib/travis/api/v0/pusher/job/received.rb
vendored
Normal file
12
vendor/travis-core/lib/travis/api/v0/pusher/job/received.rb
vendored
Normal file
|
@ -0,0 +1,12 @@
|
|||
module Travis
|
||||
module Api
|
||||
module V0
|
||||
module Pusher
|
||||
class Job
|
||||
class Received < Job
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
12
vendor/travis-core/lib/travis/api/v0/pusher/job/started.rb
vendored
Normal file
12
vendor/travis-core/lib/travis/api/v0/pusher/job/started.rb
vendored
Normal file
|
@ -0,0 +1,12 @@
|
|||
module Travis
|
||||
module Api
|
||||
module V0
|
||||
module Pusher
|
||||
class Job
|
||||
class Started < Job
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
9
vendor/travis-core/lib/travis/api/v0/worker.rb
vendored
Normal file
9
vendor/travis-core/lib/travis/api/v0/worker.rb
vendored
Normal file
|
@ -0,0 +1,9 @@
|
|||
module Travis
|
||||
module Api
|
||||
module V0
|
||||
module Worker
|
||||
require 'travis/api/v0/worker/job'
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
33
vendor/travis-core/lib/travis/api/v0/worker/job.rb
vendored
Normal file
33
vendor/travis-core/lib/travis/api/v0/worker/job.rb
vendored
Normal file
|
@ -0,0 +1,33 @@
|
|||
module Travis
|
||||
module Api
|
||||
module V0
|
||||
module Worker
|
||||
class Job
|
||||
require 'travis/api/v0/worker/job/test'
|
||||
|
||||
attr_reader :job
|
||||
|
||||
def initialize(job, options = {})
|
||||
@job = job
|
||||
end
|
||||
|
||||
def commit
|
||||
job.commit
|
||||
end
|
||||
|
||||
def repository
|
||||
job.repository
|
||||
end
|
||||
|
||||
def request
|
||||
build.request
|
||||
end
|
||||
|
||||
def build
|
||||
job.source
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
118
vendor/travis-core/lib/travis/api/v0/worker/job/test.rb
vendored
Normal file
118
vendor/travis-core/lib/travis/api/v0/worker/job/test.rb
vendored
Normal file
|
@ -0,0 +1,118 @@
|
|||
module Travis
|
||||
module Api
|
||||
module V0
|
||||
module Worker
|
||||
class Job
|
||||
class Test < Job
|
||||
include Formats
|
||||
|
||||
def data
|
||||
{
|
||||
'type' => 'test',
|
||||
# TODO legacy. remove this once workers respond to a 'job' key
|
||||
'build' => job_data,
|
||||
'job' => job_data,
|
||||
'source' => build_data,
|
||||
'repository' => repository_data,
|
||||
'pull_request' => commit.pull_request? ? pull_request_data : false,
|
||||
'config' => job.decrypted_config,
|
||||
'queue' => job.queue,
|
||||
'uuid' => Travis.uuid,
|
||||
'ssh_key' => ssh_key,
|
||||
'env_vars' => env_vars,
|
||||
'timeouts' => timeouts
|
||||
}
|
||||
end
|
||||
|
||||
def build_data
|
||||
{
|
||||
'id' => build.id,
|
||||
'number' => build.number
|
||||
}
|
||||
end
|
||||
|
||||
def job_data
|
||||
data = {
|
||||
'id' => job.id,
|
||||
'number' => job.number,
|
||||
'commit' => commit.commit,
|
||||
'commit_range' => commit.range,
|
||||
'commit_message' => commit.message,
|
||||
'branch' => commit.branch,
|
||||
'ref' => commit.pull_request? ? commit.ref : nil,
|
||||
'state' => job.state.to_s,
|
||||
'secure_env_enabled' => job.secure_env_enabled?
|
||||
}
|
||||
data['tag'] = request.tag_name if include_tag_name?
|
||||
data['pull_request'] = commit.pull_request? ? commit.pull_request_number : false
|
||||
data
|
||||
end
|
||||
|
||||
def repository_data
|
||||
{
|
||||
'id' => repository.id,
|
||||
'slug' => repository.slug,
|
||||
'github_id' => repository.github_id,
|
||||
'source_url' => repository.source_url,
|
||||
'api_url' => repository.api_url,
|
||||
'last_build_id' => repository.last_build_id,
|
||||
'last_build_number' => repository.last_build_number,
|
||||
'last_build_started_at' => format_date(repository.last_build_started_at),
|
||||
'last_build_finished_at' => format_date(repository.last_build_finished_at),
|
||||
'last_build_duration' => repository.last_build_duration,
|
||||
'last_build_state' => repository.last_build_state.to_s,
|
||||
'description' => repository.description,
|
||||
'default_branch' => repository.default_branch
|
||||
}
|
||||
end
|
||||
|
||||
def pull_request_data
|
||||
{
|
||||
'number' => commit.pull_request_number,
|
||||
'head_repo' => request.head_repo,
|
||||
'base_repo' => request.base_repo,
|
||||
'head_branch' => request.head_branch,
|
||||
'base_branch' => request.base_branch
|
||||
}
|
||||
end
|
||||
|
||||
def ssh_key
|
||||
nil
|
||||
end
|
||||
|
||||
def env_vars
|
||||
vars = settings.env_vars
|
||||
vars = vars.public unless job.secure_env_enabled?
|
||||
|
||||
vars.map do |var|
|
||||
{
|
||||
'name' => var.name,
|
||||
'value' => var.value.decrypt,
|
||||
'public' => var.public
|
||||
}
|
||||
end
|
||||
end
|
||||
|
||||
def timeouts
|
||||
{ 'hard_limit' => timeout(:hard_limit), 'log_silence' => timeout(:log_silence) }
|
||||
end
|
||||
|
||||
def timeout(type)
|
||||
timeout = settings.send(:"timeout_#{type}")
|
||||
timeout = timeout * 60 if timeout # worker handles timeouts in seconds
|
||||
timeout
|
||||
end
|
||||
|
||||
def include_tag_name?
|
||||
Travis.config.include_tag_name_in_worker_payload && request.tag_name.present?
|
||||
end
|
||||
|
||||
def settings
|
||||
repository.settings
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
Loading…
Reference in New Issue
Block a user