smartmachine 1.2.2 → 1.2.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 4ead0adeacd301bcd2ef709762b390ebdd7391bd22b1281bfb5816c61d5e5898
4
- data.tar.gz: 951b8525f250d09e74c2a9941e4f9ced364368094f3be6ab1c7f0a3d237f8b3c
3
+ metadata.gz: 399cf5ca8bd944f129d3731d93be76cf46ba86e3f25b97b5110ee42dc8650430
4
+ data.tar.gz: 2b0166c466312def05a5ee8930bf3943c0f31e3a224d582caeee878c68e43a8d
5
5
  SHA512:
6
- metadata.gz: 42c85a60e0a958b1b0261c44cace2a9aedadb9615341e098e274068284e71643525ffe2793ecc026c55023fb017ae8b4cc2c6fb3c8cb2436b4c69f09eea5dd16
7
- data.tar.gz: 1dfaf1d47f11b054831f69507c07acafd80f55ec3af82cceefd718212c72636fa6332d079e17a552741601957e313f59afe5d001ffcaaf89110a96b4e384e09c
6
+ metadata.gz: e1f029f440a058a7185f315137f2e2544fb3898ef21d3bffb7792f50350d1b7d476c3c116d7ebec2790a2fb8f0c11cc1151558b6fc42db37edfdf55688bb8f4d
7
+ data.tar.gz: d667cfb03e650d7f9497a6be4b816b3c2eb0c70e85760987746fdd083d9f2bc3496b48ff1d65df667934e6065b8dfa5355e27c48820bc72cfb3e578506c4267e
@@ -80,13 +80,9 @@ module SmartMachine
80
80
  libdb-dev \
81
81
  uuid-dev && \
82
82
  # ruby on rails
83
- curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - && \
84
- echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list && \
85
83
  apt-get update && \
86
84
  apt-get install -y --no-install-recommends \
87
85
  tzdata \
88
- nodejs \
89
- yarn \
90
86
  libmariadb-dev \
91
87
  libvips42 \
92
88
  ffmpeg \
@@ -109,44 +105,6 @@ module SmartMachine
109
105
 
110
106
  format(file)
111
107
  end
112
-
113
- # These swapfile methods can be used (after required modification), when you need to make swapfile for more memory.
114
- # def self.create_swapfile
115
- # # Creating swapfile for bundler to work properly
116
- # unless system("sudo swapon -s | grep -ci '/swapfile'", out: File::NULL)
117
- # print "-----> Creating swap swapfile ... "
118
- # system("sudo install -o root -g root -m 0600 /dev/null /swapfile", out: File::NULL)
119
- # system("sudo dd if=/dev/zero of=/swapfile bs=1k count=2048k", [:out, :err] => File::NULL)
120
- # system("sudo mkswap /swapfile", out: File::NULL)
121
- # system("sudo sh -c 'echo \"/swapfile none swap sw 0 0\" >> /etc/fstab'", out: File::NULL)
122
- # system("echo 10 | sudo tee /proc/sys/vm/swappiness", out: File::NULL)
123
- # system("sudo sed -i '/^vm.swappiness = /d' /etc/sysctl.conf", out: File::NULL)
124
- # system("echo vm.swappiness = 10 | sudo tee -a /etc/sysctl.conf", out: File::NULL)
125
- # puts "done"
126
- #
127
- # print "-----> Starting swap swapfile ... "
128
- # if system("sudo swapon /swapfile", out: File::NULL)
129
- # puts "done"
130
- # end
131
- # end
132
- # end
133
- #
134
- # def self.destroy_swapfile
135
- # if system("sudo swapon -s | grep -ci '/swapfile'", out: File::NULL)
136
- # print "-----> Stopping swap swapfile ... "
137
- # if system("sudo swapoff /swapfile", out: File::NULL)
138
- # system("sudo sed -i '/^vm.swappiness = /d' /etc/sysctl.conf", out: File::NULL)
139
- # system("echo 60 | sudo tee /proc/sys/vm/swappiness", out: File::NULL)
140
- # puts "done"
141
- #
142
- # print "-----> Removing swap swapfile ... "
143
- # system("sudo sed -i '/^\\/swapfile/d' /etc/fstab", out: File::NULL)
144
- # if system("sudo rm /swapfile", out: File::NULL)
145
- # puts "done"
146
- # end
147
- # end
148
- # end
149
- # end
150
108
  end
