Skip to content

Commit

Permalink
Merge pull request #349 from alphagov/sengi/fix-bitrot
Browse files Browse the repository at this point in the history
Drop support for end-of-life Ruby versions + update dependencies.
  • Loading branch information
heathd committed May 9, 2024
2 parents 5994807 + bb8122a commit 3af782f
Show file tree
Hide file tree
Showing 12 changed files with 78 additions and 59 deletions.
12 changes: 8 additions & 4 deletions .github/workflows/publish.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,9 @@ jobs:
go: ${{ steps.gem_version.outputs.new_version }}

steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
show-progress: false

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

steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
show-progress: false

- uses: actions/setup-node@v3
- uses: actions/setup-node@v4
with:
node-version-file: '.nvmrc'
cache: 'npm'
Expand Down
15 changes: 11 additions & 4 deletions .github/workflows/test.yaml
Original file line number Diff line number Diff line change
@@ -1,6 +1,11 @@
name: Test

on: [push, pull_request]
on:
push:
branches:
- main
pull_request:
workflow_dispatch:

jobs:
test:
Expand All @@ -9,12 +14,14 @@ jobs:

strategy:
matrix:
ruby: ['2.7', '3.2']
ruby: ['3.1', '3.2', '3.3']

steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
show-progress: false

- uses: actions/setup-node@v3
- uses: actions/setup-node@v4
with:
node-version-file: '.nvmrc'
cache: 'npm'
Expand Down
2 changes: 1 addition & 1 deletion .rubocop.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ inherit_gem:
- config/default.yml

AllCops:
TargetRubyVersion: 2.7
TargetRubyVersion: 3.1

Layout/HeredocIndentation:
Enabled: false
Expand Down
4 changes: 4 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,10 @@

## Unreleased

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

## 3.5.0

### New features
Expand Down
22 changes: 13 additions & 9 deletions govuk_tech_docs.gemspec
Original file line number Diff line number Diff line change
Expand Up @@ -33,26 +33,30 @@ Gem::Specification.new do |spec|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
spec.require_paths = %w[lib]

spec.required_ruby_version = ">= 2.7.0"
spec.required_ruby_version = ">= 3.1.0"

spec.add_dependency "autoprefixer-rails", "~> 10.2"
spec.add_dependency "base64" # TODO: remove once middleman-sprockets declares this itself.
spec.add_dependency "bigdecimal" # TODO: remove once activesupport declares this itself.
spec.add_dependency "chronic", "~> 0.10.2"
spec.add_dependency "haml", "< 6.0.0"
spec.add_dependency "csv" # TODO: remove once tilt declares this itself.
spec.add_dependency "haml", "~> 6.0"
spec.add_dependency "middleman", "~> 4.0"
spec.add_dependency "middleman-autoprefixer", "~> 2.10.0"
spec.add_dependency "middleman-compass", ">= 4.0.0"
spec.add_dependency "middleman-autoprefixer", "~> 2.10"
spec.add_dependency "middleman-compass", "~> 4.0"
spec.add_dependency "middleman-livereload"
spec.add_dependency "middleman-search-gds"
spec.add_dependency "middleman-sprockets", "~> 4.0.0"
spec.add_dependency "middleman-syntax", "~> 3.2.0"
spec.add_dependency "middleman-syntax", "~> 3.4"
spec.add_dependency "mutex_m" # TODO: remove once activesupport declares this itself.
spec.add_dependency "nokogiri"
spec.add_dependency "openapi3_parser", "~> 0.9.0"
spec.add_dependency "redcarpet", "~> 3.5.1"
spec.add_dependency "redcarpet", "~> 3.6"

spec.add_development_dependency "byebug"
spec.add_development_dependency "capybara", "~> 3.32"
spec.add_development_dependency "jasmine", "~> 3.5.0"
spec.add_development_dependency "jasmine", "~> 3.5"
spec.add_development_dependency "rake", "~> 13.0"
spec.add_development_dependency "rspec", "~> 3.9.0"
spec.add_development_dependency "rubocop-govuk", "~> 4.10.0"
spec.add_development_dependency "rspec", "~> 3.9"
spec.add_development_dependency "rubocop-govuk", "~> 4.10"
end
2 changes: 1 addition & 1 deletion lib/govuk_tech_docs.rb
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ def self.configure(context, options = {})
renderer: TechDocsHTMLRenderer.new(
with_toc_data: true,
api: true,
context: context,
context:,
),
fenced_code_blocks: true,
tables: true,
Expand Down
2 changes: 1 addition & 1 deletion lib/govuk_tech_docs/redirects.rb
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
module GovukTechDocs
class Redirects
LEADING_SLASH = %r{\A/}.freeze
LEADING_SLASH = %r{\A/}

def initialize(context)
@context = context
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ def tree
@headings.each do |heading|
move_to_depth(heading.size)

@pointer.children << HeadingTree.new(parent: @pointer, heading: heading)
@pointer.children << HeadingTree.new(parent: @pointer, heading:)
end

@tree
Expand Down
4 changes: 2 additions & 2 deletions lib/govuk_tech_docs/table_of_contents/helpers.rb
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ module Helpers

def single_page_table_of_contents(html, url: "", max_level: nil)
output = "<ul>\n"
output += list_items_from_headings(html, url: url, max_level: max_level)
output += list_items_from_headings(html, url:, max_level:)
output += "</ul>\n"

output
Expand All @@ -36,7 +36,7 @@ def list_items_from_headings(html, url: "", max_level: nil)
end

tree = HeadingTreeBuilder.new(headings).tree
HeadingTreeRenderer.new(tree, max_level: max_level).html
HeadingTreeRenderer.new(tree, max_level:).html
end

def render_page_tree(resources, current_page, config, current_page_html)
Expand Down
60 changes: 30 additions & 30 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 3 additions & 3 deletions spec/govuk_tech_docs/source_urls_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -25,16 +25,16 @@
def generate_config(repo, host)
{
tech_docs: {
host: host,
host:,
github_repo: repo,
},
}
end

def generate_current_page(title, url)
OpenStruct.new(
data: OpenStruct.new(title: title),
url: url,
data: OpenStruct.new(title:),
url:,
)
end
end
6 changes: 3 additions & 3 deletions spec/govuk_tech_docs/tech_docs_html_renderer_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
let(:app) { double("app") }
let(:context) { double("context") }
let(:processor) do
Redcarpet::Markdown.new(described_class.new(context: context), tables: true, fenced_code_blocks: true)
Redcarpet::Markdown.new(described_class.new(context:), tables: true, fenced_code_blocks: true)
end

before :each do
Expand Down Expand Up @@ -59,7 +59,7 @@ def hello_world

context "without syntax highlighting" do
let(:processor) do
Redcarpet::Markdown.new(described_class.new(context: context), fenced_code_blocks: true)
Redcarpet::Markdown.new(described_class.new(context:), fenced_code_blocks: true)
end

it "sets tab index to 0" do
Expand All @@ -78,7 +78,7 @@ def hello_world
renderer_class = described_class.clone.tap do |c|
c.send :include, Middleman::Syntax::RedcarpetCodeRenderer
end
Redcarpet::Markdown.new(renderer_class.new(context: context), fenced_code_blocks: true)
Redcarpet::Markdown.new(renderer_class.new(context:), fenced_code_blocks: true)
end

it "sets tab index to 0" do
Expand Down

0 comments on commit 3af782f

Please sign in to comment.