last_green_go_pipeline 1.2.1 → 1.2.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/go_cd/last_green_build_fetcher.rb +10 -2
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 89d364d788b7a03782c0552da583ec6a3582367f
|
4
|
+
data.tar.gz: 272f2715105d2b6fb93b4feb5879c288e2c85799
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: fc517d6e6f39b421bc6e5155c3ac3ac1cdfd7f0a2e2647ccf17e1222b04278be5b936d31bebe0f0bef1dfc4799c750eac1ea095d60097d2f47c6e53ebb8a6a95
|
7
|
+
data.tar.gz: 97d019d6f43521ca8dbdd161acd95423173eefcab3807fbd3de0a591c2be418c1116dcff70b60ca163ddf7f99f6dc67484926bc1429868998c32a683ed89ff22
|
@@ -55,12 +55,20 @@ module GoCD
|
|
55
55
|
end
|
56
56
|
|
57
57
|
def matches_filter(stage, filters)
|
58
|
-
return true unless filters && filters[:dependencies]
|
59
|
-
filters[:dependencies].all? do |upstream_name, upstream_instance|
|
58
|
+
return true unless filters && (filters[:dependencies] || filters[:materials])
|
59
|
+
meets_dependencies_filter = (filters[:dependencies] || []).all? do |upstream_name, upstream_instance|
|
60
60
|
stage.pipeline.dependencies.any? do |dependency|
|
61
61
|
dependency.pipeline_name == upstream_name && dependency.identifier == upstream_instance
|
62
62
|
end
|
63
63
|
end
|
64
|
+
meets_materials_filter = (filters[:materials] || []).all? do |filtered_material_name, git_revision|
|
65
|
+
stage.pipeline.materials.any? do |git_material|
|
66
|
+
repo_name = git_material.repository_url.split('/').last
|
67
|
+
material_name = "#{repo_name}-git"
|
68
|
+
filtered_material_name == material_name && git_revision == git_material.commits.first.revision
|
69
|
+
end
|
70
|
+
end
|
71
|
+
meets_dependencies_filter && meets_materials_filter
|
64
72
|
end
|
65
73
|
|
66
74
|
def remember(key, value)
|