ndr_dev_support 7.2.4 → 7.2.5

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: 9e5760933886f19bcab8185f70ff16ff54d49b86ad1f71a877d96c76e04525ed
4
- data.tar.gz: c323d25d9fed68097242f6e3888c8eb1637bde1b6ec59e0c118667f88b33430e
3
+ metadata.gz: c06a8a245b57d89e1b5696c4c6594c5aabb1aef5d44acf9a603289ec59aa06ad
4
+ data.tar.gz: 69d2c65b9b2e15d61a93838461f67db0ae96408471cdca4c3babda50cdd9a9b0
5
5
  SHA512:
6
- metadata.gz: 494704abc8b128a67f258695a8e2364de7700f98757eb351c2d68cde3543348eeb20d8defcc05f67d865b0fcb39c828f49a0cdb825e5f958a871d8618fbbda71
7
- data.tar.gz: 0defdea96cdd6ba105a5527bd403847ff7ab9196543aac1ea4ed6279928b7c8527c164ee18fd4b8e287926490e75fb9e2e816d50b8e42995d8b9f584e9c95ae9
6
+ metadata.gz: b1df7d973de876c9f649680ab5743a046a5f429205e2ea90ec9e69b71c400ef62907338ab19c0d63e3fb5898d3672cefe1b5548dfa4cefebf276a3ebdbef8ac1
7
+ data.tar.gz: 99119b43fee9c4968ef4401075db0f62b2823572909288939ab7122cbef9e34bc3d898475371138d53e5485c35b338e8e806b1c4cffe602be5df47086e640ae3
data/CHANGELOG.md CHANGED
@@ -1,8 +1,17 @@
1
1
  ## [Unreleased]
2
2
  *no unreleased changes*
3
3
 
4
+ ## 7.2.5 / 2024-10-24
5
+ ### Changed
6
+ * Capistrano: fix up installed gem permissions after deployment.
7
+ * Capistrano: identify errors when installing out-of-bundle gems.
8
+ * Allow either hash `EnforcedShorthandSyntax` style
9
+
10
+ ### Added
11
+ * `deploy:setup` creates more of the "NDR model" shared directories
12
+
4
13
  ## 7.2.4 / 2024-05-01
5
- ## Changed
14
+ ### Changed
6
15
  * Change default browser for integration tests to new headless Chrome
7
16
  * Support old chrome headless driver
8
17
  * Reduce the number of releases kept on application servers
@@ -145,3 +145,5 @@ Rails/SkipsModelValidations:
145
145
  # avoiding them is not helpful/practical.
146
146
  Enabled: false
147
147
 
148
+ Style/HashSyntax:
149
+ EnforcedShorthandSyntax: either
@@ -71,9 +71,15 @@ Capistrano::Configuration.instance(:must_exist).load do
71
71
 
72
72
  fetch(:shared_paths, []).each do |path|
73
73
  full_path = File.join(shared_path, path)
74
+ parent_dir = File.dirname(full_path)
75
+
76
+ if /^n$/ =~ capture("test -e #{parent_dir} && echo 'y' || echo 'n'")
77
+ run "mkdir -p #{parent_dir}"
78
+ logger.info "Created shared '#{parent_dir}'"
79
+ end
74
80
 
75
81
  if /^n$/ =~ capture("test -e #{full_path} && echo 'y' || echo 'n'")
76
- warn Rainbow("Warning: shared '#{path}' is not yet present!").red
82
+ logger.important "Warning: shared '#{path}' is not yet present!"
77
83
  end
78
84
  end
79
85
  end
@@ -147,6 +153,18 @@ Capistrano::Configuration.instance(:must_exist).load do
147
153
  # already there:
148
154
  run "rm -rf #{File.join(release_path, path)} && ln -s #{File.join(shared_path, path)} #{File.join(release_path, path)}"
149
155
  end
156
+
157
+ # Make the shared/bundle/ directory writeable by deployers:
158
+ # We already set group permissions correctly in the bundle directory, but some gem installs
159
+ # ignore these permissions, so we need to fix them up.
160
+ # Set deployer group for everything created by this user
161
+ run "find #{File.join(shared_path, 'bundle')} -group #{fetch(:user)} -print0 |xargs -r0 chgrp -h deployer"
162
+ # Set group sticky and group / world bits on directories created by this user
163
+ run "find #{File.join(shared_path, 'bundle')} -user #{fetch(:user)} -type d " \
164
+ '-not -perm -2075 -print0 |xargs -r0 chmod g+rwxs,o+rx'
165
+ # Add group writeable and readable and world readable bits to all files created by this user
166
+ run "find #{File.join(shared_path, 'bundle')} -user #{fetch(:user)} -type f " \
167
+ '-not -perm -0064 -print0 |xargs -r0 chmod g+rw,o+r'
150
168
  end
151
169
 
152
170
  after 'deploy:finalize_update', 'ndr_dev_support:filesystem_tweaks'
@@ -21,15 +21,18 @@ Capistrano::Configuration.instance(:must_exist).load do
21
21
  'gem install'
22
22
  end
23
23
 
24
+ # TODO: Add `gem install bundler`, move this to before bundle:install instead of after
25
+
24
26
  # Extract the current version requirements for each of the gems from the lockfile,
25
27
  # and then check they're installed. If not, install them from the vendored cache.
26
28
  run <<~CMD if gem_list.any?
29
+ set -e;
27
30
  export RBENV_VERSION=`cat "#{latest_release}/.ruby-version"`;
28
31
  cat "#{latest_release}/Gemfile.lock" | egrep "^ (#{gem_list.join('|')}) " | tr -d '()' | \
29
32
  while read gem ver; do
30
33
  gem list -i "$gem" --version "$ver" > /dev/null || \
31
34
  #{gem_install} "#{latest_release}/vendor/cache/$gem-$ver.gem" \
32
- --ignore-dependencies --conservative --no-document;
35
+ --ignore-dependencies --conservative --no-document --local;
33
36
  done
34
37
  CMD
35
38
  end
@@ -2,5 +2,5 @@
2
2
  # This defines the NdrDevSupport version. If you change it, rebuild and commit the gem.
3
3
  # Use "rake build" to build the gem, see rake -T for all bundler rake tasks (and our own).
4
4
  module NdrDevSupport
5
- VERSION = '7.2.4'
5
+ VERSION = '7.2.5'
6
6
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ndr_dev_support
3
3
  version: !ruby/object:Gem::Version
4
- version: 7.2.4
4
+ version: 7.2.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - NCRS Development Team
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-05-01 00:00:00.000000000 Z
11
+ date: 2024-10-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: pry
@@ -470,7 +470,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
470
470
  - !ruby/object:Gem::Version
471
471
  version: '0'
472
472
  requirements: []
473
- rubygems_version: 3.2.33
473
+ rubygems_version: 3.3.27
474
474
  signing_key:
475
475
  specification_version: 4
476
476
  summary: NDR Developer Support library