diff --git a/.circleci/config.yml b/.circleci/config.yml index 4b9029aec..9c9d7ef68 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -11,7 +11,7 @@ references: test_container_config: &test_container_config docker: - - image: circleci/ruby:2.6.3-node-browsers + - image: circleci/ruby:2.7.2-node-browsers environment: RAILS_ENV: test PGHOST: 127.0.0.1 @@ -108,7 +108,7 @@ jobs: command: 'sudo npm install -g npm@latest' - run: name: Install GOV.UK frontend modules - command: npm install + command: 'sudo npm install -g npm@latest' - run: bundle check --path vendor/bundle || bundle install --path vendor/bundle - save_cache: key: prison-visits-public-{{ checksum "Gemfile.lock" }} diff --git a/.ruby-version b/.ruby-version index ec1cf33c3..860487ca1 100644 --- a/.ruby-version +++ b/.ruby-version @@ -1 +1 @@ -2.6.3 +2.7.1 diff --git a/Gemfile b/Gemfile index 8c89d15de..0980f3a85 100644 --- a/Gemfile +++ b/Gemfile @@ -1,5 +1,5 @@ source 'https://rubygems.org' -ruby '2.6.3' +ruby '2.7.1' gem 'rails', '~> 5.2' diff --git a/Gemfile.lock b/Gemfile.lock index fd20a4273..d4c96b61f 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -19,100 +19,101 @@ GIT GEM remote: https://rubygems.org/ specs: - actioncable (5.2.4.4) - actionpack (= 5.2.4.4) + actioncable (5.2.6.2) + actionpack (= 5.2.6.2) nio4r (~> 2.0) websocket-driver (>= 0.6.1) - actionmailer (5.2.4.4) - actionpack (= 5.2.4.4) - actionview (= 5.2.4.4) - activejob (= 5.2.4.4) + actionmailer (5.2.6.2) + actionpack (= 5.2.6.2) + actionview (= 5.2.6.2) + activejob (= 5.2.6.2) mail (~> 2.5, >= 2.5.4) rails-dom-testing (~> 2.0) - actionpack (5.2.4.4) - actionview (= 5.2.4.4) - activesupport (= 5.2.4.4) + actionpack (5.2.6.2) + actionview (= 5.2.6.2) + activesupport (= 5.2.6.2) rack (~> 2.0, >= 2.0.8) rack-test (>= 0.6.3) rails-dom-testing (~> 2.0) rails-html-sanitizer (~> 1.0, >= 1.0.2) - actionview (5.2.4.4) - activesupport (= 5.2.4.4) + actionview (5.2.6.2) + activesupport (= 5.2.6.2) builder (~> 3.1) erubi (~> 1.4) rails-dom-testing (~> 2.0) rails-html-sanitizer (~> 1.0, >= 1.0.3) - activejob (5.2.4.4) - activesupport (= 5.2.4.4) + activejob (5.2.6.2) + activesupport (= 5.2.6.2) globalid (>= 0.3.6) - activemodel (5.2.4.4) - activesupport (= 5.2.4.4) - activerecord (5.2.4.4) - activemodel (= 5.2.4.4) - activesupport (= 5.2.4.4) + activemodel (5.2.6.2) + activesupport (= 5.2.6.2) + activerecord (5.2.6.2) + activemodel (= 5.2.6.2) + activesupport (= 5.2.6.2) arel (>= 9.0) - activestorage (5.2.4.4) - actionpack (= 5.2.4.4) - activerecord (= 5.2.4.4) - marcel (~> 0.3.1) - activesupport (5.2.4.4) + activestorage (5.2.6.2) + actionpack (= 5.2.6.2) + activerecord (= 5.2.6.2) + marcel (~> 1.0.0) + activesupport (5.2.6.2) concurrent-ruby (~> 1.0, >= 1.0.2) i18n (>= 0.7, < 2) minitest (~> 5.1) tzinfo (~> 1.1) - addressable (2.7.0) + addressable (2.8.0) public_suffix (>= 2.0.2, < 5.0) arel (9.0.0) - ast (2.4.1) - awesome_print (1.8.0) - brakeman (4.8.0) + ast (2.4.2) + awesome_print (1.9.2) + brakeman (5.2.1) builder (3.2.4) byebug (11.1.3) - capybara (3.33.0) + capybara (3.36.0) addressable + matrix mini_mime (>= 0.1.3) nokogiri (~> 1.8) rack (>= 1.6.0) rack-test (>= 0.6.3) - regexp_parser (~> 1.5) + regexp_parser (>= 1.5, < 3.0) xpath (~> 3.2) - capybara-screenshot (1.0.24) + capybara-screenshot (1.0.26) capybara (>= 1.0, < 4) launchy - childprocess (3.0.0) + childprocess (4.1.0) coderay (1.1.3) - concurrent-ruby (1.1.7) - connection_pool (2.2.3) - crack (0.4.3) - safe_yaml (~> 1.0.0) + concurrent-ruby (1.1.9) + connection_pool (2.2.5) + crack (0.4.5) + rexml crass (1.0.6) - diff-lcs (1.4.4) - docile (1.3.2) - erubi (1.9.0) - excon (0.72.0) - execjs (2.7.0) - faraday (1.0.0) - multipart-post (>= 1.2, < 3) - ffi (1.11.1) - fuubar (2.5.0) + diff-lcs (1.5.0) + docile (1.4.0) + erubi (1.10.0) + excon (0.91.0) + execjs (2.8.1) + faraday (2.2.0) + faraday-net_http (~> 2.0) + ruby2_keywords (>= 0.0.4) + faraday-net_http (2.0.1) + ffi (1.15.5) + fuubar (2.5.1) rspec-core (~> 3.0) ruby-progressbar (~> 1.4) - globalid (0.4.2) - activesupport (>= 4.2.0) + globalid (1.0.0) + activesupport (>= 5.0) govuk_elements_rails (3.1.3) govuk_frontend_toolkit (>= 6.0.2) rails (>= 4.1.0) sass (>= 3.2.0) - govuk_frontend_toolkit (8.2.0) + govuk_frontend_toolkit (9.0.1) railties (>= 3.1.0) - sass (>= 3.2.0) govuk_template (0.26.0) rails (>= 3.1) hashdiff (1.0.1) high_voltage (3.1.2) - i18n (1.8.5) + i18n (1.10.0) concurrent-ruby (~> 1.0) - jaro_winkler (1.5.4) jasmine (3.5.1) jasmine-core (~> 3.5.0) phantomjs @@ -126,8 +127,7 @@ GEM thor (>= 0.14, < 2.0) jquery-ui-rails (6.0.1) railties (>= 3.2.16) - json (2.3.0) - kramdown (2.3.0) + kramdown (2.3.1) rexml launchy (2.5.0) addressable (~> 2.7) @@ -137,30 +137,28 @@ GEM railties (>= 4) request_store (~> 1.0) logstash-event (1.2.02) - loofah (2.7.0) + loofah (2.14.0) crass (~> 1.0.2) nokogiri (>= 1.5.9) - macaddr (1.7.1) - systemu (~> 2.6.2) + macaddr (1.7.2) + systemu (~> 2.6.5) mail (2.7.1) mini_mime (>= 0.1.1) - marcel (0.3.3) - mimemagic (~> 0.3.2) + marcel (1.0.2) + matrix (0.4.2) method_source (1.0.0) - mimemagic (0.3.5) - mini_mime (1.0.2) - mini_portile2 (2.4.0) - minitest (5.14.2) - multipart-post (2.1.1) - nio4r (2.5.4) - nokogiri (1.10.10) - mini_portile2 (~> 2.4.0) - parallel (1.19.2) - parser (2.7.1.4) + mini_mime (1.1.2) + minitest (5.15.0) + nio4r (2.5.8) + nokogiri (1.13.1-x86_64-darwin) + racc (~> 1.4) + parallel (1.21.0) + parser (3.1.0.0) ast (~> 2.4.1) phantomjs (2.1.1.0) - phonelib (0.6.45) - prometheus_exporter (0.4.17) + phonelib (0.6.55) + prometheus_exporter (1.0.1) + webrick pry (0.13.1) coderay (~> 1.1) method_source (~> 1.0) @@ -169,26 +167,27 @@ GEM pry (~> 0.13.0) pry-rails (0.3.9) pry (>= 0.10.4) - public_suffix (4.0.5) - puma (4.3.5) + public_suffix (4.0.6) + puma (5.6.2) nio4r (~> 2.0) + racc (1.6.0) rack (2.2.3) rack-accept (0.4.5) rack (>= 0.4) rack-test (1.1.0) rack (>= 1.0, < 3) - rails (5.2.4.4) - actioncable (= 5.2.4.4) - actionmailer (= 5.2.4.4) - actionpack (= 5.2.4.4) - actionview (= 5.2.4.4) - activejob (= 5.2.4.4) - activemodel (= 5.2.4.4) - activerecord (= 5.2.4.4) - activestorage (= 5.2.4.4) - activesupport (= 5.2.4.4) + rails (5.2.6.2) + actioncable (= 5.2.6.2) + actionmailer (= 5.2.6.2) + actionpack (= 5.2.6.2) + actionview (= 5.2.6.2) + activejob (= 5.2.6.2) + activemodel (= 5.2.6.2) + activerecord (= 5.2.6.2) + activestorage (= 5.2.6.2) + activesupport (= 5.2.6.2) bundler (>= 1.3.0) - railties (= 5.2.4.4) + railties (= 5.2.6.2) sprockets-rails (>= 2.0.0) rails-controller-testing (1.0.5) actionpack (>= 5.0.1.rc1) @@ -197,124 +196,130 @@ GEM rails-dom-testing (2.0.3) activesupport (>= 4.2.0) nokogiri (>= 1.6) - rails-html-sanitizer (1.3.0) + rails-html-sanitizer (1.4.2) loofah (~> 2.3) - railties (5.2.4.4) - actionpack (= 5.2.4.4) - activesupport (= 5.2.4.4) + railties (5.2.6.2) + actionpack (= 5.2.6.2) + activesupport (= 5.2.6.2) method_source rake (>= 0.8.7) thor (>= 0.19.0, < 2.0) - rainbow (3.0.0) - rake (13.0.1) - rb-fsevent (0.10.3) - rb-inotify (0.10.0) + rainbow (3.1.1) + rake (13.0.6) + rb-fsevent (0.11.1) + rb-inotify (0.10.1) ffi (~> 1.0) - regexp_parser (1.7.1) + regexp_parser (2.2.1) request_store (1.3.2) - rexml (3.2.4) - rspec-core (3.9.2) - rspec-support (~> 3.9.3) - rspec-expectations (3.9.2) + rexml (3.2.5) + rspec-core (3.11.0) + rspec-support (~> 3.11.0) + rspec-expectations (3.11.0) diff-lcs (>= 1.2.0, < 2.0) - rspec-support (~> 3.9.0) - rspec-mocks (3.9.1) + rspec-support (~> 3.11.0) + rspec-mocks (3.11.0) diff-lcs (>= 1.2.0, < 2.0) - rspec-support (~> 3.9.0) - rspec-rails (4.0.1) + rspec-support (~> 3.11.0) + rspec-rails (4.1.2) actionpack (>= 4.2) activesupport (>= 4.2) railties (>= 4.2) - rspec-core (~> 3.9) - rspec-expectations (~> 3.9) - rspec-mocks (~> 3.9) - rspec-support (~> 3.9) - rspec-support (3.9.3) - rubocop (0.80.1) - jaro_winkler (~> 1.5.1) + rspec-core (~> 3.10) + rspec-expectations (~> 3.10) + rspec-mocks (~> 3.10) + rspec-support (~> 3.10) + rspec-support (3.11.0) + rubocop (1.25.1) parallel (~> 1.10) - parser (>= 2.7.0.1) + parser (>= 3.1.0.0) rainbow (>= 2.2.2, < 4.0) + regexp_parser (>= 1.8, < 3.0) rexml + rubocop-ast (>= 1.15.1, < 2.0) ruby-progressbar (~> 1.7) - unicode-display_width (>= 1.4.0, < 1.7) - rubocop-performance (1.6.1) - rubocop (>= 0.71.0) - rubocop-rails (2.5.2) - activesupport + unicode-display_width (>= 1.4.0, < 3.0) + rubocop-ast (1.15.2) + parser (>= 3.0.1.1) + rubocop-performance (1.13.2) + rubocop (>= 1.7.0, < 2.0) + rubocop-ast (>= 0.4.0) + rubocop-rails (2.13.2) + activesupport (>= 4.2.0) rack (>= 1.1) - rubocop (>= 0.72.0) - rubocop-rspec (1.41.0) - rubocop (>= 0.68.1) - ruby-progressbar (1.10.1) - rubyzip (2.0.0) - safe_yaml (1.0.5) + rubocop (>= 1.7.0, < 2.0) + rubocop-rspec (2.8.0) + rubocop (~> 1.19) + ruby-progressbar (1.11.0) + ruby2_keywords (0.0.5) + rubyzip (2.3.2) sass (3.7.4) sass-listen (~> 4.0.0) sass-listen (4.0.0) rb-fsevent (~> 0.9, >= 0.9.4) rb-inotify (~> 0.9, >= 0.9.7) - sassc (2.0.1) + sassc (2.4.0) ffi (~> 1.9) - rake sassc-rails (2.1.2) railties (>= 4.0.0) sassc (>= 2.0) sprockets (> 3.0) sprockets-rails tilt - selenium-webdriver (3.142.7) - childprocess (>= 0.5, < 4.0) + selenium-webdriver (4.1.0) + childprocess (>= 0.5, < 5.0) + rexml (~> 3.2, >= 3.2.5) rubyzip (>= 1.2.2) - sentry-raven (3.0.0) + sentry-raven (3.0.4) faraday (>= 1.0) - shoulda-matchers (4.4.1) - activesupport (>= 4.2.0) - simplecov (0.17.1) + shoulda-matchers (5.1.0) + activesupport (>= 5.2.0) + simplecov (0.21.2) docile (~> 1.1) - json (>= 1.8, < 3) - simplecov-html (~> 0.10.0) - simplecov-html (0.10.2) + simplecov-html (~> 0.11) + simplecov_json_formatter (~> 0.1) + simplecov-html (0.12.3) + simplecov_json_formatter (0.1.4) sprockets (3.7.2) concurrent-ruby (~> 1.0) rack (> 1, < 3) - sprockets-rails (3.2.2) - actionpack (>= 4.0) - activesupport (>= 4.0) + sprockets-rails (3.4.2) + actionpack (>= 5.2) + activesupport (>= 5.2) sprockets (>= 3.0.0) string-scrub (0.0.5) string_scrubber (0.3.0) string-scrub (~> 0.0.5) systemu (2.6.5) - thor (1.0.1) + thor (1.2.1) thread_safe (0.3.6) - tilt (2.0.9) + tilt (2.0.10) turnout (2.5.0) i18n (>= 0.7, < 2) rack (>= 1.3, < 3) rack-accept (~> 0.4) tilt (>= 1.4, < 3) - tzinfo (1.2.7) + tzinfo (1.2.9) thread_safe (~> 0.1) uglifier (4.2.0) execjs (>= 0.3.0, < 3) - unicode-display_width (1.6.1) + unicode-display_width (2.1.0) uri_template (0.7.0) uuid (2.3.9) macaddr (~> 1.0) vcr (6.0.0) - webmock (3.8.3) - addressable (>= 2.3.6) + webmock (3.14.0) + addressable (>= 2.8.0) crack (>= 0.3.2) hashdiff (>= 0.4.0, < 2.0.0) - websocket-driver (0.7.3) + webrick (1.7.0) + websocket-driver (0.7.5) websocket-extensions (>= 0.1.0) websocket-extensions (0.1.5) xpath (3.2.0) nokogiri (~> 1.8) PLATFORMS - ruby + x86_64-darwin-20 DEPENDENCIES awesome_print @@ -368,7 +373,7 @@ DEPENDENCIES webmock RUBY VERSION - ruby 2.6.3p62 + ruby 2.7.1p83 BUNDLED WITH - 1.17.3 + 2.3.7 diff --git a/deploy/production/ingress.yaml b/deploy/production/ingress.yaml index f0d7a58b5..73d1eac9b 100644 --- a/deploy/production/ingress.yaml +++ b/deploy/production/ingress.yaml @@ -6,6 +6,8 @@ metadata: annotations: kubernetes.io/ingress.class: "nginx" nginx.ingress.kubernetes.io/temporal-redirect: https://www.gov.uk/prison-visits + external-dns.alpha.kubernetes.io/set-identifier: prison-visits-public-prison-visits-booking-production-blue + external-dns.alpha.kubernetes.io/aws-weight: "100" spec: tls: - hosts: diff --git a/deploy/staging/ingress.yaml b/deploy/staging/ingress.yaml index c8c70be95..88a1a983d 100644 --- a/deploy/staging/ingress.yaml +++ b/deploy/staging/ingress.yaml @@ -4,6 +4,8 @@ metadata: name: prison-visits-public namespace: prison-visits-booking-staging annotations: + external-dns.alpha.kubernetes.io/set-identifier: prison-visits-public-prison-visits-booking-staging-blue + external-dns.alpha.kubernetes.io/aws-weight: "100" kubernetes.io/ingress.class: "nginx" spec: tls: