diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml new file mode 100644 index 0000000..daadbe8 --- /dev/null +++ b/.github/workflows/test.yml @@ -0,0 +1,70 @@ +name: CI RSpec Test + +on: [push, pull_request] + +jobs: + build: + name: >- + ${{ matrix.ruby }} + env: + CI: true + TESTOPTS: -v + runs-on: ubuntu-latest + continue-on-error: ${{ matrix.experimental }} + strategy: + fail-fast: false + matrix: + ruby: [2.5, 2.6, 2.7, 3.0, jruby] # truffleruby + mongoid: [7] + experimental: [false] + include: + - ruby: 2.5 + mongoid: 5 + experimental: false + - ruby: 2.6 + mongoid: 6 + experimental: false + - ruby: 2.7 + mongoid: 7.0 + experimental: false + - ruby: 2.7 + mongoid: 7.1 + experimental: false + - ruby: 2.7 + mongoid: 7.2 + experimental: false + - ruby: 2.7 + mongoid: 7.3 + experimental: false + - ruby: head + mongoid: 7 + experimental: true + - ruby: jruby-head + mongoid: 7 + experimental: true + # - ruby: truffleruby-head + # mongoid: 7 + # experimental: true + steps: + - name: repo checkout + uses: actions/checkout@v2 + - name: start mongodb + uses: supercharge/mongodb-github-action@1.6.0 + with: + mongodb-version: 4.4 + mongodb-replica-set: rs0 + - name: load ruby + uses: ruby/setup-ruby@v1 + with: + ruby-version: ${{ matrix.ruby }} + bundler: 2 + - name: bundle install + run: bundle install --jobs 4 --retry 3 + env: + MONGOID_VERSION: ${{ matrix.mongoid }} + - name: test + timeout-minutes: 10 + continue-on-error: ${{ matrix.experimental }} + run: bundle exec rake spec + env: + MONGOID_VERSION: ${{ matrix.mongoid }} diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 8a9a08c..0000000 --- a/.travis.yml +++ /dev/null @@ -1,26 +0,0 @@ -langauge: ruby - -cache: bundler - -sudo: false - -matrix: - include: - - rvm: 2.6.6 - env: - - MONGOID_VERSION=7 - - rvm: 2.3.1 - env: - - MONGOID_VERSION=6 - - rvm: 2.3.1 - env: - - MONGOID_VERSION=5 - - rvm: jruby-head - - rvm: rbx-2 - - rvm: ruby-head - allow_failures: - - rvm: jruby-head - - rvm: rbx-2 - - rvm: ruby-head - -services: mongodb diff --git a/Gemfile b/Gemfile index df9ac7e..f16b71c 100644 --- a/Gemfile +++ b/Gemfile @@ -12,12 +12,22 @@ group :test do gem 'simplecov', '>= 0.9' end -case version = ENV['MONGOID_VERSION'] || '7.0' -when /^7/ - gem 'mongoid', '~> 7.0' -when /^6/ +case version = ENV['MONGOID_VERSION'] || '~> 7.0' +when 'HEAD' + gem 'mongoid', github: 'mongodb/mongoid' +when '7' + gem 'mongoid', '~> 7.3' +when '7.3' + gem 'mongoid', '~> 7.3.0' +when '7.2' + gem 'mongoid', '~> 7.2.0' +when '7.1' + gem 'mongoid', '~> 7.1.0' +when '7.0' + gem 'mongoid', '~> 7.0.0' +when '6' gem 'mongoid', '~> 6.0' -when /^5/ +when '5' gem 'mongoid', '~> 5.0' else gem 'mongoid', version diff --git a/README.md b/README.md index 45e8377..ec790c5 100644 --- a/README.md +++ b/README.md @@ -1,18 +1,16 @@ # DelayedJob Mongoid backend -[![Gem Version](https://badge.fury.io/rb/delayed_job_mongoid.svg)](http://badge.fury.io/rb/delayed_job_mongoid) -[![Build Status](https://travis-ci.org/collectiveidea/delayed_job_mongoid.svg?branch=master)](https://travis-ci.org/collectiveidea/delayed_job_mongoid) -[![Code Climate](https://codeclimate.com/github/collectiveidea/delayed_job_mongoid.svg)](https://codeclimate.com/github/collectiveidea/delayed_job_mongoid) -[![Coverage Status](https://coveralls.io/repos/collectiveidea/delayed_job_mongoid/badge.svg?branch=master&service=github)](https://coveralls.io/github/collectiveidea/delayed_job_mongoid?branch=master) - -[gem]: https://rubygems.org/gems/delayed_job_mongoid -[travis]: http://travis-ci.org/collectiveidea/delayed_job_mongoid -[codeclimate]: https://codeclimate.com/github/collectiveidea/delayed_job_mongoid -[coveralls]: https://coveralls.io/r/collectiveidea/delayed_job_mongoid +[![Gem Version][gem-img]][gem-url] +[![Build Status][ghactions-img]][ghactions-url] +[![Code Climate][codeclimate-img]][codeclimate-url] +[![Coverage][coveralls-img]][coveralls-url] ## Requirements -Mongoid 5 or later. +Delayed Job Mongoid supports the following dependency versions: + +- Ruby 2.3+ +- Mongoid 5+ For Mongoid 3 and 4, use 2.x version of this gem. @@ -20,14 +18,29 @@ For Mongoid 3 and 4, use 2.x version of this gem. Add the gem to your Gemfile: - gem 'delayed_job_mongoid' +```ruby +gem 'delayed_job_mongoid' +``` -Create the indexes (and don't forget to do this on your production database): +Then create the indexes (don't forget to do this in production): - script/rails runner 'Delayed::Backend::Mongoid::Job.create_indexes' +``` +script/rails runner 'Delayed::Backend::Mongoid::Job.create_indexes' +``` To generate `script/delayed_job`: - rails generate delayed_job +``` +rails generate delayed_job +``` That's it. Use [delayed_job](http://github.com/collectiveidea/delayed_job) as normal. + +[gem-img]: https://badge.fury.io/rb/delayed_job_mongoid.svg +[gem-url]: https://rubygems.org/gems/delayed_job_mongoid +[ghactions-img]: https://github.com/collectiveidea/delayed_job_mongoid/actions/workflows/test.yml/badge.svg?query=branch%3Amaster +[ghactions-url]: https://github.com/collectiveidea/delayed_job_mongoid/actions/workflows/test.yml?query=branch%3Amaster +[codeclimate-img]: https://codeclimate.com/github/collectiveidea/delayed_job_mongoid.svg +[codeclimate-url]: https://codeclimate.com/github/collectiveidea/delayed_job_mongoid +[coveralls-img]: https://coveralls.io/github/collectiveidea/delayed_job_mongoid/badge.svg?branch=master +[coveralls-url]: https://coveralls.io/github/collectiveidea/delayed_job_mongoid?branch=master diff --git a/RELEASING.md b/RELEASING.md index c4b75b5..5dad004 100644 --- a/RELEASING.md +++ b/RELEASING.md @@ -1,5 +1,4 @@ -Releasing Delayed::Backend::Mongoid::Job -======================================== +# Releasing Delayed::Backend::Mongoid::Job There are no particular rules about when to release delayed_job_mongoid. Release bug fixes frequently, features not so frequently and breaking API changes rarely. @@ -12,7 +11,7 @@ bundle install rake ``` -Check that the last build succeeded in [Travis CI](https://travis-ci.org/collectiveidea/delayed_job_mongoid) for all supported platforms. +Check that the last build succeeded in [Github Actions](https://github.com/collectiveidea/delayed_job_mongoid/actions/workflows/test.yml?query=branch%3Amaster) for all supported platforms. Check and possibly increment the version, modify [delayed_job_mongoid.gemspec](delayed_job_mongoid.gemspec). diff --git a/delayed_job_mongoid.gemspec b/delayed_job_mongoid.gemspec index 2affebf..338952d 100644 --- a/delayed_job_mongoid.gemspec +++ b/delayed_job_mongoid.gemspec @@ -2,7 +2,7 @@ Gem::Specification.new do |spec| spec.add_dependency 'delayed_job', ['>= 3.0', '< 5'] spec.add_dependency 'mongoid', '>= 5.0' spec.authors = ['Chris Gaffney', 'Brandon Keepers', 'Erik Michaels-Ober'] - spec.email = ['chris@collectiveidea.com', 'brandon@opensoul.com', 'sferik@gmail.com'] + spec.email = %w[chris@collectiveidea.com brandon@opensoul.com sferik@gmail.com] spec.files = %w[CHANGELOG.md CONTRIBUTING.md LICENSE.md README.md delayed_job_mongoid.gemspec] + Dir['lib/**/*.rb'] spec.homepage = 'http://github.com/collectiveidea/delayed_job_mongoid' spec.licenses = ['MIT'] diff --git a/spec/helper.rb b/spec/helper.rb index 57acc0c..659545f 100644 --- a/spec/helper.rb +++ b/spec/helper.rb @@ -1,11 +1,12 @@ -require 'simplecov' -require 'coveralls' +unless defined?(JRUBY_VERSION) + require 'simplecov' + require 'coveralls' -SimpleCov.formatters = [SimpleCov::Formatter::HTMLFormatter, Coveralls::SimpleCov::Formatter] - -SimpleCov.start do - add_filter '/spec/' - minimum_coverage(76.39) + SimpleCov.formatters = [SimpleCov::Formatter::HTMLFormatter, Coveralls::SimpleCov::Formatter] + SimpleCov.start do + add_filter '/spec/' + minimum_coverage(76.39) + end end require 'rspec'