satorix-rails 1.0.11 → 1.1.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: a5dbf0b5018c9ce918066276a1dba71c041a7a2f
4
- data.tar.gz: 3d9c9065c8f8d85945f8f5a81be09c295f25d9fc
3
+ metadata.gz: 3d1f056ae46c1a30b11c11a567472d7b254cef1f
4
+ data.tar.gz: 2ac2d811653c9bbccde23798c2a95e5b168fe178
5
5
  SHA512:
6
- metadata.gz: 2b8e13947ba20ba173d173af8097bfcd602edce3f5ceac950627baf9489b5fabff1376f3da52811a8787438fad2b997177661427486b31dbb6e96a85ca3b4dd3
7
- data.tar.gz: 50872269ddd8cc9f68f35ac4458da9c87643270d21abc68a7f466faebcaa2385495a3ffa377d480d99deaf62169dfefa9462e275df66e8a6c5fbe54f0feb6d8e
6
+ metadata.gz: 0fb99f81039e25fcc45cec5a6a3eea40f81c627572f4d0530fdda5005616a04b0ae62fa086b03173d6b1b8bb5fad797fc656a218d5b5d04006ae51fca026b09d
7
+ data.tar.gz: 86f4beb0bb36105bc144778137776dddd93c74f97bd5d3cf59d39b23cdbfd8597cfb4b92e8505f83604da7d52d23d393257258027035698cb4477a60df80a437
data/.gitlab-ci.yml CHANGED
@@ -14,14 +14,14 @@ cache:
14
14
  - 'tmp/satorix/cache' # To cache buildpack gems between runs.
15
15
 
16
16
 
17
- rspec:
18
- before_script:
19
- - sed -i -e 's/add_development_dependency/add_dependency/g' satorix-rails.gemspec # To avoid an application dependency, but still be available for CI
20
- <<: *satorix
17
+ #rspec:
18
+ # before_script:
19
+ # - sed -i -e 's/add_development_dependency/add_dependency/g' satorix-rails.gemspec # To avoid an application dependency, but still be available for CI
20
+ # <<: *satorix
21
21
 
22
22
 
23
23
  # This is a custom job, defined at satorix/CI/deploy/ie_gem_server.rb
24
- deploy_to_ie_gem_server:
24
+ deploy_to_rubygems:
25
25
  environment:
26
26
  name: $CI_COMMIT_REF_NAME
27
27
  url: 'http://gems.iexposure.com/gems/satorix-rails'
@@ -1,7 +1,7 @@
1
1
  module Satorix
2
2
  module Rails
3
3
  module Version
4
- VERSION = '1.0.11'
4
+ VERSION = '1.1.0'
5
5
  end
6
6
  end
7
7
  end
@@ -0,0 +1,133 @@
1
+ module Satorix
2
+ module CI
3
+ module Deploy
4
+ module Rubygems
5
+
6
+
7
+ require 'fileutils'
8
+
9
+
10
+ include Satorix::Shared::Console
11
+
12
+
13
+ extend self
14
+
15
+
16
+ def go
17
+ log_bench('Generating rubygems.org configuration_file...') { generate_rubygems_configuration_file }
18
+ log_bench('Preparing gem build directory...') { prepare_gem_build_directory }
19
+ log_bench('Building gem...') { build_gem }
20
+ built_gems.each { |gem| log_bench("Publishing #{ File.basename gem }...") { publish_gem gem } }
21
+ end
22
+
23
+
24
+ private ########################################################################################################
25
+
26
+
27
+ def build_gem
28
+ run_command 'rake build'
29
+ end
30
+
31
+
32
+ def built_gems
33
+ Dir.glob(File.join(gem_build_directory, '*.gem')).select { |e| File.file? e }
34
+ end
35
+
36
+
37
+ def gem_build_directory
38
+ File.join Satorix.app_root, 'pkg'
39
+ end
40
+
41
+
42
+ def generate_rubygems_configuration_file
43
+ path = File.join(Dir.home, '.gem')
44
+ FileUtils.mkdir_p(path) unless File.exist?(path)
45
+
46
+ file = File.join(path, 'credentials')
47
+ File.open(file, 'w') { |f| f.write rubygems_configuration_file_contents }
48
+ FileUtils.chmod 0600, file
49
+ end
50
+
51
+
52
+ def prepare_gem_build_directory
53
+ run_command "rm -rf #{ gem_build_directory }"
54
+ FileUtils.mkdir_p gem_build_directory
55
+ end
56
+
57
+
58
+ def publish_gem(gem)
59
+ run_command "gem push #{ gem } --config-file #{ File.join(Dir.home, '.gem', 'credentials') }"
60
+ rescue RuntimeError
61
+ # To prevent the display of an ugly stacktrace.
62
+ abort "\nGem was not published!"
63
+ end
64
+
65
+
66
+ def rubygems_api_key
67
+ ENV['SATORIX_CI_RUBYGEMS_API_KEY']
68
+ end
69
+
70
+
71
+ def rubygems_configuration_file_contents
72
+ "---\n:rubygems_api_key: #{ rubygems_api_key }"
73
+ end
74
+
75
+
76
+ # To be used for rake release - START
77
+
78
+
79
+ def configure_git
80
+ run_command 'git config user.name Satorix'
81
+ run_command 'git config user.email satorix@iexposure.com'
82
+ run_command 'git config push.default simple'
83
+ end
84
+
85
+
86
+ def configure_ssh
87
+ run_command 'whoami'
88
+ run_command 'printenv'
89
+
90
+ path = File.join(Dir.home, '.ssh')
91
+ FileUtils.mkdir_p(path) unless File.exist?(path)
92
+
93
+ public_key_file = File.join(path, 'id_rsa.pub')
94
+ File.open(public_key_file, 'w') { |f| f.write ssh_public_key }
95
+ FileUtils.chmod 0600, public_key_file
96
+ run_command "cat #{ public_key_file }"
97
+
98
+ private_key_file = File.join(path, 'id_rsa')
99
+ File.open(private_key_file, 'w') { |f| f.write ssh_private_key }
100
+ FileUtils.chmod 0600, private_key_file
101
+
102
+ config_file = File.join(path, 'config')
103
+ File.open(config_file, 'w') { |f| f.write "IdentityFile #{ private_key_file }" }
104
+ FileUtils.chmod 0600, config_file
105
+ run_command "cat #{ config_file }"
106
+
107
+ system 'eval `ssh-agent -s`'
108
+ run_command "ssh-add #{ private_key_file }"
109
+ end
110
+
111
+
112
+ def rake_release
113
+ run_command 'bundle exec rake release'
114
+ end
115
+
116
+
117
+ def ssh_private_key
118
+ ENV['SATORIX_CI_SSH_PRIVATE_KEY']
119
+ end
120
+
121
+
122
+ def ssh_public_key
123
+ ENV['SATORIX_CI_SSH_PUBLIC_KEY']
124
+ end
125
+
126
+
127
+ # To be used for rake release - END
128
+
129
+
130
+ end
131
+ end
132
+ end
133
+ end
data/satorix/custom.rb CHANGED
@@ -2,7 +2,7 @@ module Satorix
2
2
  module Custom