151
109
  end
152
110
  end
@@ -173,6 +173,66 @@ module SmartMachine
173
173
  system("alias bundler='bundler _#{bundler_version}_'")
174
174
  logger.info "Using bundler v" + bundler_version + "\n"
175
175
 
176
+ # Install nodejs
177
+ nodejs_version = `sed -n '/node/{p;n}' package.json`.strip.split(":").last&.strip&.delete_prefix('"')&.delete_suffix(',')&.delete_suffix('"')
178
+ if nodejs_version.nil? || nodejs_version.empty?
179
+ logger.error "Could not find nodejs version. Have you specified it explicitly in package.json with engines field and run yarn install?\n"
180
+ return false
181
+ end
182
+
183
+ unless system(user_bash("node -v"), [:out, :err] => File::NULL) && `#{user_bash('node -v')}`.strip&.delete_prefix('v') == nodejs_version
184
+ logger.info "Installing nodejs v#{nodejs_version}\n"
185
+
186
+ Open3.popen2e(user_bash("asdf plugin add nodejs https://github.com/asdf-vm/asdf-nodejs.git")) do |stdin, stdout_and_stderr, wait_thr|
187
+ stdout_and_stderr.each { |line| logger.info "#{line}" }
188
+ end
189
+ Open3.popen2e(user_bash("asdf plugin update nodejs")) do |stdin, stdout_and_stderr, wait_thr|
190
+ stdout_and_stderr.each { |line| logger.info "#{line}" }
191
+ end
192
+ Open3.popen2e(user_bash("asdf install nodejs #{nodejs_version}")) do |stdin, stdout_and_stderr, wait_thr|
193
+ stdout_and_stderr.each { |line| logger.info "#{line}" }
194
+ end
195
+ Open3.popen2e(user_bash("asdf local nodejs #{nodejs_version}")) do |stdin, stdout_and_stderr, wait_thr|
196
+ stdout_and_stderr.each { |line| logger.info "#{line}" }
197
+ end
198
+
199
+ unless `#{user_bash('node -v')}`.strip&.delete_prefix('v') == nodejs_version
200
+ logger.error "Could not install nodejs with version #{nodejs_version}. Please try another valid version that asdf supports.\n"
201
+ return false
202
+ end
203
+ end
204
+ logger.info "Using nodejs v" + `#{user_bash('node -v')}`.strip&.delete_prefix('v') + "\n"
205
+
206
+ # Install yarn
207
+ yarn_version = `sed -n '/yarn/{p;n}' package.json`.strip.split(":").last&.strip&.delete_prefix('"')&.delete_suffix(',')&.delete_suffix('"')
208
+ if yarn_version.nil? || yarn_version.empty?
209
+ logger.error "Could not find yarn version. Have you specified it explicitly in package.json with engines field and run yarn install?\n"
210
+ return false
211
+ end
212
+
213
+ unless system(user_bash("yarn -v"), [:out, :err] => File::NULL) && `#{user_bash('yarn -v')}`.strip == yarn_version
214
+ logger.info "Installing yarn v#{yarn_version}\n"
215
+
216
+ Open3.popen2e(user_bash("asdf plugin add yarn https://github.com/twuni/asdf-yarn.git")) do |stdin, stdout_and_stderr, wait_thr|
217
+ stdout_and_stderr.each { |line| logger.info "#{line}" }
218
+ end
219
+ Open3.popen2e(user_bash("asdf plugin update yarn")) do |stdin, stdout_and_stderr, wait_thr|
220
+ stdout_and_stderr.each { |line| logger.info "#{line}" }
221
+ end
222
+ Open3.popen2e(user_bash("asdf install yarn #{yarn_version}")) do |stdin, stdout_and_stderr, wait_thr|
223
+ stdout_and_stderr.each { |line| logger.info "#{line}" }
224
+ end
225
+ Open3.popen2e(user_bash("asdf local yarn #{yarn_version}")) do |stdin, stdout_and_stderr, wait_thr|
226
+ stdout_and_stderr.each { |line| logger.info "#{line}" }
227
+ end
228
+
229
+ unless `#{user_bash('yarn -v')}`.strip == yarn_version
230
+ logger.error "Could not install yarn with version #{yarn_version}. Please try another valid version that asdf supports.\n"
231
+ return false
232
+ end
233
+ end
234
+ logger.info "Using yarn v" + `#{user_bash('yarn -v')}`.strip + "\n"
235
+
176
236
  set_logger_formatter_arrow
