ndr_dev_support 7.2.4 → 7.2.5

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: 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