3
3
 
4
4
 
5
- require_relative 'CI/deploy/ie_gem_server.rb'
5
+ require_relative 'CI/deploy/rubygems.rb'
6
6
 
7
7
 
8
8
  extend self
@@ -11,7 +11,7 @@ module Satorix
11
11
  def available_jobs
12
12
  {
13
13
  deploy: {
14
- deploy_to_ie_gem_server: Satorix::CI::Deploy::IeGemServer
14
+ deploy_to_rubygems: Satorix::CI::Deploy::Rubygems
15
15
  }
16
16
  }
17
17
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: satorix-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.11
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Internet Exposure
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-08-16 00:00:00.000000000 Z
11
+ date: 2017-08-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: passenger
@@ -100,7 +100,7 @@ files:
100
100
  - lib/satorix/rails.rb
101
101
  - lib/satorix/rails/version.rb
102
102
  - satorix-rails.gemspec
103
- - satorix/CI/deploy/ie_gem_server.rb
103
+ - satorix/CI/deploy/rubygems.rb
104
104
  - satorix/custom.rb
105
105
  homepage: https://www.satorix.com
106
106
  licenses: []
@@ -122,7 +122,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
122
122
  version: '0'
123
123
  requirements: []
124
124
  rubyforge_project:
125
- rubygems_version: 2.6.11
125
+ rubygems_version: 2.6.12
126
126
  signing_key:
127
127
  specification_version: 4
128
128
  summary: Satorix in Rails
@@ -1,80 +0,0 @@
1
- module Satorix
2
- module CI
3
- module Deploy
4
- module IeGemServer
5
-
6
-
7
- require 'fileutils'
8
-
9
-
10
- include Satorix::Shared::Console
11
-
12
-
13
- extend self
14
-
15
-
16
- def go
17
- log_bench('Installing the geminabox gem...') { install_geminabox_gem }
18
- log_bench('Preparing gem build directory...') { prepare_gem_build_directory }
19
- log_bench('Building gem...') { build_gem }
20
- built_gems.each { |gem| log_bench("Publishing #{ File.basename gem }...") { publish_gem gem } }
21
- end
22
-
23
-
24
- private ########################################################################################################
25
-
26
-
27
- def build_gem
28
- run_command 'rake build'
29
- end
30
-
31
-
32
- def built_gems
33
- Dir.glob(File.join(gem_build_directory, '*.gem')).select { |e| File.file? e }
34
- end
35
-
36
-
37
- def gem_build_directory
38
- File.join Satorix.app_root, 'pkg'
39
- end
40
-
41
-
42
- def ie_gem_server_host
43
- "https://#{ ie_gem_server_user_name }:#{ ie_gem_server_password }@gems.iexposure.com"
44
- end
45
-
46
-
47
- def ie_gem_server_password
48
- ENV['SATORIX_CI_IE_GEM_SERVER_PASSWORD']
49
- end
50
-
51
-
52
- def ie_gem_server_user_name
53
- ENV['SATORIX_CI_IE_GEM_SERVER_USER_NAME']
54
- end
55
-
56
-
57
- def install_geminabox_gem
58
- run_command 'gem install geminabox --source https://gems.iexposure.com --no-document'
59
- end
60
-
61
-
62
- def prepare_gem_build_directory
63
- run_command "rm -rf #{ gem_build_directory }"
64
- FileUtils.mkdir_p gem_build_directory
65
- end
66
-
67
-
68
- def publish_gem(gem)
69
- run_command "gem inabox #{ gem } --host #{ ie_gem_server_host }",
70
- filtered_text: [ie_gem_server_user_name, ie_gem_server_password]
71
- rescue RuntimeError
72
- # To prevent the display of an ugly stacktrace.
73
- abort "\nGem was not published!"
74
- end
75
-
76
-
77
- end
78
- end
79
- end
80
- end