Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
207 changes: 207 additions & 0 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,207 @@
name: Test

on:
push:
branches: [ master ]
pull_request:
branches: [ master ]

jobs:
test_sqlite:
runs-on: ubuntu-latest

strategy:
fail-fast: false
matrix:
ruby: [ '2.6', '2.7', '3.0' ]
rails: [ '4.2', '5.0', '5.1', '5.2', '6.0', '6.1' ]
exclude:
- ruby: '2.6'
rails: '4.0'
- ruby: '2.6'
rails: '4.1'
- ruby: '2.7'
rails: '4.0'
- ruby: '2.7'
rails: '4.1'
- ruby: '2.7'
rails: '4.2'
- ruby: '3.0'
rails: '4.0'
- ruby: '3.0'
rails: '4.1'
- ruby: '3.0'
rails: '4.2'
- ruby: '3.0'
rails: '5.0'
- ruby: '3.0'
rails: '5.1'
- ruby: '3.0'
rails: '5.2'

name: SQLite / Ruby ${{ matrix.ruby }} / Rails ${{ matrix.rails }}

steps:
- uses: actions/checkout@v2

- name: Setup Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: ${{ matrix.ruby }}

- name: Install gems
env:
MATRIX_RAILS_VERSION: ${{ matrix.rails }}
run: |
export BUNDLE_GEMFILE="${GITHUB_WORKSPACE}/gemfiles/rails_${MATRIX_RAILS_VERSION}.gemfile"
bundle install --jobs 4 --retry 3

- name: RSpec
run: bundle exec rake

test_mysql:
runs-on: ubuntu-latest

services:
mysql:
image: mysql:5.7
env:
MYSQL_ROOT_PASSWORD: password
ports:
- 3306:3306
options: >-
--health-cmd="mysqladmin ping"
--health-interval=10s
--health-timeout=5s
--health-retries=3

strategy:
fail-fast: false
matrix:
ruby: [ '2.6', '2.7', '3.0' ]
rails: [ '4.2', '5.0', '5.1', '5.2', '6.0', '6.1' ]
exclude:
- ruby: '2.6'
rails: '4.0'
- ruby: '2.6'
rails: '4.1'
- ruby: '2.7'
rails: '4.0'
- ruby: '2.7'
rails: '4.1'
- ruby: '2.7'
rails: '4.2'
- ruby: '3.0'
rails: '4.0'
- ruby: '3.0'
rails: '4.1'
- ruby: '3.0'
rails: '4.2'
- ruby: '3.0'
rails: '5.0'
- ruby: '3.0'
rails: '5.1'
- ruby: '3.0'
rails: '5.2'

name: MySQL / Ruby ${{ matrix.ruby }} / Rails ${{ matrix.rails }}

steps:
- uses: actions/checkout@v2

- name: Setup Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: ${{ matrix.ruby }}

- name: Install database client
run: |
sudo apt-get update
sudo apt-get install -y mysql-client libmariadbclient-dev

- name: Install gems
env:
MATRIX_RAILS_VERSION: ${{ matrix.rails }}
run: |
export BUNDLE_GEMFILE="${GITHUB_WORKSPACE}/gemfiles/rails_${MATRIX_RAILS_VERSION}.gemfile"
bundle install --jobs 4 --retry 3

- name: Setup database
run: |
mysql -e 'create database IF NOT EXISTS unread_test;' -u root --password=password -P 3306 -h 127.0.0.1

- name: RSpec
run: bundle exec rake

test_postgres:
runs-on: ubuntu-latest

services:
postgres:
image: postgres
env:
POSTGRES_PASSWORD: postgres
options: >-
--health-cmd pg_isready
--health-interval 10s
--health-timeout 5s
--health-retries 5
ports:
- 5432:5432

strategy:
fail-fast: false
matrix:
ruby: [ '2.6', '2.7', '3.0' ]
rails: [ '4.2', '5.0', '5.1', '5.2', '6.0', '6.1' ]
exclude:
- ruby: '2.6'
rails: '4.0'
- ruby: '2.6'
rails: '4.1'
- ruby: '2.7'
rails: '4.0'
- ruby: '2.7'
rails: '4.1'
- ruby: '2.7'
rails: '4.2'
- ruby: '3.0'
rails: '4.0'
- ruby: '3.0'
rails: '4.1'
- ruby: '3.0'
rails: '4.2'
- ruby: '3.0'
rails: '5.0'
- ruby: '3.0'
rails: '5.1'
- ruby: '3.0'
rails: '5.2'

name: PostgreSQL / Ruby ${{ matrix.ruby }} / Rails ${{ matrix.rails }}

steps:
- uses: actions/checkout@v2

- name: Setup Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: ${{ matrix.ruby }}

- name: Install database client
run: |
sudo apt-get install -y postgresql-client

