pipedream 0.4.4 → 0.4.8

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: 348fa6b7f61dbe11f858724464a10c59f0a42c0c9560cd96afcf7d1ee10b6855
4
- data.tar.gz: 2e76a84f3f61bdc2b21c7c59e0796fe6e9d36057ba82050bd3afccd469dea387
3
+ metadata.gz: 9512b3e0690a2fdd0ef58cee7be1b6229851969b1a338bb85f0a6d882c491095
4
+ data.tar.gz: be61616a96fd760be544d1a6b45df2f6a0cb3fe8b1d9a7bafe37e551d5e226a3
5
5
  SHA512:
6
- metadata.gz: f0ce62ec029718c4d7e4c1223b6d61a169d65b2b3cbc25df9d6212d4613bf669b2fb698c9073b2b3e8bed35578cca4fd1b6c0744e91dc4d00238b328a7b2971d
7
- data.tar.gz: 3a3565ac89762d33e1f22b137825f01e70db243fcda68b75707f8ae5034aef4e25fe3a531fa536c9c31606b57950ddb342c217acdb1fb68b7867f841cac80f69
6
+ metadata.gz: f7627fec4faca9f46c264f6446686c074a6ec41b1f5034fb309570033663d90652ef34f7792cd0d5196e58ad123ccb56630eb130ef30246f341cf1b79f2025fe
7
+ data.tar.gz: 0fdc73a1ad168ce76c793bd3e23e277a27450f843704680faa9bab3a2f31a320e86948197dab252a257fb4f41d36bed64625142ed824c8a0ed55d3ea8372d4e3
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.8] - 2022-01-07
7
+ - [#5](https://github.com/boltops-tools/pipedream/pull/5) improvements for multiple sources and in_parallel method
8
+
9
+ ## [0.4.7] - 2021-12-29
10
+ - add rexml dependency
11
+
12
+ ## [0.4.6] - 2021-12-29
13
+ - [#4](https://github.com/boltops-tools/pipedream/pull/4) fix activesupport require
14
+ - fix settings merge
15
+
16
+ ## [0.4.5]
17
+ - add aws codepipeline get-pipeline-state command hint in output also
18
+ - dont autocamelize code build project name
19
+ - #3 fix typo
5
20
 
6
21
  ## [0.4.4]
7
22
  - add mfa support for normal IAM user
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
 
@@ -5,7 +5,6 @@ module Pipedream
5
5
  end
6
6
 
7
7
  def run
8
- puts "build"
9
8
  options = @options
10
9
  Pipeline.new(options).run
11
10
  end
@@ -12,15 +12,15 @@ module Pipedream::Dsl::Pipeline
12
12
  run_order: @run_order,
13
13
  # configuration: { project_name: '' }, # will be set
14
14
  # output_artifacts: [name: "BuildArtifact#{name}"], # TODO: maybe make this configurable with a setting
15
- input_artifacts: [name: "SourceArtifact"],
15
+ input_artifacts: [name: "MainArtifact"],
16
16
  }
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
@@ -32,6 +32,7 @@ module Pipedream::Dsl::Pipeline
32
32
  item[:configuration] = { project_name: project_name }
33
33
  end
34
34
 
35
+ item[:name] ||= project_name
35
36
  item.reverse_merge(default)
36
37
  end
37
38
  end
@@ -13,8 +13,10 @@ module Pipedream::Dsl::Pipeline
13
13
  o_auth_token = props.delete(:auth_token)
14
14
  poll_for_source_changes = props.delete(:poll_for_source_changes) || "false"
15
15
 
16
+ source_name = props.delete(:source_name) || "Main"
17
+
16
18
  default = {
17
- name: "Source",
19
+ name: source_name,
18
20
  action_type_id: {
19
21
  category: "Source",
20
22
  owner: "ThirdParty",
@@ -29,7 +31,7 @@ module Pipedream::Dsl::Pipeline
29
31
  poll_for_source_changes: poll_for_source_changes,
30
32
  repo: repo,
31
33
  },
32
- output_artifacts: [name: "SourceArtifact"]
34
+ output_artifacts: [name: "#{source_name}Artifact"]
33
35
  }
34
36
  action(props.reverse_merge(default))
35
37
  end
@@ -9,6 +9,7 @@ module Pipedream::Dsl
9
9
  artifact_store
10
10
  artifact_stores
11
11
  disable_inboundstage_transitions
12
+ input_artifacts
12
13
  name
13
14
  restart_execution_on_update
14
15
  role_arn
@@ -20,6 +21,10 @@ module Pipedream::Dsl
20
21
  end
21
22
  end
22
23
 
24
+ def pipeline_name
25
+ @options[:pipeline_name]
26
+ end
27
+
23
28
  def stage(name, &block)
24
29
  # Reset values for each stage declaraion
25
30
  @run_order = 1
@@ -29,9 +34,15 @@ module Pipedream::Dsl
29
34
  block.call
30
35
  end
31
36
 
37
+ def in_parallel
38
+ @in_parallel = true
39
+ yield
40
+ @in_parallel = false
41
+ end
42
+
32
43
  def action(*props)
33
44
  @current_stage[:actions] += props
34
- @run_order += 1
45
+ @run_order += 1 unless @in_parallel
35
46
  end
36
47
  end
37
48
  end
@@ -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.4"
2
+ VERSION = "0.4.8"
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
@@ -32,6 +32,7 @@ Gem::Specification.new do |spec|
32
32
  spec.add_dependency "memoist"
33
33
  spec.add_dependency "rainbow"
34
34
  spec.add_dependency "render_me_pretty"
35
+ spec.add_dependency "rexml"
35
36
  spec.add_dependency "thor"
36
37
  spec.add_dependency "zeitwerk"
37
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.4
4
+ version: 0.4.8
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-11-10 00:00:00.000000000 Z
11
+ date: 2022-01-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -150,6 +150,20 @@ dependencies:
150
150
  - - ">="
151
151
  - !ruby/object:Gem::Version
152
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'
153
167
  - !ruby/object:Gem::Dependency
154
168
  name: thor
155
169
  requirement: !ruby/object:Gem::Requirement
@@ -379,7 +393,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
379
393
  - !ruby/object:Gem::Version
380
394
  version: '0'
381
395
  requirements: []
382
- rubygems_version: 3.0.6
396
+ rubygems_version: 3.2.32
383
397
  signing_key:
384
398
  specification_version: 4
385
399
  summary: A beautiful and powerful DSL to create and manage AWS CodePipeline pipelines