diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 7f98f8e..9004672 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -6,10 +6,16 @@ on: [push, pull_request] jobs: test-ruby: runs-on: ${{ matrix.os }}-latest + continue-on-error: ${{ matrix.experimental || false }} strategy: + fail-fast: false matrix: os: [ubuntu] - ruby-version: ["2.6", "2.7", "3.0", "3.1", "3.2", "3.3", "3.4"] + ruby-version: ["2.6", "2.7", "3.0", "3.1", "3.2", "3.3", "3.4", "4.0"] + include: + - os: ubuntu + ruby-version: "head" + experimental: true steps: - uses: actions/checkout@v2 - name: Setup Ruby ${{ matrix.ruby-version }} diff --git a/Gemfile b/Gemfile index 52aa166..6d1cc79 100644 --- a/Gemfile +++ b/Gemfile @@ -7,5 +7,5 @@ git_source(:github) { |repo_name| "https://github.com/#{repo_name}" } # Specify your gem's dependencies in skunk.gemspec gemspec -gem "reek", "~> 6.1" -gem "rubocop", "~> 1.48" +gem "reek" +gem "rubocop" diff --git a/skunk.gemspec b/skunk.gemspec index 0252525..eb37979 100644 --- a/skunk.gemspec +++ b/skunk.gemspec @@ -38,12 +38,12 @@ Gem::Specification.new do |spec| spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) } spec.require_paths = ["lib"] + spec.add_dependency "ostruct", "~> 0.6" spec.add_dependency "path_expander", "< 2.0" spec.add_dependency "rubycritic", ">= 4.5.2", "< 5.0" spec.add_dependency "terminal-table", "~> 3.0" spec.add_development_dependency "codecov", "~> 0.1.16" - spec.add_development_dependency "debug" spec.add_development_dependency "minitest", "< 6" spec.add_development_dependency "minitest-around", "~> 0.5.0" spec.add_development_dependency "minitest-stub_any_instance", "~> 1.0.2" diff --git a/test/lib/skunk/cli/options/argv_test.rb b/test/lib/skunk/cli/options/argv_test.rb index 20bfb45..987b93b 100644 --- a/test/lib/skunk/cli/options/argv_test.rb +++ b/test/lib/skunk/cli/options/argv_test.rb @@ -26,6 +26,10 @@ end describe "#formats" do + before do + Skunk::Config.reset + end + after do Skunk::Config.reset end diff --git a/test/lib/skunk/config_test.rb b/test/lib/skunk/config_test.rb index a04e1c6..e708eae 100644 --- a/test/lib/skunk/config_test.rb +++ b/test/lib/skunk/config_test.rb @@ -11,6 +11,12 @@ def setup Config.reset end + # Reset again after each test so the global singleton does not leak + # mutated formats into tests in other files (minitest randomizes order) + def teardown + Config.reset + end + def test_default_format assert_equal [:console], Config.formats end