diff --git a/.envrc b/.envrc new file mode 100644 index 0000000..9e13309 --- /dev/null +++ b/.envrc @@ -0,0 +1 @@ +export JRUBY_OPTS="--debug" diff --git a/.github/workflows/jruby.yml b/.github/workflows/jruby.yml new file mode 100644 index 0000000..0fd08f3 --- /dev/null +++ b/.github/workflows/jruby.yml @@ -0,0 +1,37 @@ +name: RSpec on JRuby + +on: + push: + branches: + - master + pull_request: + branches: + - master + schedule: + - cron: "0 21 * * 6" + +env: + JRUBY_OPTS: "--debug" + +jobs: + rspec: + runs-on: ubuntu-24.04 + timeout-minutes: 10 + strategy: + fail-fast: false + matrix: + ruby: ["jruby-9.4", "jruby-head"] + + steps: + - uses: actions/checkout@v4 + - run: rm -f Gemfile.lock + - run: rm -f .ruby-version + - name: Set up Ruby + uses: ruby/setup-ruby@v1 + with: + ruby-version: ${{ matrix.ruby }} + rubygems: latest + bundler: latest + bundler-cache: true + + - run: bundle exec rspec diff --git a/Gemfile b/Gemfile index 79d19a1..74963f6 100644 --- a/Gemfile +++ b/Gemfile @@ -1,6 +1,10 @@ +# frozen_string_literal: true + source 'https://rubygems.org' # Specify your gem's dependencies in errbit_plugin.gemspec gemspec +gem "rake" gem 'rspec' +gem "simplecov", require: false diff --git a/Gemfile.lock b/Gemfile.lock index 7569030..21c40ef 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -7,6 +7,7 @@ GEM remote: https://rubygems.org/ specs: diff-lcs (1.6.1) + docile (1.4.1) rake (13.2.1) rspec (3.13.0) rspec-core (~> 3.13.0) @@ -21,6 +22,12 @@ GEM diff-lcs (>= 1.2.0, < 2.0) rspec-support (~> 3.13.0) rspec-support (3.13.2) + simplecov (0.22.0) + docile (~> 1.1) + simplecov-html (~> 0.11) + simplecov_json_formatter (~> 0.1) + simplecov-html (0.13.1) + simplecov_json_formatter (0.1.4) PLATFORMS arm64-darwin-24 @@ -29,6 +36,7 @@ DEPENDENCIES errbit_plugin! rake rspec + simplecov BUNDLED WITH 2.6.7 diff --git a/Rakefile b/Rakefile index 2995527..5263b58 100644 --- a/Rakefile +++ b/Rakefile @@ -1 +1,3 @@ +# frozen_string_literal: true + require "bundler/gem_tasks" diff --git a/errbit_plugin.gemspec b/errbit_plugin.gemspec index 99d06c7..c5883ad 100644 --- a/errbit_plugin.gemspec +++ b/errbit_plugin.gemspec @@ -1,3 +1,5 @@ +# frozen_string_literal: true + lib = File.expand_path('../lib', __FILE__) $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib) require 'errbit_plugin/version' @@ -16,6 +18,4 @@ Gem::Specification.new do |spec| spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) } spec.test_files = spec.files.grep(%r{^(test|spec|features)/}) spec.require_paths = ["lib"] - - spec.add_development_dependency "rake" end diff --git a/lib/errbit_plugin.rb b/lib/errbit_plugin.rb index fb7699b..4a54ca1 100644 --- a/lib/errbit_plugin.rb +++ b/lib/errbit_plugin.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require "errbit_plugin/version" require "errbit_plugin/registry" require "errbit_plugin/issue_tracker" diff --git a/lib/errbit_plugin/issue_tracker.rb b/lib/errbit_plugin/issue_tracker.rb index 83b5131..aaf9200 100644 --- a/lib/errbit_plugin/issue_tracker.rb +++ b/lib/errbit_plugin/issue_tracker.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + module ErrbitPlugin # abstract class for issue trackers class IssueTracker diff --git a/lib/errbit_plugin/issue_trackers/none.rb b/lib/errbit_plugin/issue_trackers/none.rb index 6726ea5..6bd59a8 100644 --- a/lib/errbit_plugin/issue_trackers/none.rb +++ b/lib/errbit_plugin/issue_trackers/none.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + module ErrbitPlugin class NoneIssueTracker < IssueTracker def self.label; 'none'; end diff --git a/lib/errbit_plugin/registry.rb b/lib/errbit_plugin/registry.rb index 1ab9519..35b1b88 100644 --- a/lib/errbit_plugin/registry.rb +++ b/lib/errbit_plugin/registry.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + module ErrbitPlugin class IncompatibilityError < StandardError; end class AlreadyRegisteredError < StandardError; end diff --git a/lib/errbit_plugin/validate_issue_tracker.rb b/lib/errbit_plugin/validate_issue_tracker.rb index 246934d..bbb8c58 100644 --- a/lib/errbit_plugin/validate_issue_tracker.rb +++ b/lib/errbit_plugin/validate_issue_tracker.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + module ErrbitPlugin class ValidateIssueTracker def initialize(klass) diff --git a/lib/errbit_plugin/version.rb b/lib/errbit_plugin/version.rb index b7829c4..4f5e6c5 100644 --- a/lib/errbit_plugin/version.rb +++ b/lib/errbit_plugin/version.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + module ErrbitPlugin VERSION = '0.7.0' end diff --git a/spec/errbit_plugin/registry_spec.rb b/spec/errbit_plugin/registry_spec.rb index 982b193..edd44cb 100644 --- a/spec/errbit_plugin/registry_spec.rb +++ b/spec/errbit_plugin/registry_spec.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'spec_helper' describe ErrbitPlugin::Registry do diff --git a/spec/errbit_plugin/validate_issue_tracker_spec.rb b/spec/errbit_plugin/validate_issue_tracker_spec.rb index 1b73870..1d3e6a3 100644 --- a/spec/errbit_plugin/validate_issue_tracker_spec.rb +++ b/spec/errbit_plugin/validate_issue_tracker_spec.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'spec_helper' describe ErrbitPlugin::ValidateIssueTracker do diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb index 92338c7..d263a08 100644 --- a/spec/spec_helper.rb +++ b/spec/spec_helper.rb @@ -1,16 +1,8 @@ -if ENV['COVERAGE'] - require 'simplecov' - if ENV['CI'] - require 'coveralls' - Coveralls.wear! - SimpleCov.formatter = SimpleCov::Formatter::MultiFormatter[ - SimpleCov::Formatter::HTMLFormatter, - Coveralls::SimpleCov::Formatter - ] - end +# frozen_string_literal: true - SimpleCov.start -end +require 'simplecov' + +SimpleCov.start require 'errbit_plugin'