177
237
 
178
238
  return true
@@ -161,5 +161,47 @@ module SmartMachine
161
161
  ]
162
162
  run_on_machine(commands: commands)
163
163
  end
164
+
165
+ # These swapfile methods can be used (after required modification), when you need to make swapfile for more memory.
166
+ # def self.create_swapfile
167
+ # # Creating swapfile for bundler to work properly
168
+ # unless system("sudo swapon -s | grep -ci '/swapfile'", out: File::NULL)
169
+ # print "-----> Creating swap swapfile ... "
170
+ # system("sudo install -o root -g root -m 0600 /dev/null /swapfile", out: File::NULL)
171
+ # system("sudo dd if=/dev/zero of=/swapfile bs=1k count=2048k", [:out, :err] => File::NULL)
172
+ # system("sudo mkswap /swapfile", out: File::NULL)
173
+ # system("sudo sh -c 'echo \"/swapfile none swap sw 0 0\" >> /etc/fstab'", out: File::NULL)
174
+ # system("echo 10 | sudo tee /proc/sys/vm/swappiness", out: File::NULL)
175
+ # system("sudo sed -i '/^vm.swappiness = /d' /etc/sysctl.conf", out: File::NULL)
176
+ # system("echo vm.swappiness = 10 | sudo tee -a /etc/sysctl.conf", out: File::NULL)
177
+ # system("echo 50 | sudo tee /proc/sys/vm/vfs_cache_pressure", out: File::NULL)
178
+ # system("sudo sed -i '/^vm.vfs_cache_pressure = /d' /etc/sysctl.conf", out: File::NULL)
179
+ # system("echo vm.vfs_cache_pressure = 50 | sudo tee -a /etc/sysctl.conf", out: File::NULL)
180
+ # puts "done"
181
+ #
182
+ # print "-----> Starting swap swapfile ... "
183
+ # if system("sudo swapon /swapfile", out: File::NULL)
184
+ # puts "done"
185
+ # end
186
+ # end
187
+ # end
188
+ #
189
+ # def self.destroy_swapfile
190
+ # if system("sudo swapon -s | grep -ci '/swapfile'", out: File::NULL)
191
+ # print "-----> Stopping swap swapfile ... "
192
+ # if system("sudo swapoff /swapfile", out: File::NULL)
193
+ # system("sudo sed -i '/^vm.swappiness = /d' /etc/sysctl.conf", out: File::NULL)
194
+ # system("echo 100 | sudo tee /proc/sys/vm/vfs_cache_pressure", out: File::NULL)
195
+ # system("echo 60 | sudo tee /proc/sys/vm/swappiness", out: File::NULL)
196
+ # puts "done"
197
+ #
198
+ # print "-----> Removing swap swapfile ... "
199
+ # system("sudo sed -i '/^\\/swapfile/d' /etc/fstab", out: File::NULL)
200
+ # if system("sudo rm /swapfile", out: File::NULL)
201
+ # puts "done"
202
+ # end
203
+ # end
204
+ # end
205
+ # end
164
206
  end
165
207
  end
@@ -17,7 +17,7 @@ module SmartMachine
17
17
  module VERSION
18
18
  MAJOR = 1
19
19
  MINOR = 2
20
- TINY = 2
20
+ TINY = 3
21
21
  PRE = nil
22
22
 
23
23
  STRING = [MAJOR, MINOR, TINY, PRE].compact.join(".")
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: smartmachine
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.2
4
+ version: 1.2.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - plainsource
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-05-17 00:00:00.000000000 Z
11
+ date: 2024-06-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: net-ssh
@@ -417,8 +417,8 @@ licenses:
417
417
  metadata:
418
418
  homepage_uri: https://github.com/plainsource/smartmachine
419
419
  bug_tracker_uri: https://github.com/plainsource/smartmachine/issues
420
- changelog_uri: https://github.com/plainsource/smartmachine/releases/tag/v1.2.2
421
- source_code_uri: https://github.com/plainsource/smartmachine/tree/v1.2.2
420
+ changelog_uri: https://github.com/plainsource/smartmachine/releases/tag/v1.2.3
421
+ source_code_uri: https://github.com/plainsource/smartmachine/tree/v1.2.3
422
422
  post_install_message:
423
423
  rdoc_options: []
424
424
  require_paths: