miriamtech-gocd 0.2.1 → 0.2.6

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: ec40d765f933489b7972e351f0418faa1efb8a0defe529a220976c87ce59b749
4
- data.tar.gz: b05a5aadaaaa94bd8f910ac27d2f5e60df9daf73457937ab027d4a4795b37d29
3
+ metadata.gz: 52f9d377244ce4558f66ae5ea21b3ea76216708568a3aa78ad30c21354a6369b
4
+ data.tar.gz: 8aca9451787f550885aa3b71a15e7941828758f55b8aa81e2fe1ff38869cd025
5
5
  SHA512:
6
- metadata.gz: d5519976cdceffc140092378f3c0acc6c13e97ddaec701eddc3cf84cce8e4d4cf15e737fa4224c9e22e57864ebfbfe8548b881bb2ba0d43f025f4b03e8233bb2
7
- data.tar.gz: 97f440935f20faa4599d0c9250506e812f2c544c6b4871add01059ae291a36287c9750f345e536879eb065b05dc6990683ae069cb9d7202242f433f9a00d69fb
6
+ metadata.gz: 2cb3141a05bb08bafb546b2d1156c01a3608de988ede9cbc385f8e1e7eec5a04b979a4fc52099ec462781243e9354a27ea0a89adad3829bcf23d6437abd855cb
7
+ data.tar.gz: 4b2d8848833dfb5fa6b935ee28f0a04ae038832dce5469da7a618115105a18baeab57e769ab839ae7f149d13da6a99db8b9f9bdd2b152907b675c440e66c0915
@@ -1,6 +1,16 @@
1
1
  module MiriamTech
2
2
  module GoCD
3
3
  module DSL
4
+ def capture_artifacts(prefix = project_name, workdir:, path:, &block)
5
+ with_artifacts_volume(prefix) do |volume_name|
6
+ begin
7
+ yield "-v #{volume_name}:#{workdir}/#{path}"
8
+ ensure
9
+ copy_artifacts_from_volume(volume_name, local_path: path)
10
+ end
11
+ end
12
+ end
13
+
4
14
  def with_artifacts_volume(prefix = project_name, &block)
5
15
  artifacts_volume = sanitized_volume_name("#{prefix}#{build_tag}")
6
16
  docker "volume create #{artifacts_volume}"
@@ -2,7 +2,7 @@ module MiriamTech
2
2
  module GoCD
3
3
  module DSL
4
4
  def project_name(env = ENV)
5
- (env['GO_PIPELINE_NAME'] || File.basename(File.expand_path('.'))).downcase
5
+ (env['GO_PIPELINE_NAME'] || root_path.basename.to_s).downcase
6
6
  end
7
7
 
8
8
  def build_tag(env = ENV)
@@ -14,7 +14,6 @@ module MiriamTech
14
14
  end
15
15
 
16
16
  def docker_compose(string)
17
- # PIPELINE_NAME = (ENV['GO_PIPELINE_NAME'] || 'ilien').downcase
18
17
  cd root_path do
19
18
  sh "docker-compose -p #{project_name} -f docker-compose.yml #{string}"
20
19
  end
@@ -28,7 +27,6 @@ module MiriamTech
28
27
  else
29
28
  @build_tag = ""
30
29
  end
31
- env['BUILD_TAG'] = @build_tag
32
30
  end
33
31
  end
34
32
  end
@@ -1,3 +1,5 @@
1
+ require 'tempfile'
2
+
1
3
  module MiriamTech
2
4
  module GoCD
3
5
  module DSL
@@ -1,4 +1,5 @@
1
1
  require 'pathname'
2
+ require 'rake/clean'
2
3
 
3
4
  module MiriamTech
4
5
  module GoCD
@@ -10,12 +11,16 @@ module MiriamTech
10
11
  task :default => [:test]
11
12
  task :full => [:clobber, :build]
12
13
 
13
- CLEAN.add(root_path + '/test/reports')
14
- task :clean do
14
+ task :environment do
15
+ ENV['BUILD_TAG'] = build_tag
16
+ end
17
+
18
+ CLEAN.add(root_path + 'test/reports')
19
+ task :clean => :environment do
15
20
  docker_compose "stop"
16
21
  end
17
22
 
18
- task :clobber => :cleanup_old_images do
23
+ task :clobber => [:environment, :cleanup_old_images] do
19
24
  docker_compose "rm -fv"
20
25
  end
21
26
 
@@ -23,11 +28,11 @@ module MiriamTech
23
28
  cleanup_old_images(image_name, revisions_to_keep)
24
29
  end
25
30
 
26
- task :build do
31
+ task :build => :environment do
27
32
  docker "build --force-rm -t #{image_name}#{build_tag} #{root_path}"
28
33
  end
29
34
 
30
- task :test
35
+ task :test => :environment
31
36
 
32
37
  task :push do
33
38
  push(image_name)
@@ -1,5 +1,5 @@
1
1
  module MiriamTech
2
2
  module GoCD
3
- VERSION = "0.2.1"
3
+ VERSION = "0.2.6"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: miriamtech-gocd
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.2.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ken Treis
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-09-17 00:00:00.000000000 Z
11
+ date: 2020-09-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler