diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..d109385 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,33 @@ +name: CI + +on: + push: + branches: + - stable + pull_request: + +jobs: + test: + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + ruby_version: ['3.4', '3.3', '3.2', '3.1', '3.0', '2.7', '2.6', '2.5', '2.4', '2.3'] + + steps: + - uses: actions/checkout@v4 + + - name: Setup Ruby + uses: ruby/setup-ruby@v1 + with: + ruby-version: ${{ matrix.ruby_version }} + bundler-cache: true + + - name: Update rubygem + if: ${{ matrix.ruby_version < '2.7' }} + run: | + gem update --system 3.2.3 + + - name: Run test + run: | + bundle exec rake diff --git a/Gemfile b/Gemfile index 7f4f5e9..8a16dec 100644 --- a/Gemfile +++ b/Gemfile @@ -3,3 +3,12 @@ source 'https://rubygems.org' gemspec + +gem 'minitar', '~> 0.6' +gem 'rake', '~> 13.0' + +if RUBY_VERSION >= '2.7.0' + gem 'minitest', '~> 5.25.5' +else + gem 'minitest', '< 5.16.0' +end diff --git a/Gemfile.lock b/Gemfile.lock deleted file mode 100644 index c8bab77..0000000 --- a/Gemfile.lock +++ /dev/null @@ -1,24 +0,0 @@ -PATH - remote: . - specs: - ruby-xz (1.0.4.pre) - -GEM - remote: https://rubygems.org/ - specs: - minitar (0.9) - minitest (5.15.0) - rake (13.0.6) - -PLATFORMS - x86_64-darwin-21 - x86_64-linux - -DEPENDENCIES - minitar (~> 0.6) - minitest (~> 5.14) - rake (~> 13.0) - ruby-xz! - -BUNDLED WITH - 2.3.7 diff --git a/ruby-xz.gemspec b/ruby-xz.gemspec index 48991f4..21aa9c7 100644 --- a/ruby-xz.gemspec +++ b/ruby-xz.gemspec @@ -59,8 +59,4 @@ GEMSPEC = Gem::Specification.new do |spec| spec.required_ruby_version = '>= 2.3.0' spec.platform = Gem::Platform::RUBY spec.post_install_message = 'Version 1.0.0 of ruby-xz breaks the API. Read HISTORY.rdoc and adapt your code to the new API.' - - spec.add_development_dependency 'minitar', '~> 0.6' - spec.add_development_dependency 'minitest', '~> 5.14' - spec.add_development_dependency 'rake', '~> 13.0' end