diff --git a/.github/workflows/unf_ext.yml b/.github/workflows/unf_ext.yml new file mode 100644 index 0000000..205d767 --- /dev/null +++ b/.github/workflows/unf_ext.yml @@ -0,0 +1,49 @@ +name: CI + +on: [push, pull_request] + +jobs: + build: + name: >- + ${{ matrix.os }} ${{ matrix.ruby }} + + runs-on: ${{ matrix.os }} + strategy: + fail-fast: false + matrix: + os: [ ubuntu-20.04, macos-11.0, windows-2019 ] + ruby: [ 2.2, 2.3, 2.4, 2.5, 2.6, 2.7, 3.0, head ] + include: + - { os: windows-2019, ruby: mingw } + exclude: + - { os: macos-11.0, ruby: 2.2 } + - { os: macos-11.0, ruby: 2.3 } + - { os: windows-2019, ruby: head } + + steps: + - name: repo checkout + uses: actions/checkout@v2 + + - name: load ruby cross-compilation toolkit + uses: MSP-Greg/setup-ruby-pkgs@v1 + with: + ruby-version: ${{ matrix.ruby }} + mingw: _upgrade_ + + - name: bundle install + shell: pwsh + run: | + # update RubyGems in Ruby 2.2, bundle install + if ('${{ matrix.ruby }}' -lt '2.3') { + gem update --system 2.7.10 --no-document + } + bundle config set --local path .bundle/vendor + bundle install --jobs 4 --retry 3 + + - name: compile + timeout-minutes: 5 + run: bundle exec rake compile + + - name: test + timeout-minutes: 5 + run: bundle exec rake test diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 904721d..0000000 --- a/.travis.yml +++ /dev/null @@ -1,22 +0,0 @@ -language: ruby -sudo: false -rvm: - - 1.8.7 - - ree - - 1.9.3 - - 2.0 - - 2.1 - - 2.2 - - 2.3 - - 2.4 - - 2.5 - - 2.6 - - 2.7 - - ruby-head -matrix: - allow_failures: - - rvm: ruby-head -before_install: - - gem update --system --conservative || gem install --conservative bundler -v '<2' -before_script: - - rake compile diff --git a/CHANGELOG.md b/CHANGELOG.md index b3069a4..5318936 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,10 @@ -## 0.0.7.7 (2019-03-19) +## Unreleased + +- Include Windows binaries for Ruby 3.0. +- Drop support for Ruby 2.1 and earlier. +- Replace Travis CI with Github Actions. + +## 0.0.7.7 (2020-03-30) - Include Windows binaries for Ruby 2.7. diff --git a/Rakefile b/Rakefile index cb3e8fa..e70b778 100644 --- a/Rakefile +++ b/Rakefile @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- require 'bundler/gem_tasks' gemspec = Bundler::GemHelper.gemspec diff --git a/test/test_unf_ext.rb b/test/test_unf_ext.rb index 2476672..45b03e9 100644 --- a/test/test_unf_ext.rb +++ b/test/test_unf_ext.rb @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- require 'helper' require 'pathname' diff --git a/unf_ext.gemspec b/unf_ext.gemspec index aebaeae..8c569a9 100644 --- a/unf_ext.gemspec +++ b/unf_ext.gemspec @@ -1,4 +1,3 @@ -# -*- encoding: utf-8 -*- lib = File.expand_path('../lib', __FILE__) $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib) require 'unf_ext/version' @@ -24,17 +23,10 @@ Gem::Specification.new do |gem| "README.md" ] - if RUBY_VERSION < "1.9" - gem.add_development_dependency("rake", [">= 0.9.2.2", "< 11"]) - gem.add_development_dependency('i18n', '< 0.7.0') - # Cap dependency on activesupport with < 4.0 on behalf of - # shoulda-matchers to satisfy bundler. - gem.add_development_dependency("activesupport", ["< 4.0"]) - gem.add_development_dependency("test-unit", ["= 3.1.5"]) - else - gem.add_development_dependency("rake", [">= 0.9.2.2"]) - gem.add_development_dependency("test-unit") - end + gem.required_ruby_version = '>= 2.2' + + gem.add_development_dependency("rake", [">= 0.9.2.2"]) + gem.add_development_dependency("test-unit") gem.add_development_dependency("rdoc", ["> 2.4.2"]) gem.add_development_dependency("bundler", [">= 1.2"]) gem.add_development_dependency("rake-compiler", [">= 0.7.9"])