last_green_go_pipeline 1.1.4 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/go_cd/last_green_build_fetcher.rb +17 -8
- data/lib/go_cd/{green_build.rb → stage_run.rb} +3 -2
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3d8f6092b30076f8d0374433c945e07fcea0bc12
|
4
|
+
data.tar.gz: 9a238cfad0e42dfadf7427806fd42aace6af7f59
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a73e3191a24e8f3f884886d32c709c66200befcb8e0535dae4b83c630fd6fd33eb9a1c560e78463a088815c157e6af73aafd464d65f3b086f2f735d9f861540d
|
7
|
+
data.tar.gz: cedce87165e764adb9c39bcd42a5f5bb3fafc3265e2576712560183abcac786dd16916eaea85f65dbda86a614d2e51c5947dffb2db3caaaa797a3e9e89f616be
|
@@ -3,7 +3,7 @@ Bundler.setup
|
|
3
3
|
require 'go_api_client'
|
4
4
|
require 'pstore'
|
5
5
|
require 'benchmark'
|
6
|
-
require_relative '
|
6
|
+
require_relative 'stage_run'
|
7
7
|
|
8
8
|
module GoCD
|
9
9
|
class LastGreenBuildFetcher
|
@@ -21,7 +21,7 @@ module GoCD
|
|
21
21
|
end
|
22
22
|
end
|
23
23
|
|
24
|
-
def fetch
|
24
|
+
def fetch(filters={})
|
25
25
|
feed = nil
|
26
26
|
ms = Benchmark.realtime do
|
27
27
|
feed = GoApiClient.runs(@options)
|
@@ -29,22 +29,31 @@ module GoCD
|
|
29
29
|
puts "fetched pipeline runs in #{ms/1000}sec" unless ENV['QUIET']
|
30
30
|
|
31
31
|
pipelines = feed[:pipelines]
|
32
|
-
remember(:latest_atom_entry_id, feed[:latest_atom_entry_id])
|
33
32
|
puts "Checking for last green run of #{@stage}. Latest event: #{feed[:latest_atom_entry_id]}" unless ENV['QUIET']
|
34
33
|
|
34
|
+
find_green_stage(pipelines: pipelines, filters: filters).tap do |stage|
|
35
|
+
remember(:last_green_build, StageRun.new(stage)) if stage
|
36
|
+
end
|
37
|
+
|
38
|
+
remember(:latest_atom_entry_id, feed[:latest_atom_entry_id])
|
39
|
+
recall :last_green_build
|
40
|
+
end
|
41
|
+
|
42
|
+
private
|
43
|
+
|
44
|
+
def find_green_stage(params)
|
45
|
+
pipelines = params.delete(:pipelines)
|
46
|
+
filter = params.delete(:filters)
|
35
47
|
pipelines.reverse.each do |pipeline|
|
36
48
|
stage = pipeline.stages.find { |stage| stage.name == @stage }
|
37
49
|
if stage && stage.result == 'Passed'
|
38
50
|
stage.pipeline = pipeline
|
39
|
-
return
|
51
|
+
return stage
|
40
52
|
end
|
41
53
|
end
|
42
|
-
|
43
|
-
recall :last_green_build
|
54
|
+
return nil
|
44
55
|
end
|
45
56
|
|
46
|
-
private
|
47
|
-
|
48
57
|
def remember(key, value)
|
49
58
|
@cache.transaction do
|
50
59
|
if @cache[@pipeline]
|
@@ -1,11 +1,12 @@
|
|
1
1
|
module GoCD
|
2
2
|
|
3
|
-
class
|
3
|
+
class StageRun
|
4
4
|
|
5
|
-
attr_reader :completed_at, :materials, :dependencies, :instance, :pipeline_name, :pipeline_counter
|
5
|
+
attr_reader :completed_at, :materials, :dependencies, :instance, :pipeline_name, :pipeline_counter, :result
|
6
6
|
|
7
7
|
def initialize(stage)
|
8
8
|
@completed_at = stage.completed_at
|
9
|
+
@result = stage.result
|
9
10
|
@materials = stage.pipeline.materials
|
10
11
|
@dependencies = stage.pipeline.dependencies
|
11
12
|
@pipeline_name = stage.pipeline.name
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: last_green_go_pipeline
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Bill DePhillips
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-07-
|
11
|
+
date: 2014-07-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rspec
|
@@ -47,7 +47,7 @@ extensions: []
|
|
47
47
|
extra_rdoc_files: []
|
48
48
|
files:
|
49
49
|
- lib/go_cd/last_green_build_fetcher.rb
|
50
|
-
- lib/go_cd/
|
50
|
+
- lib/go_cd/stage_run.rb
|
51
51
|
- LICENSE
|
52
52
|
- README.md
|
53
53
|
homepage: https://github.com/rearadmiral/last_green_go_pipeline
|