Adjust ruby buildsystem to use Gem::Version.new to sanitize gem version numbers, adjust activesupport package dependencies. (#10624)

* Adjust ruby buildsystem to use Gem::Version.new to sanitize gem version numbers, adjust activesupport package dependencies.

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* Have linting workflows fail on warning.

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* Lint now that we know the checks fail appropriately when they are tripped.

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

---------

Signed-off-by: Satadru Pramanik <satadru@gmail.com>
This commit is contained in:
Satadru Pramanik, DO, MPH, MEng
2024-10-17 12:37:57 -04:00
committed by GitHub
parent 9002f31d11
commit 6f1d22f52c
7 changed files with 39 additions and 14 deletions

View File

@@ -4,11 +4,15 @@ on: workflow_call
jobs:
markdown-lint:
runs-on: ubuntu-latest
permissions:
contents: read
pull-requests: write
steps:
- uses: actions/checkout@v4
- name: Markdown-lint
uses: reviewdog/action-markdownlint@v0
with:
reporter: github-pr-review
fail_on_error: true
markdownlint_flags: '-s .mdl_style.rb'
reporter: github-pr-check
reviewdog_flags: '-fail-level=any'

View File

@@ -1,12 +1,12 @@
---
name: Rubocop
on: workflow_call
permissions:
contents: read
pull-requests: write
jobs:
rubocop:
runs-on: ubuntu-latest
permissions:
contents: read
pull-requests: write
steps:
- uses: actions/checkout@v4
- uses: ruby/setup-ruby@v1
@@ -15,6 +15,8 @@ jobs:
- name: Rubocop
uses: reviewdog/action-rubocop@v2
with:
reporter: github-pr-review
fail_on_error: true
filter_mode: nofilter
only_changed: true
reporter: github-pr-check
reviewdog_flags: '-fail-level=any'

View File

@@ -4,11 +4,15 @@ on: workflow_call
jobs:
shellcheck:
runs-on: ubuntu-latest
permissions:
contents: read
pull-requests: write
steps:
- uses: actions/checkout@v4
- name: ShellCheck
uses: reviewdog/action-shellcheck@v1
with:
reporter: github-pr-review
fail_on_error: true
exclude: './tools/*'
fail_on_error: true
reporter: github-pr-check
reviewdog_flags: '-fail-level=any'

View File

@@ -4,10 +4,14 @@ on: workflow_call
jobs:
yamllint:
runs-on: ubuntu-latest
permissions:
contents: read
pull-requests: write
steps:
- uses: actions/checkout@v4
- name: YAMLLint
uses: reviewdog/action-yamllint@v1
with:
reporter: github-pr-review
fail_on_error: true
reporter: github-pr-check
reviewdog_flags: '-fail-level=any'

View File

@@ -62,9 +62,10 @@ def set_vars(passed_name = nil, passed_version = nil)
gem_test = $gems.grep(/#{"^#{passed_name.gsub(/^ruby_/, '')}\\s.*$"}/).first.blank? ? $gems.grep(/#{"^#{passed_name.gsub(/^ruby_/, '').gsub('_', '-')}\\s.*$"}/).first : $gems.grep(/#{"^#{passed_name.gsub(/^ruby_/, '')}\\s.*$"}/).first
gem_test_name = gem_test.split.first
gem_test_versions = gem_test.split[1].split(',')
gem_test_versions.delete_if { |i| i.include?('beta') }
gem_test_versions.delete_if { |i| i.include?('pre') }
gem_test_version = gem_test_versions.max
# Any version with a letter is considered a prerelease as per
# https://github.com/rubygems/rubygems/blob/b5798efd348935634d4e0e2b846d4f455582db48/lib/rubygems/version.rb#L305
gem_test_versions.delete_if { |i| i.match?(/[a-zA-Z]/) }
gem_test_version = gem_test_versions.map { |v| Gem::Version.new(v) }.max.to_s
@gem_name = gem_test_name.blank? ? Gem::SpecFetcher.fetcher.suggest_gems_from_name(passed_name.gsub(/^ruby_/, '')).first : gem_test_name
@remote_gem_ver = gem_test_name.blank? ? Gem.latest_version_for(@gem_name).to_s : gem_test_version
@gem_ver = passed_version.split('-').first.to_s
@@ -136,7 +137,7 @@ class RUBY < Package
elsif gem_anyversion_installed
installed_gem_info = [`gem list -l -e #{@gem_name}`.chomp.to_s].grep(/#{@gem_name}/)[0].delete('()').gsub('default:', '').split
@gem_installed_version = installed_gem_info[1]
puts "Updating #{@gem_name} gem to #{@gem_ver} from #{@gem_installed_version}...".orange
puts "Updating #{@gem_name} gem: #{@gem_installed_version} 🔜 #{@gem_ver} from ...".orange
Kernel.system "gem update --no-update-sources -N #{@gem_name} --conservative"
else
puts "Installing #{@gem_name} gem #{@gem_ver}...".orange

View File

@@ -3,7 +3,7 @@
require 'etc'
OLD_CREW_VERSION ||= defined?(CREW_VERSION) ? CREW_VERSION : '1.0'
CREW_VERSION ||= '1.54.8' unless defined?(CREW_VERSION) && CREW_VERSION == OLD_CREW_VERSION
CREW_VERSION ||= '1.54.9' unless defined?(CREW_VERSION) && CREW_VERSION == OLD_CREW_VERSION
# Kernel architecture.
KERN_ARCH ||= Etc.uname[:machine]

View File

@@ -8,7 +8,17 @@ class Ruby_activesupport < RUBY
compatibility 'all'
source_url 'SKIP'
depends_on 'ruby_concurrent_ruby' # L
depends_on 'ruby_base64'
depends_on 'ruby_bigdecimal'
depends_on 'ruby_concurrent_ruby'
depends_on 'ruby_connection_pool'
depends_on 'ruby_drb'
depends_on 'ruby_i18n'
depends_on 'ruby_logger'
depends_on 'ruby_minitest'
depends_on 'ruby_securerandom'
depends_on 'ruby_tzinfo'
conflicts_ok
no_compile_needed
end