pipedream 0.4.3 → 0.4.7

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 3a955b6a15876413b9ae3788a8b99fdfe1d34e615fb530dc4c6d5d200bd9eeed
4
- data.tar.gz: 0503d2c439697f7546afb678c293df90b53a36b6478d27170e9bcbbb2d898254
3
+ metadata.gz: f0a2c188404c51d550c70927ebaea42cf50c1ce88e7c227c0b77e9b47a2d4627
4
+ data.tar.gz: 649e237922e45576283dc4fd0bfd21095a22f547db8efb1f79a1a68c43ca6c6e
5
5
  SHA512:
6
- metadata.gz: eb726218c6865adeaced56d28b53a62b0bf2dc126af83e017a175cf0daf05ef9e0bc2567fb0e3289a1349faa81df45a324f7c581fc8442041da72a486b865702
7
- data.tar.gz: ec3e61313f3e1754a70e3b7c67eee5f172f6c9f26b8aaea01e137b6927a83a72d64ee8a7a75af3d4e94f828c2daf858c26fd5a4f69deb36c34ab1ffce39ad587
6
+ metadata.gz: c6ea79d68551285fd993784daaa300b895fae41f78de44c6ed91c6f35ef6201410d603fbcdb5e6ab22514d5863d7927ce19f49275fa0870be40a7824a2905c09
7
+ data.tar.gz: 20104cc2c78c9063747f5181fe1bdf6872b56b462c043698581099802f0cf130fc389db4c5268be9a86054eb18805702a1ca5f0e5fe409f8b7687153de7e1543
data/.gitignore CHANGED
@@ -14,3 +14,4 @@ spec/reports
14
14
  test/tmp
15
15
  test/version_tmp
16
16
  tmp
17
+ Gemfile.lock
data/CHANGELOG.md CHANGED
@@ -1,7 +1,22 @@
1
1
  # Change Log
2
2
 
3
3
  All notable changes to this project will be documented in this file.
