- name: Setup ruby
uses: ruby/setup-ruby@v1
with:
- ruby-version: 3.1
+ ruby-version: 3.2
rubygems: 3.4.10
bundler-cache: true
- name: Create base branch
group: ${{ github.workflow }}-${{ github.head_ref || github.ref }}
cancel-in-progress: true
env:
- ruby: '3.1'
+ ruby: '3.2'
jobs:
rubocop:
name: RuboCop
name: Ruby ${{ matrix.ruby }}
strategy:
matrix:
- ruby: ['3.1', '3.2', '3.3', '3.4']
+ ruby: ['3.2', '3.3', '3.4']
runs-on: ubuntu-latest
env:
RAILS_ENV: test
- ./.rubocop/specific_action_names.rb
AllCops:
- TargetRubyVersion: 3.1
+ TargetRubyVersion: 3.2
NewCops: enable
Exclude:
- 'vendor/**/*'
- 'bin/setup'
- 'bin/update'
+Style/RaiseArgs:
+ Exclude:
+ - 'lib/osm.rb'
+
Style/StringLiterals:
EnforcedStyle: double_quotes
-FROM debian:bookworm
+FROM ruby:3.2-bookworm
ENV DEBIAN_FRONTEND=noninteractive
gem "cancancan"
gem "config"
gem "delayed_job_active_record"
-gem "dry-schema", "< 1.14.0" # see https://github.com/openstreetmap/openstreetmap-website/issues/5482
gem "dry-validation"
gem "frozen_record"
gem "http_accept_language", "~> 2.1.1"
# Used to validate widths
gem "unicode-display_width"
-# Lock some modules to old versions for ruby 3.1 support
-gem "zeitwerk", "< 2.7"
-
# Gems useful for development
group :development do
gem "better_errors"
concurrent-ruby (~> 1.0)
dry-core (~> 1.1)
zeitwerk (~> 2.6)
- dry-schema (1.13.4)
+ dry-schema (1.14.0)
concurrent-ruby (~> 1.0)
dry-configurable (~> 1.0, >= 1.0.1)
- dry-core (~> 1.0, < 2)
- dry-initializer (~> 3.0)
- dry-logic (>= 1.4, < 2)
- dry-types (>= 1.7, < 2)
+ dry-core (~> 1.1)
+ dry-initializer (~> 3.2)
+ dry-logic (~> 1.5)
+ dry-types (~> 1.8)
zeitwerk (~> 2.6)
dry-types (1.8.2)
bigdecimal (~> 3.0)
websocket-extensions (0.1.5)
xpath (3.2.0)
nokogiri (~> 1.8)
- zeitwerk (2.6.18)
+ zeitwerk (2.7.2)
PLATFORMS
ruby
doorkeeper
doorkeeper-i18n
doorkeeper-openid_connect
- dry-schema (< 1.14.0)
dry-validation
erb_lint
factory_bot_rails
validates_email_format_of (>= 1.5.1)
vendorer
webmock
- zeitwerk (< 2.7)
BUNDLED WITH
2.5.22
## Minimum requirements
-* Ruby 3.1+
+* Ruby 3.2+
* PostgreSQL 13+
* Bundler (see note below about [developer Ruby setup](#rbenv))
* Javascript Runtime
tag.svg path_tag, :width => 16, :height => 16
end
- def previous_page_svg_tag(**options)
- adjacent_page_svg_tag(dir == "rtl" ? 1 : -1, **options)
+ def previous_page_svg_tag(**)
+ adjacent_page_svg_tag(dir == "rtl" ? 1 : -1, **)
end
- def next_page_svg_tag(**options)
- adjacent_page_svg_tag(dir == "rtl" ? -1 : 1, **options)
+ def next_page_svg_tag(**)
+ adjacent_page_svg_tag(dir == "rtl" ? -1 : 1, **)
end
def key_svg_tag(**options)
APP_ROOT = File.expand_path("..", __dir__)
APP_NAME = "openstreetmap".freeze
-def system!(*args)
- system(*args, :exception => true)
+def system!(*)
+ system(*, :exception => true)
end
FileUtils.chdir APP_ROOT do
end
# Parse a float, raising a specified exception on failure
- def self.parse_float(str, klass, *args)
+ def self.parse_float(str, klass, *)
Float(str)
rescue StandardError
- raise klass.new(*args)
+ raise klass.new(*)
end
# Construct a random token of a given length