- name: Install gems
env:
MATRIX_RAILS_VERSION: ${{ matrix.rails }}
run: |
export BUNDLE_GEMFILE="${GITHUB_WORKSPACE}/gemfiles/rails_${MATRIX_RAILS_VERSION}.gemfile"
bundle install --jobs 4 --retry 3

- name: Setup database
run: |
PGPASSWORD=postgres psql -c 'create database unread_test;' -U postgres -p 5432 -h localhost

- name: RSpec
run: bundle exec rake
57 changes: 0 additions & 57 deletions .travis.yml

This file was deleted.

16 changes: 8 additions & 8 deletions Appraisals
Original file line number Diff line number Diff line change
@@ -1,53 +1,53 @@
appraise "rails-6-1" do
appraise "rails-6.1" do
gem "activerecord", "~> 6.1.2", ">= 6.1.2.1"
gem "mysql2", "~> 0.5"
gem "pg", "~> 1.1"
gem "sqlite3", "~> 1.4"
end

appraise "rails-6-0" do
appraise "rails-6.0" do
gem "activerecord", "~> 6.0.0"
gem "mysql2", ">= 0.4.4"
gem "pg", ">= 0.18", "< 2.0"
gem "sqlite3", "~> 1.4"
end

appraise "rails-5-2" do
appraise "rails-5.2" do
gem "activerecord", "~> 5.2.3"
gem "mysql2", ">= 0.4.4", "< 0.6.0"
gem "pg", ">= 0.18", "< 2.0"
gem "sqlite3", "~> 1.3", ">= 1.3.6"
end

appraise "rails-5-1" do
appraise "rails-5.1" do
gem "activerecord", "~> 5.1.7"
gem "mysql2", ">= 0.3.18", "< 0.6.0"
gem "pg", ">= 0.18", "< 2.0"
gem "sqlite3", "~> 1.3", ">= 1.3.6"
end

appraise "rails-5-0" do
appraise "rails-5.0" do
gem "activerecord", "~> 5.0.7"
gem 'mysql2', '>= 0.3.18', '< 0.6.0'
gem "pg", ">= 0.18", "< 2.0"
gem 'sqlite3', '~> 1.3.6'
end

appraise "rails-4-2" do
appraise "rails-4.2" do
gem "activerecord", "~> 4.2.11"
gem 'mysql2', '>= 0.3.13', '< 0.6.0'
gem "pg", "~> 0.15"
gem 'sqlite3', '~> 1.3.6'
end

appraise "rails-4-1" do
appraise "rails-4.1" do
gem "activerecord", "~> 4.1.16"
gem 'mysql2', '~> 0.3.13'
gem "pg", "~> 0.11"
gem 'sqlite3', '~> 1.3.6'
end

appraise "rails-4-0" do
appraise "rails-4.0" do
gem "activerecord", "~> 4.0.13"
gem "mysql2", '~> 0.3.10'
gem "pg", "~> 0.11"
Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ Unread

Ruby gem to manage read/unread status of ActiveRecord objects - and it's fast.

[![Build Status](https://travis-ci.org/ledermann/unread.svg?branch=master)](https://travis-ci.org/ledermann/unread)
[![Build Status](https://github.com/ledermann/unread/workflows/Test/badge.svg?branch=master)](https://github.com/ledermann/unread/actions)
[![Maintainability](https://api.codeclimate.com/v1/badges/930c8df0f99b20324444/maintainability)](https://codeclimate.com/github/ledermann/unread/maintainability)
[![Coverage Status](https://coveralls.io/repos/ledermann/unread/badge.svg?branch=master)](https://coveralls.io/r/ledermann/unread?branch=master)

Expand All @@ -19,7 +19,7 @@ Ruby gem to manage read/unread status of ActiveRecord objects - and it's fast.

## Requirements

* Ruby 2.5 or newer
* Ruby 2.6 or newer
* Rails 4.0 or newer (including Rails 6)
* MySQL, PostgreSQL or SQLite
* Needs a timestamp field in your models (like created_at or updated_at) with a database index on it
Expand Down
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
6 changes: 6 additions & 0 deletions spec/database.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,14 @@ mysql:
adapter: mysql2
database: unread_test
username: root
password: password
encoding: utf8
host: 127.0.0.1
port: 3306
postgres:
adapter: postgresql
database: unread_test
username: postgres
password: postgres
host: localhost
port: 5432
2 changes: 1 addition & 1 deletion unread.gemspec
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ Gem::Specification.new do |s|
s.homepage = "https://github.com/ledermann/unread"
s.summary = %q{Manages read/unread status of ActiveRecord objects}
s.description = %q{This gem creates a scope for unread objects and adds methods to mark objects as read }
s.required_ruby_version = '>= 2.5'
s.required_ruby_version = '>= 2.6'

s.files = `git ls-files -z`.split("\x0").reject do |f|
f.match(%r{^(test|spec|features)/})
Expand Down