diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index dc2c6ae..e163ac5 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -8,10 +8,33 @@ on: jobs: test: + name: "test (ruby: ${{ matrix.ruby-version}}, rspec: ${{ matrix.rspec-version }})" strategy: matrix: - ruby-version: ["2.6", "2.7", "3.0", "3.1"] - rspec-version: ["2_x", "3_0", "3_1", "3_2", "3_3", "3_4", "3_5", "3_6", "3_7", "3_8", "3_9", "3_10"] + ruby-version: ["2.6", "2.7", "3.0", "3.1", "3.2", "3.3", "3.4"] + rspec-version: ["3_4", "3_5", "3_6", "3_7", "3_8", "3_9", "3_10", "3_11", "3_12", "3_13"] + include: + # NOTE: ruby 3.2+ is not compatible with rspec < 3.4 + - { ruby-version: "2.6", rspec-version: "2_x" } + - { ruby-version: "2.7", rspec-version: "2_x" } + - { ruby-version: "3.0", rspec-version: "2_x" } + - { ruby-version: "3.1", rspec-version: "2_x" } + - { ruby-version: "2.6", rspec-version: "3_0" } + - { ruby-version: "2.7", rspec-version: "3_0" } + - { ruby-version: "3.0", rspec-version: "3_0" } + - { ruby-version: "3.1", rspec-version: "3_0" } + - { ruby-version: "2.6", rspec-version: "3_1" } + - { ruby-version: "2.7", rspec-version: "3_1" } + - { ruby-version: "3.0", rspec-version: "3_1" } + - { ruby-version: "3.1", rspec-version: "3_1" } + - { ruby-version: "2.6", rspec-version: "3_2" } + - { ruby-version: "2.7", rspec-version: "3_2" } + - { ruby-version: "3.0", rspec-version: "3_2" } + - { ruby-version: "3.1", rspec-version: "3_2" } + - { ruby-version: "2.6", rspec-version: "3_3" } + - { ruby-version: "2.7", rspec-version: "3_3" } + - { ruby-version: "3.0", rspec-version: "3_3" } + - { ruby-version: "3.1", rspec-version: "3_3" } runs-on: ubuntu-latest @@ -19,7 +42,7 @@ jobs: BUNDLE_GEMFILE: gemfiles/rspec_${{ matrix.rspec-version }}.gemfile steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 - uses: ruby/setup-ruby@v1 with: @@ -30,8 +53,19 @@ jobs: run: bundle exec rake - name: Upload test artifacts - uses: actions/upload-artifact@v2 + uses: actions/upload-artifact@v4 if: always() with: - name: test-artifacts + name: ruby-${{ matrix.ruby-version }}-rspec-${{ matrix.rspec-version }} path: tmp + + post-test: + needs: test + runs-on: ubuntu-latest + steps: + - name: Merge Artifacts + uses: actions/upload-artifact/merge@v4 + with: + name: test-artifacts + separate-directories: true + delete-merged: true diff --git a/.gitignore b/.gitignore index 451a832..bb3924d 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,4 @@ /example/tmp/ /pkg/ /tmp/ +gemfiles/*.lock diff --git a/Appraisals b/Appraisals index 55d8ebb..4dd981d 100644 --- a/Appraisals +++ b/Appraisals @@ -50,3 +50,15 @@ end appraise "rspec-3-10" do gem "rspec", "~> 3.10.0" end + +appraise "rspec-3-11" do + gem "rspec", "~> 3.11.0" +end + +appraise "rspec-3-12" do + gem "rspec", "~> 3.12.0" +end + +appraise "rspec-3-13" do + gem "rspec", "~> 3.13.0" +end diff --git a/gemfiles/rspec_2_x.gemfile.lock b/gemfiles/rspec_2_x.gemfile.lock deleted file mode 100644 index b5ff8e6..0000000 --- a/gemfiles/rspec_2_x.gemfile.lock +++ /dev/null @@ -1,45 +0,0 @@ -PATH - remote: .. - specs: - rspec_junit_formatter (0.6.0) - rspec-core (>= 2, < 4, != 2.12.0) - -GEM - remote: https://rubygems.org/ - specs: - appraisal (2.4.1) - bundler - rake - thor (>= 0.14.0) - coderay (1.1.3) - diff-lcs (1.5.0) - mini_portile2 (2.6.1) - nokogiri (1.12.5) - mini_portile2 (~> 2.6.1) - racc (~> 1.4) - racc (1.6.0) - rake (10.5.0) - rspec (2.14.1) - rspec-core (~> 2.14.0) - rspec-expectations (~> 2.14.0) - rspec-mocks (~> 2.14.0) - rspec-core (2.14.8) - rspec-expectations (2.14.5) - diff-lcs (>= 1.1.3, < 2.0) - rspec-mocks (2.14.6) - thor (1.1.0) - -PLATFORMS - ruby - -DEPENDENCIES - appraisal - bundler - coderay - nokogiri (~> 1.8, >= 1.8.2) - rake (~> 10.0) - rspec (~> 2.14, < 2.99) - rspec_junit_formatter! - -BUNDLED WITH - 2.2.26 diff --git a/gemfiles/rspec_3_0.gemfile.lock b/gemfiles/rspec_3_0.gemfile.lock deleted file mode 100644 index b5dd297..0000000 --- a/gemfiles/rspec_3_0.gemfile.lock +++ /dev/null @@ -1,49 +0,0 @@ -PATH - remote: .. - specs: - rspec_junit_formatter (0.6.0) - rspec-core (>= 2, < 4, != 2.12.0) - -GEM - remote: https://rubygems.org/ - specs: - appraisal (2.4.1) - bundler - rake - thor (>= 0.14.0) - coderay (1.1.3) - diff-lcs (1.5.0) - mini_portile2 (2.6.1) - nokogiri (1.12.5) - mini_portile2 (~> 2.6.1) - racc (~> 1.4) - racc (1.6.0) - rake (10.5.0) - rspec (3.0.0) - rspec-core (~> 3.0.0) - rspec-expectations (~> 3.0.0) - rspec-mocks (~> 3.0.0) - rspec-core (3.0.4) - rspec-support (~> 3.0.0) - rspec-expectations (3.0.4) - diff-lcs (>= 1.2.0, < 2.0) - rspec-support (~> 3.0.0) - rspec-mocks (3.0.4) - rspec-support (~> 3.0.0) - rspec-support (3.0.4) - thor (1.1.0) - -PLATFORMS - ruby - -DEPENDENCIES - appraisal - bundler - coderay - nokogiri (~> 1.8, >= 1.8.2) - rake (~> 10.0) - rspec (~> 3.0.0) - rspec_junit_formatter! - -BUNDLED WITH - 2.2.26 diff --git a/gemfiles/rspec_3_1.gemfile.lock b/gemfiles/rspec_3_1.gemfile.lock deleted file mode 100644 index 9fb2764..0000000 --- a/gemfiles/rspec_3_1.gemfile.lock +++ /dev/null @@ -1,49 +0,0 @@ -PATH - remote: .. - specs: - rspec_junit_formatter (0.6.0) - rspec-core (>= 2, < 4, != 2.12.0) - -GEM - remote: https://rubygems.org/ - specs: - appraisal (2.4.1) - bundler - rake - thor (>= 0.14.0) - coderay (1.1.3) - diff-lcs (1.5.0) - mini_portile2 (2.6.1) - nokogiri (1.12.5) - mini_portile2 (~> 2.6.1) - racc (~> 1.4) - racc (1.6.0) - rake (10.5.0) - rspec (3.1.0) - rspec-core (~> 3.1.0) - rspec-expectations (~> 3.1.0) - rspec-mocks (~> 3.1.0) - rspec-core (3.1.7) - rspec-support (~> 3.1.0) - rspec-expectations (3.1.2) - diff-lcs (>= 1.2.0, < 2.0) - rspec-support (~> 3.1.0) - rspec-mocks (3.1.3) - rspec-support (~> 3.1.0) - rspec-support (3.1.2) - thor (1.1.0) - -PLATFORMS - ruby - -DEPENDENCIES - appraisal - bundler - coderay - nokogiri (~> 1.8, >= 1.8.2) - rake (~> 10.0) - rspec (~> 3.1.0) - rspec_junit_formatter! - -BUNDLED WITH - 2.2.26 diff --git a/gemfiles/rspec_3_10.gemfile.lock b/gemfiles/rspec_3_10.gemfile.lock deleted file mode 100644 index 66ac4e0..0000000 --- a/gemfiles/rspec_3_10.gemfile.lock +++ /dev/null @@ -1,50 +0,0 @@ -PATH - remote: .. - specs: - rspec_junit_formatter (0.6.0) - rspec-core (>= 2, < 4, != 2.12.0) - -GEM - remote: https://rubygems.org/ - specs: - appraisal (2.4.1) - bundler - rake - thor (>= 0.14.0) - coderay (1.1.3) - diff-lcs (1.5.0) - mini_portile2 (2.6.1) - nokogiri (1.12.5) - mini_portile2 (~> 2.6.1) - racc (~> 1.4) - racc (1.6.0) - rake (13.0.6) - rspec (3.10.0) - rspec-core (~> 3.10.0) - rspec-expectations (~> 3.10.0) - rspec-mocks (~> 3.10.0) - rspec-core (3.10.1) - rspec-support (~> 3.10.0) - rspec-expectations (3.10.1) - diff-lcs (>= 1.2.0, < 2.0) - rspec-support (~> 3.10.0) - rspec-mocks (3.10.2) - diff-lcs (>= 1.2.0, < 2.0) - rspec-support (~> 3.10.0) - rspec-support (3.10.3) - thor (1.1.0) - -PLATFORMS - ruby - -DEPENDENCIES - appraisal - bundler - coderay - nokogiri (~> 1.8, >= 1.8.2) - rake - rspec (~> 3.10.0) - rspec_junit_formatter! - -BUNDLED WITH - 2.2.26 diff --git a/gemfiles/rspec_3_11.gemfile b/gemfiles/rspec_3_11.gemfile new file mode 100644 index 0000000..61f07c2 --- /dev/null +++ b/gemfiles/rspec_3_11.gemfile @@ -0,0 +1,7 @@ +# This file was generated by Appraisal + +source "https://rubygems.org" + +gem "rspec", "~> 3.11.0" + +gemspec path: "../" diff --git a/gemfiles/rspec_3_12.gemfile b/gemfiles/rspec_3_12.gemfile new file mode 100644 index 0000000..561a9cd --- /dev/null +++ b/gemfiles/rspec_3_12.gemfile @@ -0,0 +1,7 @@ +# This file was generated by Appraisal + +source "https://rubygems.org" + +gem "rspec", "~> 3.12.0" + +gemspec path: "../" diff --git a/gemfiles/rspec_3_13.gemfile b/gemfiles/rspec_3_13.gemfile new file mode 100644 index 0000000..be287d5 --- /dev/null +++ b/gemfiles/rspec_3_13.gemfile @@ -0,0 +1,7 @@ +# This file was generated by Appraisal + +source "https://rubygems.org" + +gem "rspec", "~> 3.13.0" + +gemspec path: "../" diff --git a/gemfiles/rspec_3_2.gemfile.lock b/gemfiles/rspec_3_2.gemfile.lock deleted file mode 100644 index 8e71c6d..0000000 --- a/gemfiles/rspec_3_2.gemfile.lock +++ /dev/null @@ -1,50 +0,0 @@ -PATH - remote: .. - specs: - rspec_junit_formatter (0.6.0) - rspec-core (>= 2, < 4, != 2.12.0) - -GEM - remote: https://rubygems.org/ - specs: - appraisal (2.4.1) - bundler - rake - thor (>= 0.14.0) - coderay (1.1.3) - diff-lcs (1.5.0) - mini_portile2 (2.6.1) - nokogiri (1.12.5) - mini_portile2 (~> 2.6.1) - racc (~> 1.4) - racc (1.6.0) - rake (10.5.0) - rspec (3.2.0) - rspec-core (~> 3.2.0) - rspec-expectations (~> 3.2.0) - rspec-mocks (~> 3.2.0) - rspec-core (3.2.3) - rspec-support (~> 3.2.0) - rspec-expectations (3.2.1) - diff-lcs (>= 1.2.0, < 2.0) - rspec-support (~> 3.2.0) - rspec-mocks (3.2.1) - diff-lcs (>= 1.2.0, < 2.0) - rspec-support (~> 3.2.0) - rspec-support (3.2.2) - thor (1.1.0) - -PLATFORMS - ruby - -DEPENDENCIES - appraisal - bundler - coderay - nokogiri (~> 1.8, >= 1.8.2) - rake (~> 10.0) - rspec (~> 3.2.0) - rspec_junit_formatter! - -BUNDLED WITH - 2.2.26 diff --git a/gemfiles/rspec_3_3.gemfile.lock b/gemfiles/rspec_3_3.gemfile.lock deleted file mode 100644 index 0727e3e..0000000 --- a/gemfiles/rspec_3_3.gemfile.lock +++ /dev/null @@ -1,50 +0,0 @@ -PATH - remote: .. - specs: - rspec_junit_formatter (0.6.0) - rspec-core (>= 2, < 4, != 2.12.0) - -GEM - remote: https://rubygems.org/ - specs: - appraisal (2.4.1) - bundler - rake - thor (>= 0.14.0) - coderay (1.1.3) - diff-lcs (1.5.0) - mini_portile2 (2.6.1) - nokogiri (1.12.5) - mini_portile2 (~> 2.6.1) - racc (~> 1.4) - racc (1.6.0) - rake (10.5.0) - rspec (3.3.0) - rspec-core (~> 3.3.0) - rspec-expectations (~> 3.3.0) - rspec-mocks (~> 3.3.0) - rspec-core (3.3.2) - rspec-support (~> 3.3.0) - rspec-expectations (3.3.1) - diff-lcs (>= 1.2.0, < 2.0) - rspec-support (~> 3.3.0) - rspec-mocks (3.3.2) - diff-lcs (>= 1.2.0, < 2.0) - rspec-support (~> 3.3.0) - rspec-support (3.3.0) - thor (1.1.0) - -PLATFORMS - ruby - -DEPENDENCIES - appraisal - bundler - coderay - nokogiri (~> 1.8, >= 1.8.2) - rake (~> 10.0) - rspec (~> 3.3.0) - rspec_junit_formatter! - -BUNDLED WITH - 2.2.26 diff --git a/gemfiles/rspec_3_4.gemfile.lock b/gemfiles/rspec_3_4.gemfile.lock deleted file mode 100644 index f466aff..0000000 --- a/gemfiles/rspec_3_4.gemfile.lock +++ /dev/null @@ -1,50 +0,0 @@ -PATH - remote: .. - specs: - rspec_junit_formatter (0.6.0) - rspec-core (>= 2, < 4, != 2.12.0) - -GEM - remote: https://rubygems.org/ - specs: - appraisal (2.4.1) - bundler - rake - thor (>= 0.14.0) - coderay (1.1.3) - diff-lcs (1.5.0) - mini_portile2 (2.6.1) - nokogiri (1.12.5) - mini_portile2 (~> 2.6.1) - racc (~> 1.4) - racc (1.6.0) - rake (13.0.6) - rspec (3.4.0) - rspec-core (~> 3.4.0) - rspec-expectations (~> 3.4.0) - rspec-mocks (~> 3.4.0) - rspec-core (3.4.4) - rspec-support (~> 3.4.0) - rspec-expectations (3.4.0) - diff-lcs (>= 1.2.0, < 2.0) - rspec-support (~> 3.4.0) - rspec-mocks (3.4.1) - diff-lcs (>= 1.2.0, < 2.0) - rspec-support (~> 3.4.0) - rspec-support (3.4.1) - thor (1.1.0) - -PLATFORMS - ruby - -DEPENDENCIES - appraisal - bundler - coderay - nokogiri (~> 1.8, >= 1.8.2) - rake - rspec (~> 3.4.0) - rspec_junit_formatter! - -BUNDLED WITH - 2.2.26 diff --git a/gemfiles/rspec_3_5.gemfile.lock b/gemfiles/rspec_3_5.gemfile.lock deleted file mode 100644 index 449e725..0000000 --- a/gemfiles/rspec_3_5.gemfile.lock +++ /dev/null @@ -1,50 +0,0 @@ -PATH - remote: .. - specs: - rspec_junit_formatter (0.6.0) - rspec-core (>= 2, < 4, != 2.12.0) - -GEM - remote: https://rubygems.org/ - specs: - appraisal (2.4.1) - bundler - rake - thor (>= 0.14.0) - coderay (1.1.3) - diff-lcs (1.5.0) - mini_portile2 (2.6.1) - nokogiri (1.12.5) - mini_portile2 (~> 2.6.1) - racc (~> 1.4) - racc (1.6.0) - rake (13.0.6) - rspec (3.5.0) - rspec-core (~> 3.5.0) - rspec-expectations (~> 3.5.0) - rspec-mocks (~> 3.5.0) - rspec-core (3.5.4) - rspec-support (~> 3.5.0) - rspec-expectations (3.5.0) - diff-lcs (>= 1.2.0, < 2.0) - rspec-support (~> 3.5.0) - rspec-mocks (3.5.0) - diff-lcs (>= 1.2.0, < 2.0) - rspec-support (~> 3.5.0) - rspec-support (3.5.0) - thor (1.1.0) - -PLATFORMS - ruby - -DEPENDENCIES - appraisal - bundler - coderay - nokogiri (~> 1.8, >= 1.8.2) - rake - rspec (~> 3.5.0) - rspec_junit_formatter! - -BUNDLED WITH - 2.2.26 diff --git a/gemfiles/rspec_3_6.gemfile.lock b/gemfiles/rspec_3_6.gemfile.lock deleted file mode 100644 index 72604b1..0000000 --- a/gemfiles/rspec_3_6.gemfile.lock +++ /dev/null @@ -1,50 +0,0 @@ -PATH - remote: .. - specs: - rspec_junit_formatter (0.6.0) - rspec-core (>= 2, < 4, != 2.12.0) - -GEM - remote: https://rubygems.org/ - specs: - appraisal (2.4.1) - bundler - rake - thor (>= 0.14.0) - coderay (1.1.3) - diff-lcs (1.5.0) - mini_portile2 (2.6.1) - nokogiri (1.12.5) - mini_portile2 (~> 2.6.1) - racc (~> 1.4) - racc (1.6.0) - rake (13.0.6) - rspec (3.6.0) - rspec-core (~> 3.6.0) - rspec-expectations (~> 3.6.0) - rspec-mocks (~> 3.6.0) - rspec-core (3.6.0) - rspec-support (~> 3.6.0) - rspec-expectations (3.6.0) - diff-lcs (>= 1.2.0, < 2.0) - rspec-support (~> 3.6.0) - rspec-mocks (3.6.0) - diff-lcs (>= 1.2.0, < 2.0) - rspec-support (~> 3.6.0) - rspec-support (3.6.0) - thor (1.1.0) - -PLATFORMS - ruby - -DEPENDENCIES - appraisal - bundler - coderay - nokogiri (~> 1.8, >= 1.8.2) - rake - rspec (~> 3.6.0) - rspec_junit_formatter! - -BUNDLED WITH - 2.2.26 diff --git a/gemfiles/rspec_3_7.gemfile.lock b/gemfiles/rspec_3_7.gemfile.lock deleted file mode 100644 index fd15699..0000000 --- a/gemfiles/rspec_3_7.gemfile.lock +++ /dev/null @@ -1,50 +0,0 @@ -PATH - remote: .. - specs: - rspec_junit_formatter (0.6.0) - rspec-core (>= 2, < 4, != 2.12.0) - -GEM - remote: https://rubygems.org/ - specs: - appraisal (2.4.1) - bundler - rake - thor (>= 0.14.0) - coderay (1.1.3) - diff-lcs (1.5.0) - mini_portile2 (2.6.1) - nokogiri (1.12.5) - mini_portile2 (~> 2.6.1) - racc (~> 1.4) - racc (1.6.0) - rake (13.0.6) - rspec (3.7.0) - rspec-core (~> 3.7.0) - rspec-expectations (~> 3.7.0) - rspec-mocks (~> 3.7.0) - rspec-core (3.7.1) - rspec-support (~> 3.7.0) - rspec-expectations (3.7.0) - diff-lcs (>= 1.2.0, < 2.0) - rspec-support (~> 3.7.0) - rspec-mocks (3.7.0) - diff-lcs (>= 1.2.0, < 2.0) - rspec-support (~> 3.7.0) - rspec-support (3.7.1) - thor (1.1.0) - -PLATFORMS - ruby - -DEPENDENCIES - appraisal - bundler - coderay - nokogiri (~> 1.8, >= 1.8.2) - rake - rspec (~> 3.7.0) - rspec_junit_formatter! - -BUNDLED WITH - 2.2.26 diff --git a/gemfiles/rspec_3_8.gemfile.lock b/gemfiles/rspec_3_8.gemfile.lock deleted file mode 100644 index d3adb61..0000000 --- a/gemfiles/rspec_3_8.gemfile.lock +++ /dev/null @@ -1,50 +0,0 @@ -PATH - remote: .. - specs: - rspec_junit_formatter (0.6.0) - rspec-core (>= 2, < 4, != 2.12.0) - -GEM - remote: https://rubygems.org/ - specs: - appraisal (2.4.1) - bundler - rake - thor (>= 0.14.0) - coderay (1.1.3) - diff-lcs (1.5.0) - mini_portile2 (2.6.1) - nokogiri (1.12.5) - mini_portile2 (~> 2.6.1) - racc (~> 1.4) - racc (1.6.0) - rake (13.0.6) - rspec (3.8.0) - rspec-core (~> 3.8.0) - rspec-expectations (~> 3.8.0) - rspec-mocks (~> 3.8.0) - rspec-core (3.8.2) - rspec-support (~> 3.8.0) - rspec-expectations (3.8.6) - diff-lcs (>= 1.2.0, < 2.0) - rspec-support (~> 3.8.0) - rspec-mocks (3.8.2) - diff-lcs (>= 1.2.0, < 2.0) - rspec-support (~> 3.8.0) - rspec-support (3.8.3) - thor (1.1.0) - -PLATFORMS - ruby - -DEPENDENCIES - appraisal - bundler - coderay - nokogiri (~> 1.8, >= 1.8.2) - rake - rspec (~> 3.8.0) - rspec_junit_formatter! - -BUNDLED WITH - 2.2.26 diff --git a/gemfiles/rspec_3_9.gemfile.lock b/gemfiles/rspec_3_9.gemfile.lock deleted file mode 100644 index dbaf669..0000000 --- a/gemfiles/rspec_3_9.gemfile.lock +++ /dev/null @@ -1,50 +0,0 @@ -PATH - remote: .. - specs: - rspec_junit_formatter (0.6.0) - rspec-core (>= 2, < 4, != 2.12.0) - -GEM - remote: https://rubygems.org/ - specs: - appraisal (2.4.1) - bundler - rake - thor (>= 0.14.0) - coderay (1.1.3) - diff-lcs (1.5.0) - mini_portile2 (2.6.1) - nokogiri (1.12.5) - mini_portile2 (~> 2.6.1) - racc (~> 1.4) - racc (1.6.0) - rake (13.0.6) - rspec (3.9.0) - rspec-core (~> 3.9.0) - rspec-expectations (~> 3.9.0) - rspec-mocks (~> 3.9.0) - rspec-core (3.9.3) - rspec-support (~> 3.9.3) - rspec-expectations (3.9.4) - diff-lcs (>= 1.2.0, < 2.0) - rspec-support (~> 3.9.0) - rspec-mocks (3.9.1) - diff-lcs (>= 1.2.0, < 2.0) - rspec-support (~> 3.9.0) - rspec-support (3.9.4) - thor (1.1.0) - -PLATFORMS - ruby - -DEPENDENCIES - appraisal - bundler - coderay - nokogiri (~> 1.8, >= 1.8.2) - rake - rspec (~> 3.9.0) - rspec_junit_formatter! - -BUNDLED WITH - 2.2.26