diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index b1c2e5ad2..c2c662cf7 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -38,7 +38,7 @@ jobs: # Pinned SHA kept in sync with .github/workflows/test.yml (ruby/setup-ruby v1.316.0). uses: ruby/setup-ruby@d45b1a4e94b71acab930e56e79c6aa188764e7f9 # v1.316.0 with: - ruby-version: 3.3.4 + ruby-version: 4.0.5 bundler-cache: true - name: Configure Pages diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 654509ddc..12641a679 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -21,7 +21,7 @@ jobs: - name: Set up Ruby uses: ruby/setup-ruby@d45b1a4e94b71acab930e56e79c6aa188764e7f9 # v1.316.0 with: - ruby-version: 3.3.4 + ruby-version: 4.0.5 bundler-cache: true - name: Run tests diff --git a/.rubocop.yml b/.rubocop.yml index 82e3368bb..ce919064c 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -1,6 +1,6 @@ AllCops: NewCops: enable - TargetRubyVersion: 3.3 + TargetRubyVersion: 4.0 Exclude: - _site/**/* - vendor/**/* diff --git a/.ruby-version b/.ruby-version index a0891f563..7636e7565 100644 --- a/.ruby-version +++ b/.ruby-version @@ -1 +1 @@ -3.3.4 +4.0.5 diff --git a/Gemfile b/Gemfile index 8356cd74b..51ab4ac2e 100644 --- a/Gemfile +++ b/Gemfile @@ -25,7 +25,7 @@ group :development do end group :test do - gem 'html-proofer', '~> 3.0' + gem 'html-proofer', '~> 5.0' gem 'licensee', git: 'https://github.com/licensee/licensee.git', branch: 'master' gem 'rake' gem 'rspec' diff --git a/Gemfile.lock b/Gemfile.lock index cff6fcbb0..2f1fa3334 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -13,14 +13,27 @@ GIT GEM remote: https://rubygems.org/ specs: + Ascii85 (2.0.1) addressable (2.9.0) public_suffix (>= 2.0.2, < 8.0) + afm (1.0.0) ast (2.4.3) + async (2.37.0) + console (~> 1.29) + fiber-annotation + io-event (~> 1.11) + metrics (~> 0.12) + traces (~> 0.18) base64 (0.3.0) + benchmark (0.5.0) bigdecimal (4.1.2) colorator (1.1.0) colored (1.2) concurrent-ruby (1.3.7) + console (1.34.3) + fiber-annotation + fiber-local (~> 1.1) + json csv (3.3.5) diff-lcs (1.6.2) dotenv (2.8.1) @@ -45,6 +58,10 @@ GEM ffi (1.17.4-x86_64-darwin) ffi (1.17.4-x86_64-linux-gnu) ffi (1.17.4-x86_64-linux-musl) + fiber-annotation (0.2.0) + fiber-local (1.1.0) + fiber-storage + fiber-storage (1.0.1) forwardable-extended (2.6.0) fuzzy_match (2.1.0) google-protobuf (4.35.1) @@ -68,17 +85,21 @@ GEM google-protobuf (4.35.1-x86_64-linux-musl) bigdecimal rake (~> 13.3) - html-proofer (3.19.4) + hashery (2.1.2) + html-proofer (5.2.1) addressable (~> 2.3) - mercenary (~> 0.3) + async (~> 2.1) + benchmark (~> 0.5) nokogiri (~> 1.13) - parallel (~> 1.10) + pdf-reader (~> 2.11) rainbow (~> 3.0) typhoeus (~> 1.3) yell (~> 2.0) + zeitwerk (~> 2.5) http_parser.rb (0.8.1) i18n (1.15.2) concurrent-ruby (~> 1.0) + io-event (1.11.2) jekyll (4.4.1) addressable (~> 2.4) base64 (~> 0.2) @@ -127,6 +148,7 @@ GEM rb-inotify (~> 0.9, >= 0.9.10) logger (1.7.0) mercenary (0.4.0) + metrics (0.15.0) net-http (0.9.1) uri (>= 0.11.1) nokogiri (1.19.4-aarch64-linux-gnu) @@ -154,6 +176,12 @@ GEM racc pathutil (0.16.2) forwardable-extended (~> 2.6) + pdf-reader (2.15.1) + Ascii85 (>= 1.0, < 3.0, != 2.0.0) + afm (>= 0.2.1, < 2) + hashery (~> 2.0) + ruby-rc4 + ttfunk prism (1.9.0) public_suffix (7.0.5) racc (1.8.1) @@ -195,6 +223,7 @@ GEM parser (>= 3.3.7.2) prism (~> 1.7) ruby-progressbar (1.13.0) + ruby-rc4 (0.1.5) rugged (1.9.4) safe_yaml (1.0.5) sass-embedded (1.101.0-aarch64-linux-gnu) @@ -219,12 +248,15 @@ GEM terminal-table (3.0.2) unicode-display_width (>= 1.1.1, < 3) thor (1.5.0) + traces (0.18.2) + ttfunk (1.7.0) typhoeus (1.6.0) ethon (>= 0.18.0) unicode-display_width (2.6.0) uri (1.1.1) webrick (1.9.2) yell (2.2.2) + zeitwerk (2.8.2) PLATFORMS aarch64-linux-gnu @@ -241,7 +273,7 @@ PLATFORMS DEPENDENCIES colored fuzzy_match - html-proofer (~> 3.0) + html-proofer (~> 5.0) jekyll (~> 4.3) jekyll-github-metadata (~> 2.16) jekyll-polyglot (~> 1.5) @@ -257,14 +289,19 @@ DEPENDENCIES webrick (~> 1.7) CHECKSUMS + Ascii85 (2.0.1) sha256=15cb5d941808543cbb9e7e6aea3c8ec3877f154c3461e8b3673e97f7ecedbe5a addressable (2.9.0) sha256=7fdf6ac3660f7f4e867a0838be3f6cf722ace541dd97767fa42bc6cfa980c7af + afm (1.0.0) sha256=5bd4d6f6241e7014ef090985ec6f4c3e9745f6de0828ddd58bc1efdd138f4545 ast (2.4.3) sha256=954615157c1d6a382bc27d690d973195e79db7f55e9765ac7c481c60bdb4d383 + async (2.37.0) sha256=e9d4b71f3509b44a3d2a19958101bf158dba975ba49a64a6934c8f0340ed989f base64 (0.3.0) sha256=27337aeabad6ffae05c265c450490628ef3ebd4b67be58257393227588f5a97b + benchmark (0.5.0) sha256=465df122341aedcb81a2a24b4d3bd19b6c67c1530713fd533f3ff034e419236c bigdecimal (4.1.2) sha256=53d217666027eab4280346fba98e7d5b66baaae1b9c3c1c0ffe89d48188a3fbd bundler (4.0.16) sha256=d6ca5dd440c24f9abce9844cf44cc8e18c6a553de65a47efb4544137af92c47d colorator (1.1.0) sha256=e2f85daf57af47d740db2a32191d1bdfb0f6503a0dfbc8327d0c9154d5ddfc38 colored (1.2) sha256=9d82b47ac589ce7f6cab64b1f194a2009e9fd00c326a5357321f44afab2c1d2c concurrent-ruby (1.3.7) sha256=4412caec3a5ea2e5fdc52076724c071a81f2c0593d83b2ac8cbb8ca63b3151b0 + console (1.34.3) sha256=869fbd74697efc4c606f102d2812b0b008e4e7fd738a91c591e8577140ec0dcc csv (3.3.5) sha256=6e5134ac3383ef728b7f02725d9872934f523cb40b961479f69cf3afa6c8e73f diff-lcs (1.6.2) sha256=9ae0d2cba7d4df3075fe8cd8602a8604993efc0dfa934cff568969efb1909962 dotenv (2.8.1) sha256=c5944793349ae03c432e1780a2ca929d60b88c7d14d52d630db0508c3a8a17d8 @@ -281,6 +318,9 @@ CHECKSUMS ffi (1.17.4-x86_64-darwin) sha256=aa70390523cf3235096cf64962b709b4cfbd5c082a2cb2ae714eb0fe2ccda496 ffi (1.17.4-x86_64-linux-gnu) sha256=9d3db14c2eae074b382fa9c083fe95aec6e0a1451da249eab096c34002bc752d ffi (1.17.4-x86_64-linux-musl) sha256=3fdf9888483de005f8ef8d1cf2d3b20d86626af206cbf780f6a6a12439a9c49e + fiber-annotation (0.2.0) sha256=7abfadf1d119f508867d4103bf231c0354d019cc39a5738945dec2edadaf6c03 + fiber-local (1.1.0) sha256=c885f94f210fb9b05737de65d511136ea602e00c5105953748aa0f8793489f06 + fiber-storage (1.0.1) sha256=f48e5b6d8b0be96dac486332b55cee82240057065dc761c1ea692b2e719240e1 forwardable-extended (2.6.0) sha256=1bec948c469bbddfadeb3bd90eb8c85f6e627a412a3e852acfd7eaedbac3ec97 fuzzy_match (2.1.0) sha256=e97e25d0eaee48a5f77ed970d007c7b6ff3c6a6858303fead2d1986859204dfc google-protobuf (4.35.1) sha256=a3a6471331d918f58dfa4d014a8f6286f0af2cf4840216bde52fcf2ea3fe3726 @@ -290,9 +330,11 @@ CHECKSUMS google-protobuf (4.35.1-x86_64-darwin) sha256=66b62b4df00931018a692806df66393efa960d6d2b7da69735187249f950d3ee google-protobuf (4.35.1-x86_64-linux-gnu) sha256=c786439087512a3fbd199e9897d265b855f951d4027e218ea55e858d45969edd google-protobuf (4.35.1-x86_64-linux-musl) sha256=91890eb0002934a339fdb7d77a147c46b7474b6799db27872b747b905837f744 - html-proofer (3.19.4) sha256=879420631c0271bccabcc1725663ce118bb6390fe26a7b38e22ecd886d8da62e + hashery (2.1.2) sha256=d239cc2310401903f6b79d458c2bbef5bf74c46f3f974ae9c1061fb74a404862 + html-proofer (5.2.1) sha256=fdd958a7cbf9c3255fb96fe7cfc4e611f64e2706e469488a3326309ad007d2fd http_parser.rb (0.8.1) sha256=9ae8df145b39aa5398b2f90090d651c67bd8e2ebfe4507c966579f641e11097a i18n (1.15.2) sha256=00f9eb62412fe593b2a65a97daa75300d37abb8f7202ec748e94b6d46a9dd1b5 + io-event (1.11.2) sha256=4a640ac7d86d9f5fc0d4f47dd83eff82e9fe5818b0d910596b058ca1b34b96b9 jekyll (4.4.1) sha256=4c1144d857a5b2b80d45b8cf5138289579a9f8136aadfa6dd684b31fe2bc18c1 jekyll-github-metadata (2.16.1) sha256=4cf29988bdaf24774a7bc07fae71e54424ddfaa2895f742d8fa3036d0db65b4c jekyll-polyglot (1.13.0) sha256=a5667e78b587e75b9705d387c6709e5e2237f7e0ddc471afa32094974add8ee4 @@ -311,6 +353,7 @@ CHECKSUMS listen (3.10.0) sha256=c6e182db62143aeccc2e1960033bebe7445309c7272061979bb098d03760c9d2 logger (1.7.0) sha256=196edec7cc44b66cfb40f9755ce11b392f21f7967696af15d274dde7edff0203 mercenary (0.4.0) sha256=b25a1e4a59adca88665e08e24acf0af30da5b5d859f7d8f38fba52c28f405138 + metrics (0.15.0) sha256=61ded5bac95118e995b1bc9ed4a5f19bc9814928a312a85b200abbdac9039072 net-http (0.9.1) sha256=25ba0b67c63e89df626ed8fac771d0ad24ad151a858af2cc8e6a716ca4336996 nokogiri (1.19.4-aarch64-linux-gnu) sha256=1269fb644a6de405057a53dd5c762b1209b43ca7424f839454d3dbc677c31a8f nokogiri (1.19.4-aarch64-linux-musl) sha256=35c65b9ce72b3bb03207bdbe7067915019dc18c1b9b59139684bd6690fdd01af @@ -324,6 +367,7 @@ CHECKSUMS parallel (1.28.0) sha256=33e6de1484baf2524792d178b0913fc8eb94c628d6cfe45599ad4458c638c970 parser (3.3.11.1) sha256=d17ace7aabe3e72c3cc94043714be27cc6f852f104d81aa284c2281aecc65d54 pathutil (0.16.2) sha256=e43b74365631cab4f6d5e4228f812927efc9cb2c71e62976edcb252ee948d589 + pdf-reader (2.15.1) sha256=18c6a986a84a3117fa49f4279fc2de51f5d2399b71833df5d2bccd595c7068ce prism (1.9.0) sha256=7b530c6a9f92c24300014919c9dcbc055bf4cdf51ec30aed099b06cd6674ef85 public_suffix (7.0.5) sha256=1a8bb08f1bbea19228d3bed6e5ed908d1cb4f7c2726d18bd9cadf60bc676f623 racc (1.8.1) sha256=4a7f6929691dbec8b5209a0b373bc2614882b55fc5d2e447a21aaa691303d62f @@ -343,6 +387,7 @@ CHECKSUMS rubocop (1.88.2) sha256=8def251c90cd955feb4daa3edc0ab56893250c4ce90ef81e6c80c03f9a939bbf rubocop-ast (1.50.0) sha256=b9ca88300da0803ee222ad20cdb30494c0a784eed06fdc35d254b06d662788db ruby-progressbar (1.13.0) sha256=80fc9c47a9b640d6834e0dc7b3c94c9df37f08cb072b7761e4a71e22cff29b33 + ruby-rc4 (0.1.5) sha256=00cc40a39d20b53f5459e7ea006a92cf584e9bc275e2a6f7aa1515510e896c03 rugged (1.9.4) sha256=5876152be06568b413eb7eaccf3932a5b011a139fcf9330a680abdf16859dcd3 safe_yaml (1.0.5) sha256=a6ac2d64b7eb027bdeeca1851fe7e7af0d668e133e8a88066a0c6f7087d9f848 sass-embedded (1.101.0-aarch64-linux-gnu) sha256=8f6926349e880dbb4fda75fb182086fb60aa821b756bcbfc8e5b2b23b1f269d6 @@ -356,11 +401,14 @@ CHECKSUMS sawyer (0.9.3) sha256=0d0f19298408047037638639fe62f4794483fb04320269169bd41af2bdcf5e41 terminal-table (3.0.2) sha256=f951b6af5f3e00203fb290a669e0a85c5dd5b051b3b023392ccfd67ba5abae91 thor (1.5.0) sha256=e3a9e55fe857e44859ce104a84675ab6e8cd59c650a49106a05f55f136425e73 + traces (0.18.2) sha256=80f1649cb4daace1d7174b81f3b3b7427af0b93047759ba349960cb8f315e214 + ttfunk (1.7.0) sha256=2370ba484b1891c70bdcafd3448cfd82a32dd794802d81d720a64c15d3ef2a96 typhoeus (1.6.0) sha256=bacc41c23e379547e29801dc235cd1699b70b955a1ba3d32b2b877aa844c331d unicode-display_width (2.6.0) sha256=12279874bba6d5e4d2728cef814b19197dbb10d7a7837a869bab65da943b7f5a uri (1.1.1) sha256=379fa58d27ffb1387eaada68c749d1426738bd0f654d812fcc07e7568f5c57c6 webrick (1.9.2) sha256=beb4a15fc474defed24a3bda4ffd88a490d517c9e4e6118c3edce59e45864131 yell (2.2.2) sha256=1d166f3cc3b6dc49a59778ea7156ed6d8de794c15106d48ffd6cbb061b9b26bc + zeitwerk (2.8.2) sha256=7212a61311083c604184b1ea2574b9aa05cd14f855a0841c06985cabe9181d12 BUNDLED WITH 4.0.16 diff --git a/Rakefile b/Rakefile index 41d83e605..7350a3bd4 100644 --- a/Rakefile +++ b/Rakefile @@ -13,17 +13,16 @@ task :test do sh 'bundle exec jekyll build' Rake::Task['spec'].invoke HTMLProofer.check_directory('./_site', - check_html: true, + checks: %w[Links Images Scripts], + check_external_hash: false, enforce_https: true, - validation: { ignore_script_embeds: true }, - url_swap: { %r{https://choosealicense.com} => '' }, - url_ignore: [%r{https://github.com/github/choosealicense.com/edit/gh-pages/_licenses/}, - %r{https://help.github.com}, - %r{https://opensource.org}, - %r{https://git.savannah.gnu.org}, - %r{https://www.gnu.org/licenses/license-recommendations.html}], - hydra: { max_concurrency: 10 }, - check_img_http: true).run + swap_urls: { %r{https://choosealicense.com} => '' }, + ignore_urls: [%r{https://github.com/github/choosealicense.com/edit/gh-pages/_licenses/}, + %r{https://help.github.com}, + %r{https://opensource.org}, + %r{https://git.savannah.gnu.org}, + %r{https://www.gnu.org/licenses/license-recommendations.html}], + hydra: { max_concurrency: 10 }).run end task :approved_licenses do