From 6993703043c0214cd2d112b414afc18533ce2b35 Mon Sep 17 00:00:00 2001 From: Peter Law Date: Sun, 18 Aug 2024 18:40:53 +0100 Subject: [PATCH 1/5] Pin to a specific version of html-proofer --- Gemfile | 2 +- Gemfile.lock | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Gemfile b/Gemfile index 05161448..bb707800 100644 --- a/Gemfile +++ b/Gemfile @@ -10,7 +10,7 @@ gem 'jekyll', 3.9 gem 'jekyll-redirect-from' # For testing output -gem 'html-proofer' +gem 'html-proofer', '~> 4' # Avoid polling on windows gem 'wdm', '>= 0.1.0' diff --git a/Gemfile.lock b/Gemfile.lock index 030b2f6a..12325ce0 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -97,7 +97,7 @@ PLATFORMS x64-mingw32 DEPENDENCIES - html-proofer + html-proofer (~> 4) jekyll (= 3.9) jekyll-redirect-from kramdown From 63c762ea983c716bcffdd456d7129b3d7892f1a8 Mon Sep 17 00:00:00 2001 From: Peter Law Date: Sun, 18 Aug 2024 18:53:54 +0100 Subject: [PATCH 2/5] Update bundler to 2.3+ (as used in the website) --- Gemfile.lock | 2 +- README.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 12325ce0..e7e4ada7 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -108,4 +108,4 @@ DEPENDENCIES webrick (~> 1.7) BUNDLED WITH - 2.1.4 + 2.3.6 diff --git a/README.md b/README.md index d9014fe7..2e3daa02 100644 --- a/README.md +++ b/README.md @@ -14,7 +14,7 @@ Once setup, the site will be accessible on http://localhost:4000/docs/ 1. [Install Ruby][install-ruby] -2. Install Bundler (2.x) and Rake +2. Install Bundler (2.3 or above) and Rake ``` shell $ gem install bundler rake From eee2d0dca20bdb0b93bbc76c2d7d1a0e9744f37b Mon Sep 17 00:00:00 2001 From: Peter Law Date: Sun, 18 Aug 2024 18:54:59 +0100 Subject: [PATCH 3/5] Update all dependencies to their latest (still on Ruby 2.x) This appears to include some small changes to syntax highlighting within f-strings, though nothing which appears incorrect. --- Gemfile.lock | 53 ++++++++++++++++++++++++++-------------------------- 1 file changed, 26 insertions(+), 27 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index e7e4ada7..b38fad0f 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,19 +1,19 @@ GEM remote: https://rubygems.org/ specs: - addressable (2.8.1) - public_suffix (>= 2.0.2, < 6.0) + addressable (2.8.7) + public_suffix (>= 2.0.2, < 7.0) colorator (1.1.0) - concurrent-ruby (1.1.8) - em-websocket (0.5.2) + concurrent-ruby (1.3.4) + em-websocket (0.5.3) eventmachine (>= 0.12.9) - http_parser.rb (~> 0.6.0) - ethon (0.15.0) + http_parser.rb (~> 0) + ethon (0.16.0) ffi (>= 1.15.0) eventmachine (1.2.7) eventmachine (1.2.7-x64-mingw32) - ffi (1.15.5) - ffi (1.15.5-x64-mingw32) + ffi (1.17.0) + ffi (1.17.0-x64-mingw32) forwardable-extended (2.6.0) html-proofer (4.4.3) addressable (~> 2.3) @@ -24,7 +24,7 @@ GEM typhoeus (~> 1.3) yell (~> 2.0) zeitwerk (~> 2.5) - http_parser.rb (0.6.0) + http_parser.rb (0.8.0) i18n (0.9.5) concurrent-ruby (~> 1.0) jekyll (3.9.0) @@ -46,37 +46,36 @@ GEM sass (~> 3.4) jekyll-watch (2.2.1) listen (~> 3.0) - kramdown (2.3.1) + kramdown (2.4.0) rexml kramdown-parser-gfm (1.1.0) kramdown (~> 2.0) - liquid (4.0.3) - listen (3.7.1) + liquid (4.0.4) + listen (3.9.0) rb-fsevent (~> 0.10, >= 0.10.3) rb-inotify (~> 0.9, >= 0.9.10) mercenary (0.3.6) - mini_portile2 (2.8.5) - neat (3.0.0) - sass (~> 3.4) + mini_portile2 (2.8.7) + neat (4.0.0) thor (~> 0.19) nokogiri (1.15.6) mini_portile2 (~> 2.8.2) racc (~> 1.4) nokogiri (1.15.6-x64-mingw32) racc (~> 1.4) - parallel (1.22.1) + parallel (1.26.3) pathutil (0.16.2) forwardable-extended (~> 2.6) - public_suffix (5.0.0) - racc (1.7.3) + public_suffix (5.1.1) + racc (1.8.1) rainbow (3.1.1) - rake (12.3.3) - rb-fsevent (0.11.0) - rb-inotify (0.10.1) + rake (13.2.1) + rb-fsevent (0.11.2) + rb-inotify (0.11.1) ffi (~> 1.0) - rexml (3.3.3) + rexml (3.3.5) strscan - rouge (3.26.0) + rouge (3.30.0) safe_yaml (1.0.5) sass (3.7.4) sass-listen (~> 4.0.0) @@ -85,12 +84,12 @@ GEM rb-inotify (~> 0.9, >= 0.9.7) strscan (3.1.0) thor (0.20.3) - typhoeus (1.4.0) + typhoeus (1.4.1) ethon (>= 0.9.0) - wdm (0.1.1) - webrick (1.7.0) + wdm (0.2.0) + webrick (1.8.1) yell (2.2.2) - zeitwerk (2.6.1) + zeitwerk (2.6.17) PLATFORMS ruby From 51732380ceb2d4e84cc0be6824d80084a68b487a Mon Sep 17 00:00:00 2001 From: Peter Law Date: Sun, 18 Aug 2024 19:06:02 +0100 Subject: [PATCH 4/5] Allow wider Jekyll for Ruby 3 support --- Gemfile | 2 +- Gemfile.lock | 11 +++++++---- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/Gemfile b/Gemfile index bb707800..ba26298c 100644 --- a/Gemfile +++ b/Gemfile @@ -6,7 +6,7 @@ gem 'kramdown' # jekyll depends on kramdown-parser-gfm, but fails to declare it gem 'kramdown-parser-gfm' # Pin to the version used on GitHub Pages -gem 'jekyll', 3.9 +gem 'jekyll', '~> 3' gem 'jekyll-redirect-from' # For testing output diff --git a/Gemfile.lock b/Gemfile.lock index b38fad0f..5b916926 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -5,6 +5,7 @@ GEM public_suffix (>= 2.0.2, < 7.0) colorator (1.1.0) concurrent-ruby (1.3.4) + csv (3.3.0) em-websocket (0.5.3) eventmachine (>= 0.12.9) http_parser.rb (~> 0) @@ -25,13 +26,14 @@ GEM yell (~> 2.0) zeitwerk (~> 2.5) http_parser.rb (0.8.0) - i18n (0.9.5) + i18n (1.14.5) concurrent-ruby (~> 1.0) - jekyll (3.9.0) + jekyll (3.10.0) addressable (~> 2.4) colorator (~> 1.0) + csv (~> 3.0) em-websocket (~> 0.5) - i18n (~> 0.7) + i18n (>= 0.7, < 2) jekyll-sass-converter (~> 1.0) jekyll-watch (~> 2.0) kramdown (>= 1.17, < 3) @@ -40,6 +42,7 @@ GEM pathutil (~> 0.9) rouge (>= 1.7, < 4) safe_yaml (~> 1.0) + webrick (>= 1.0) jekyll-redirect-from (0.16.0) jekyll (>= 3.3, < 5.0) jekyll-sass-converter (1.5.2) @@ -97,7 +100,7 @@ PLATFORMS DEPENDENCIES html-proofer (~> 4) - jekyll (= 3.9) + jekyll (~> 3) jekyll-redirect-from kramdown kramdown-parser-gfm From 17ed8751d2cdc6ab7d017027bcddfc59f2fef242 Mon Sep 17 00:00:00 2001 From: Peter Law Date: Sun, 18 Aug 2024 19:06:52 +0100 Subject: [PATCH 5/5] Move to Ruby 3 This includes updating our validation yaml loading to allow parsing date values in the kit versions file, which was previously implicitly allowed but now needs to be explicit. --- .ruby-version | 2 +- Dockerfile | 2 +- Rakefile | 3 ++- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/.ruby-version b/.ruby-version index 2c9b4ef4..15a27998 100644 --- a/.ruby-version +++ b/.ruby-version @@ -1 +1 @@ -2.7.3 +3.3.0 diff --git a/Dockerfile b/Dockerfile index 7fca990c..2c315ce8 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM ruby:2.7 +FROM ruby:3.3 ENV GLOBAL_GEMS=true diff --git a/Rakefile b/Rakefile index 5f58afea..337d3ebd 100644 --- a/Rakefile +++ b/Rakefile @@ -1,3 +1,4 @@ +require 'date' require 'fileutils' require 'set' require 'yaml' @@ -44,7 +45,7 @@ end task :build_spellings => [:build, :spelling_dependencies] task :validate_kit_versions do - data = YAML.load_file('_data/kit_versions.yml') + data = YAML.load_file('_data/kit_versions.yml', permitted_classes: [Date]) data.each do |entry| actual = entry.keys.to_set expected = ['version', 'released', 'link', 'changelog'].to_set