Sha256: 795d5b70c54011aa4d2af78d2a06a16a3a7754dee9613b7829a36736b4f861f1
Contents?: true
Size: 1.58 KB
Versions: 5
Compression:
Stored size: 1.58 KB
Contents
class BasicPipeline < PipelineDefinition stage :first def first scm = {} if event.data[:commit] scm[:commit] = event.data[:commit] scm[:branch] = event.data[:branch] scm[:pull_request] = event.data[:pull_request] else latest = project.owner.client.latest_commit(project.repo_name) scm[:commit] = latest[:sha] scm[:branch] = latest[:branch] end create_job( project: project, scm: scm, spec: basic_job_from_file, ) end def basic_job_from_file ci_file = project.owner.client.file(project.repo_name, 'ci.yml') if ci_file spec = {} build = HashWithIndifferentAccess.new(YAML.load(ci_file)) # services are copied directly spec[:services] = build[:services] # turns each key into a section spec[:sections] = [] spec[:sections] << { name: 'setup', fail_on_err: true, commands: build[:setup], on_success: build[:on_success], on_failure: build[:on_failure], } spec[:sections] << { name: 'test', fail_on_err: true, commands: build[:test], on_success: build[:on_success], on_failure: build[:on_failure], } spec[:sections] << { name: 'after', fail_on_err: true, commands: build[:after], } spec else { sections: [ { name: 'test', fail_on_err: true, commands: ['exit 1'], } ] } end end end
Version data entries
5 entries across 5 versions & 1 rubygems