Skip to content

Commit 3af782f

Browse files
authored
Merge pull request #349 from alphagov/sengi/fix-bitrot
Drop support for end-of-life Ruby versions + update dependencies.
2 parents 5994807 + bb8122a commit 3af782f

File tree

12 files changed

+78
-59
lines changed

12 files changed

+78
-59
lines changed

.github/workflows/publish.yaml

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,9 @@ jobs:
1616
go: ${{ steps.gem_version.outputs.new_version }}
1717

1818
steps:
19-
- uses: actions/checkout@v3
19+
- uses: actions/checkout@v4
20+
with:
21+
show-progress: false
2022

2123
- uses: ruby/setup-ruby@v1
2224
with:
@@ -43,12 +45,14 @@ jobs:
4345
contents: write # needed to be able to tag the release
4446
runs-on: ubuntu-latest
4547
needs: pre
46-
if: ${{ needs.pre.outputs.go == 'true' }}
48+
if: needs.pre.outputs.go == 'true'
4749

4850
steps:
49-
- uses: actions/checkout@v3
51+
- uses: actions/checkout@v4
52+
with:
53+
show-progress: false
5054

51-
- uses: actions/setup-node@v3
55+
- uses: actions/setup-node@v4
5256
with:
5357
node-version-file: '.nvmrc'
5458
cache: 'npm'

.github/workflows/test.yaml

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,11 @@
11
name: Test
22

3-
on: [push, pull_request]
3+
on:
4+
push:
5+
branches:
6+
- main
7+
pull_request:
8+
workflow_dispatch:
49

510
jobs:
611
test:
@@ -9,12 +14,14 @@ jobs:
914

1015
strategy:
1116
matrix:
12-
ruby: ['2.7', '3.2']
17+
ruby: ['3.1', '3.2', '3.3']
1318

1419
steps:
15-
- uses: actions/checkout@v3
20+
- uses: actions/checkout@v4
21+
with:
22+
show-progress: false
1623

17-
- uses: actions/setup-node@v3
24+
- uses: actions/setup-node@v4
1825
with:
1926
node-version-file: '.nvmrc'
2027
cache: 'npm'

.rubocop.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ inherit_gem:
33
- config/default.yml
44

55
AllCops:
6-
TargetRubyVersion: 2.7
6+
TargetRubyVersion: 3.1
77

88
Layout/HeredocIndentation:
99
Enabled: false

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@
22

33
## Unreleased
44

5+
- BREAKING: drop support for end-of-life Ruby versions 2.7 and 3.0. The minimum Ruby version is now 3.1.
6+
- Update gem dependencies.
7+
- Declare some missing indirect dependencies to prepare for Ruby 3.4. This also resolves some warnings about this at build time.
8+
59
## 3.5.0
610

711
### New features

govuk_tech_docs.gemspec

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -33,26 +33,30 @@ Gem::Specification.new do |spec|
3333
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
3434
spec.require_paths = %w[lib]
3535

36-
spec.required_ruby_version = ">= 2.7.0"
36+
spec.required_ruby_version = ">= 3.1.0"
3737

3838
spec.add_dependency "autoprefixer-rails", "~> 10.2"
39+
spec.add_dependency "base64" # TODO: remove once middleman-sprockets declares this itself.
40+
spec.add_dependency "bigdecimal" # TODO: remove once activesupport declares this itself.
3941
spec.add_dependency "chronic", "~> 0.10.2"
40-
spec.add_dependency "haml", "< 6.0.0"
42+
spec.add_dependency "csv" # TODO: remove once tilt declares this itself.
43+
spec.add_dependency "haml", "~> 6.0"
4144
spec.add_dependency "middleman", "~> 4.0"
42-
spec.add_dependency "middleman-autoprefixer", "~> 2.10.0"
43-
spec.add_dependency "middleman-compass", ">= 4.0.0"
45+
spec.add_dependency "middleman-autoprefixer", "~> 2.10"
46+
spec.add_dependency "middleman-compass", "~> 4.0"
4447
spec.add_dependency "middleman-livereload"
4548
spec.add_dependency "middleman-search-gds"
4649
spec.add_dependency "middleman-sprockets", "~> 4.0.0"
47-
spec.add_dependency "middleman-syntax", "~> 3.2.0"
50+
spec.add_dependency "middleman-syntax", "~> 3.4"
51+
spec.add_dependency "mutex_m" # TODO: remove once activesupport declares this itself.
4852
spec.add_dependency "nokogiri"
4953
spec.add_dependency "openapi3_parser", "~> 0.9.0"
50-
spec.add_dependency "redcarpet", "~> 3.5.1"
54+
spec.add_dependency "redcarpet", "~> 3.6"
5155

5256
spec.add_development_dependency "byebug"
5357
spec.add_development_dependency "capybara", "~> 3.32"
54-
spec.add_development_dependency "jasmine", "~> 3.5.0"
58+
spec.add_development_dependency "jasmine", "~> 3.5"
5559
spec.add_development_dependency "rake", "~> 13.0"
56-
spec.add_development_dependency "rspec", "~> 3.9.0"
57-
spec.add_development_dependency "rubocop-govuk", "~> 4.10.0"
60+
spec.add_development_dependency "rspec", "~> 3.9"
61+
spec.add_development_dependency "rubocop-govuk", "~> 4.10"
5862
end

lib/govuk_tech_docs.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ def self.configure(context, options = {})
4444
renderer: TechDocsHTMLRenderer.new(
4545
with_toc_data: true,
4646
api: true,
47-
context: context,
47+
context:,
4848
),
4949
fenced_code_blocks: true,
5050
tables: true,

lib/govuk_tech_docs/redirects.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
module GovukTechDocs
22
class Redirects
3-
LEADING_SLASH = %r{\A/}.freeze
3+
LEADING_SLASH = %r{\A/}
44

55
def initialize(context)
66
@context = context

lib/govuk_tech_docs/table_of_contents/heading_tree_builder.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ def tree
1111
@headings.each do |heading|
1212
move_to_depth(heading.size)
1313

14-
@pointer.children << HeadingTree.new(parent: @pointer, heading: heading)
14+
@pointer.children << HeadingTree.new(parent: @pointer, heading:)
1515
end
1616

1717
@tree

lib/govuk_tech_docs/table_of_contents/helpers.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ module Helpers
1212

1313
def single_page_table_of_contents(html, url: "", max_level: nil)
1414
output = "<ul>\n"
15-
output += list_items_from_headings(html, url: url, max_level: max_level)
15+
output += list_items_from_headings(html, url:, max_level:)
1616
output += "</ul>\n"
1717

1818
output
@@ -36,7 +36,7 @@ def list_items_from_headings(html, url: "", max_level: nil)
3636
end
3737

3838
tree = HeadingTreeBuilder.new(headings).tree
39-
HeadingTreeRenderer.new(tree, max_level: max_level).html
39+
HeadingTreeRenderer.new(tree, max_level:).html
4040
end
4141

4242
def render_page_tree(resources, current_page, config, current_page_html)

package-lock.json

Lines changed: 30 additions & 30 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)