4
- This project *tries* to adhere to [Semantic Versioning](http://semver.org/), even before v1.0.
4
+ This project *loosely* adheres to [Semantic Versioning](http://semver.org/), even before v1.0.
5
+
6
+ ## [0.4.7] - 2021-12-29
7
+ - add rexml dependency
8
+
9
+ ## [0.4.6] - 2021-12-29
10
+ - [#4](https://github.com/boltops-tools/pipedream/pull/4) fix activesupport require
11
+ - fix settings merge
12
+
13
+ ## [0.4.5]
14
+ - add aws codepipeline get-pipeline-state command hint in output also
15
+ - dont autocamelize code build project name
16
+ - #3 fix typo
17
+
18
+ ## [0.4.4]
19
+ - add mfa support for normal IAM user
5
20
 
6
21
  ## [0.4.3]
7
22
  - fix pipedream renaming
data/README.md CHANGED
@@ -7,6 +7,8 @@
7
7
  ![Build Status](https://codebuild.us-west-2.amazonaws.com/badges?uuid=eyJlbmNyeXB0ZWREYXRhIjoiWk1FM0dldzE5MUM5R3VqVGxxTmRFb1JGNnkxQjJpTDYvajYrQk91YzErNjdNc1VYVElHM3V5ZEJXcStyMmZVc210WG8vUURSV2JST0ZpSWc5Y0pYR3k0PSIsIml2UGFyYW1ldGVyU3BlYyI6IldvYXhLMU8yS2pQdVRKbEoiLCJtYXRlcmlhbFNldFNlcmlhbCI6MX0%3D&branch=master)
8
8
  [![Gem Version](https://badge.fury.io/rb/pipedream.png)](http://badge.fury.io/rb/pipedream)
9
9
 
10
+ [![BoltOps Badge](https://img.boltops.com/boltops/badges/boltops-badge.png)](https://www.boltops.com)
11
+
10
12
  Pipe Dream provides a DSL to make it easy create a CodePipeline pipeline.
11
13
 
12
14
  Pipe Dream installs `pipedream` and `pipe` executables. Both of them do the same thing, `pipe` is just shorter to type.
@@ -44,7 +44,8 @@ module Pipedream::AwsServices
44
44
  #
45
45
  def inferred_stack_name(pipeline_name)
46
46
  items = [pipeline_name, @options[:type], Pipedream.env_extra, "pipe"]
47
- items.insert(2, Pipedream.env) if Pipedream.settings.dig(:stack_naming, :append_env)
47
+ append_env = Pipedream.settings.dig(:stack_naming, :append_env)
48
+ items.insert(2, Pipedream.env) if append_env
48
49
  items.reject(&:blank?).compact.join("-")
49
50
  end
50
51
 
@@ -1,6 +1,8 @@
1
1
  require "aws-sdk-codepipeline"
2
2
  require "aws-sdk-cloudformation"
3
3
 
4
+ require "aws_mfa_secure/ext/aws" # add MFA support
5
+
4
6
  module Pipedream
5
7
  module AwsServices
6
8
  include Helpers
@@ -17,10 +17,10 @@ module Pipedream::Dsl::Pipeline
17
17
 
18
18
  actions = projects.map do |item|
19
19
  if item.is_a?(String)
20
- name = item.underscore.camelize
20
+ name = item
21
21
  default.deep_merge(
22
22
  name: name,
23
- configuration: { project_name: name },
23
+ configuration: { project_name: item },
24
24
  )
25
25
  else # Hash
26
26
  # With the hash notation, user needs to set: name and project_name
@@ -25,7 +25,11 @@ module Pipedream
25
25
 
26
26
  all_envs = default.deep_merge(user.deep_merge(project))
27
27
  all_envs = merge_base(all_envs)
28
- data = all_envs[pipe_env] || all_envs["base"] || {}
28
+
29
+ env_data = all_envs[pipe_env] || {}
30
+ base_data = all_envs["base"] || {}
31
+ data = base_data.merge(env_data)
32
+
29
33
  data.deep_symbolize_keys
30
34
  end
31
35
  memoize :data
@@ -76,7 +80,7 @@ module Pipedream
76
80
  end
77
81
 
78
82
  def cb_root
79
- ENV["CODEPIPELINE_ROOT"] || Dir.pwd
83
+ ENV["PIPE_ROOT"] || Dir.pwd
80
84
  end
81
85
  end
82
86
  end
@@ -66,12 +66,15 @@ module Pipedream
66
66
  def codepipeline_info(execution_id)
67
67
  region = `aws configure get region`.strip rescue "us-east-1"
68
68
  url = "https://#{region}.console.aws.amazon.com/codesuite/codepipeline/pipelines/#{pipeline_name}/view"
69
- cli = "aws codepipeline get-pipeline-execution --pipeline-execution-id #{execution_id} --pipeline-name #{pipeline_name}"
70
69
 
71
70
  puts "Pipeline started: #{pipeline_name}"
72
71
  puts "Please check the CodePipeline console for the status."
73
72
  puts "CodePipeline Console: #{url}"
74
- puts "Pipeline cli: #{cli}"
73
+ puts "Pipeline cli commands:"
74
+ puts
75
+ puts " aws codepipeline get-pipeline-execution --pipeline-execution-id #{execution_id} --pipeline-name #{pipeline_name}"
76
+ puts " aws codepipeline get-pipeline-state --name #{pipeline_name}"
77
+ puts
75
78
  end
76
79
 
77
80
  def pipeline_exists?(name)
@@ -1,3 +1,3 @@
1
1
  module Pipedream
2
- VERSION = "0.4.3"
2
+ VERSION = "0.4.7"
3
3
  end
data/lib/pipedream.rb CHANGED
@@ -2,6 +2,7 @@ $:.unshift(File.expand_path("../", __FILE__))
2
2
  require "pipedream/version"
3
3
  require "rainbow/ext/string"
4
4
  require "memoist"
5
+ require "active_support"
5
6
  require "active_support/core_ext/hash"
6
7
 
7
8
  require "pipedream/autoloader"
@@ -6,7 +6,7 @@ stage "Source" do
6
6
  )
7
7
  end
8
8
 
9
- # IMPORANT: A valid pipeline requires at least 2 stages befre you are able to run
9
+ # IMPORANT: A valid pipeline requires at least 2 stages before you are able to run
10
10
  #
11
11
  # pipe deploy
12
12
  #
data/pipedream.gemspec CHANGED
@@ -23,6 +23,7 @@ Gem::Specification.new do |spec|
23
23
  spec.require_paths = ["lib"]
24
24
 
25
25
  spec.add_dependency "activesupport"
26
+ spec.add_dependency "aws-mfa-secure"
26
27
  spec.add_dependency "aws-sdk-cloudformation"
27
28
  spec.add_dependency "aws-sdk-codepipeline"
28
29
  spec.add_dependency "aws-sdk-s3"
@@ -31,6 +32,7 @@ Gem::Specification.new do |spec|
31
32
  spec.add_dependency "memoist"
32
33
  spec.add_dependency "rainbow"
33
34
  spec.add_dependency "render_me_pretty"
35
+ spec.add_dependency "rexml"
34
36
  spec.add_dependency "thor"
35
37
  spec.add_dependency "zeitwerk"
36
38
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pipedream
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.3
4
+ version: 0.4.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tung Nguyen
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-10-08 00:00:00.000000000 Z
11
+ date: 2021-12-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -24,6 +24,20 @@ dependencies:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: aws-mfa-secure
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
27
41
  - !ruby/object:Gem::Dependency
28
42
  name: aws-sdk-cloudformation
29
43
  requirement: !ruby/object:Gem::Requirement
@@ -136,6 +150,20 @@ dependencies:
136
150
  - - ">="
137
151
  - !ruby/object:Gem::Version
138
152
  version: '0'
153
+ - !ruby/object:Gem::Dependency
154
+ name: rexml
155
+ requirement: !ruby/object:Gem::Requirement
156
+ requirements:
157
+ - - ">="
158
+ - !ruby/object:Gem::Version
159
+ version: '0'
160
+ type: :runtime
161
+ prerelease: false
162
+ version_requirements: !ruby/object:Gem::Requirement
163
+ requirements:
164
+ - - ">="
165
+ - !ruby/object:Gem::Version
166
+ version: '0'
139
167
  - !ruby/object:Gem::Dependency
140
168
  name: thor
141
169
  requirement: !ruby/object:Gem::Requirement
@@ -250,7 +278,6 @@ files:
250
278
  - ".rspec"
251
279
  - CHANGELOG.md
252
280
  - Gemfile
253
- - Gemfile.lock
254
281
  - Guardfile
255
282
  - LICENSE.txt
256
283
  - README.md
@@ -366,7 +393,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
366
393
  - !ruby/object:Gem::Version
367
394
  version: '0'
368
395
  requirements: []
369
- rubygems_version: 3.0.6
396
+ rubygems_version: 3.2.32
370
397
  signing_key:
371
398
  specification_version: 4
372
399
  summary: A beautiful and powerful DSL to create and manage AWS CodePipeline pipelines
data/Gemfile.lock DELETED
@@ -1,112 +0,0 @@
1
- PATH
2
- remote: .
3
- specs:
4
- pipedream (0.4.2)
5
- activesupport
6
- aws-sdk-cloudformation
7
- aws-sdk-codepipeline
8
- aws-sdk-s3
9
- aws-sdk-ssm
10
- cfn_camelizer
11
- memoist
12
- rainbow
13
- render_me_pretty
14
- thor
15
- zeitwerk
16
-
17
- GEM
18
- remote: https://rubygems.org/
19
- specs:
20
- activesupport (6.0.0)
21
- concurrent-ruby (~> 1.0, >= 1.0.2)
22
- i18n (>= 0.7, < 2)
23
- minitest (~> 5.1)
24
- tzinfo (~> 1.1)
25
- zeitwerk (~> 2.1, >= 2.1.8)
26
- aws-eventstream (1.0.3)
27
- aws-partitions (1.220.0)
28
- aws-sdk-cloudformation (1.25.0)
29
- aws-sdk-core (~> 3, >= 3.61.1)
30
- aws-sigv4 (~> 1.1)
31
- aws-sdk-codepipeline (1.25.0)
32
- aws-sdk-core (~> 3, >= 3.61.1)
33
- aws-sigv4 (~> 1.1)
34
- aws-sdk-core (3.68.0)
35
- aws-eventstream (~> 1.0, >= 1.0.2)
36
- aws-partitions (~> 1.0)
37
- aws-sigv4 (~> 1.1)
38
- jmespath (~> 1.0)
39
- aws-sdk-kms (1.24.0)
40
- aws-sdk-core (~> 3, >= 3.61.1)
41
- aws-sigv4 (~> 1.1)
42
- aws-sdk-s3 (1.48.0)
43
- aws-sdk-core (~> 3, >= 3.61.1)
44
- aws-sdk-kms (~> 1)
45
- aws-sigv4 (~> 1.1)
46
- aws-sdk-ssm (1.56.0)
47
- aws-sdk-core (~> 3, >= 3.61.1)
48
- aws-sigv4 (~> 1.1)
49
- aws-sigv4 (1.1.0)
50
- aws-eventstream (~> 1.0, >= 1.0.2)
51
- byebug (11.0.1)
52
- cfn_camelizer (0.4.0)
53
- activesupport
54
- memoist
55
- rainbow
56
- cli_markdown (0.1.0)
57
- codeclimate-test-reporter (1.0.9)
58
- simplecov (<= 0.13)
59
- concurrent-ruby (1.1.5)
60
- diff-lcs (1.3)
61
- docile (1.1.5)
62
- i18n (1.6.0)
63
- concurrent-ruby (~> 1.0)
64
- jmespath (1.4.0)
65
- json (2.2.0)
66
- memoist (0.16.0)
67
- minitest (5.12.2)
68
- rainbow (3.0.0)
69
- rake (13.0.0)
70
- render_me_pretty (0.8.3)
71
- activesupport
72
- rainbow
73
- tilt
74
- rspec (3.8.0)
75
- rspec-core (~> 3.8.0)
76
- rspec-expectations (~> 3.8.0)
77
- rspec-mocks (~> 3.8.0)
78
- rspec-core (3.8.2)
79
- rspec-support (~> 3.8.0)
80
- rspec-expectations (3.8.4)
81
- diff-lcs (>= 1.2.0, < 2.0)
82
- rspec-support (~> 3.8.0)
83
- rspec-mocks (3.8.1)
84
- diff-lcs (>= 1.2.0, < 2.0)
85
- rspec-support (~> 3.8.0)
86
- rspec-support (3.8.3)
87
- simplecov (0.13.0)
88
- docile (~> 1.1.0)
89
- json (>= 1.8, < 3)
90
- simplecov-html (~> 0.10.0)
91
- simplecov-html (0.10.2)
92
- thor (0.20.3)
93
- thread_safe (0.3.6)
94
- tilt (2.0.10)
95
- tzinfo (1.2.5)
96
- thread_safe (~> 0.1)
97
- zeitwerk (2.1.10)
98
-
99
- PLATFORMS
100
- ruby
101
-
102
- DEPENDENCIES
103
- bundler
104
- byebug
105
- cli_markdown
106
- codeclimate-test-reporter
107
- pipedream!
108
- rake
109
- rspec
110
-
111
- BUNDLED WITH
112
- 2.0.2