Skip to content

Commit

Permalink
Migrate to GitHub Actions
Browse files Browse the repository at this point in the history
Also:
- Test against Active Model 7.0
- Test against Ruby 3.1 stable
- Test against latest Ruby versions
- Set Dalli version to < 3 on older Active Model versions
  • Loading branch information
tagliala committed Jan 27, 2022
1 parent 3c36ad4 commit 84434f0
Show file tree
Hide file tree
Showing 13 changed files with 171 additions and 148 deletions.
138 changes: 138 additions & 0 deletions .github/workflows/ruby.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,138 @@
name: Ruby specs

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

jobs:
test:
name: Ruby specs
runs-on: ubuntu-latest

strategy:
matrix:
ruby-version: ['2.6.9', '2.7.5', '3.0.3', '3.1.0']
gemfile: [am_5.2, am_6.0, am_6.1, am_7.0]
experimental: [false]

include:
# Ruby 2.1.10 is not available on GitHub Actions' ubuntu-20.04
# Ruby 2.1.9 returns segmentation faults, so this is marked as
# experimental
- ruby-version: '2.1.9'
gemfile: am_3.2
experimental: true
- ruby-version: '2.1.9'
gemfile: am_4.0
experimental: true
- ruby-version: '2.1.9'
gemfile: am_4.1
experimental: true
- ruby-version: '2.1.9'
gemfile: am_4.2
experimental: true

- ruby-version: '2.2.10'
gemfile: am_3.2
experimental: false
- ruby-version: '2.2.10'
gemfile: am_4.0
experimental: false
- ruby-version: '2.2.10'
gemfile: am_4.1
experimental: false
- ruby-version: '2.2.10'
gemfile: am_4.2
experimental: false
- ruby-version: '2.2.10'
gemfile: am_5.0
experimental: false
- ruby-version: '2.2.10'
gemfile: am_5.1
experimental: false
- ruby-version: '2.2.10'
gemfile: am_5.2
experimental: false

- ruby-version: '2.4.10'
gemfile: am_4.2
experimental: false
- ruby-version: '2.4.10'
gemfile: am_5.0
experimental: false
- ruby-version: '2.4.10'
gemfile: am_5.1
experimental: false
- ruby-version: '2.4.10'
gemfile: am_5.2
experimental: false

- ruby-version: '2.5.9'
gemfile: am_5.0
experimental: false
- ruby-version: '2.5.9'
gemfile: am_5.1
experimental: false
- ruby-version: '2.5.9'
gemfile: am_5.2
experimental: false
- ruby-version: '2.5.9'
gemfile: am_6.0
experimental: false
- ruby-version: '2.5.9'
gemfile: am_6.1
experimental: false

- ruby-version: '2.7.5'
gemfile: am_edge
experimental: true

- ruby-version: '3.0.3'
gemfile: am_edge
experimental: true

- ruby-version: '3.1.0'
gemfile: am_edge
experimental: true

- ruby-version: 'head'
gemfile: am_7.0
experimental: true
- ruby-version: 'head'
gemfile: am_edge
experimental: true

exclude:
- ruby-version: '2.6.9'
gemfile: am_7.0

- ruby-version: '2.7.5'
gemfile: am_5.2

- ruby-version: '3.0.3'
gemfile: am_5.2

- ruby-version: '3.1.0'
gemfile: am_5.2
- ruby-version: '3.1.0'
gemfile: am_6.0
- ruby-version: '3.1.0'
gemfile: am_6.1

env:
BUNDLE_GEMFILE: gemfiles/${{ matrix.gemfile }}.gemfile
TEST_CONFIG: ./spec/config.github.yml

continue-on-error: ${{ matrix.experimental }}

steps:
- uses: actions/checkout@v2
- name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: ${{ matrix.ruby-version }}
bundler-cache: true
- name: Run specs
run: bundle exec rake spec
142 changes: 0 additions & 142 deletions .travis.yml

This file was deleted.

12 changes: 12 additions & 0 deletions Appraisals
Original file line number Diff line number Diff line change
Expand Up @@ -3,36 +3,43 @@
appraise 'am-3.2' do
gem 'activemodel', "~> 3.2.0"
gem 'activesupport', "~> 3.2.0"
gem 'dalli', '< 3'
end

appraise 'am-4.0' do
gem 'activemodel', "~> 4.0.0"
gem 'activesupport', "~> 4.0.0"
gem 'dalli', '< 3'
end

appraise 'am-4.1' do
gem 'activemodel', "~> 4.1.0"
gem 'activesupport', "~> 4.1.0"
gem 'dalli', '< 3'
end

appraise 'am-4.2' do
gem 'activemodel', "~> 4.2.0"
gem 'activesupport', "~> 4.2.0"
gem 'dalli', '< 3'
end

appraise 'am-5.0' do
gem 'activemodel', "~> 5.0.0"
gem 'activesupport', "~> 5.0.0"
gem 'dalli', '< 3'
end

appraise 'am-5.1' do
gem 'activemodel', "~> 5.1.0"
gem 'activesupport', "~> 5.1.0"
gem 'dalli', '< 3'
end

appraise 'am-5.2' do
gem 'activemodel', "~> 5.2.0"
gem 'activesupport', "~> 5.2.0"
gem 'dalli', '< 3'
end

appraise 'am-6.0' do
Expand All @@ -45,6 +52,11 @@ appraise 'am-6.1' do
gem 'activesupport', "~> 6.1.0"
end

appraise 'am-7.0' do
gem 'activemodel', "~> 7.0.0"
gem 'activesupport', "~> 7.0.0"
end

appraise 'am-edge' do
gem 'activemodel', git: "https://github.com/rails/rails.git"
gem 'activesupport', git: "https://github.com/rails/rails.git"
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Hawk

[![Build Status](https://travis-ci.org/ifad/hawk.svg)](https://travis-ci.org/ifad/hawk)
[![Build Status](https://github.com/ifad/hawk/actions/workflows/ruby.yml/badge.svg)](https://github.com/ifad/hawk/actions)

Hawk is an API Client framework. It is used as a base to then build your API
clients. It consumes JSON and produces Ruby objects without any Hash magic.
Expand Down
1 change: 1 addition & 0 deletions gemfiles/am_3.2.gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -4,5 +4,6 @@ source "https://rubygems.org"

gem "activemodel", "~> 3.2.0"
gem "activesupport", "~> 3.2.0"
gem "dalli", "< 3"

gemspec path: "../"
1 change: 1 addition & 0 deletions gemfiles/am_4.0.gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -4,5 +4,6 @@ source "https://rubygems.org"

gem "activemodel", "~> 4.0.0"
gem "activesupport", "~> 4.0.0"
gem "dalli", "< 3"

gemspec path: "../"
1 change: 1 addition & 0 deletions gemfiles/am_4.1.gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -4,5 +4,6 @@ source "https://rubygems.org"

gem "activemodel", "~> 4.1.0"
gem "activesupport", "~> 4.1.0"
gem "dalli", "< 3"

gemspec path: "../"
1 change: 1 addition & 0 deletions gemfiles/am_4.2.gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -4,5 +4,6 @@ source "https://rubygems.org"

gem "activemodel", "~> 4.2.0"
gem "activesupport", "~> 4.2.0"
gem "dalli", "< 3"

gemspec path: "../"
1 change: 1 addition & 0 deletions gemfiles/am_5.0.gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -4,5 +4,6 @@ source "https://rubygems.org"

gem "activemodel", "~> 5.0.0"
gem "activesupport", "~> 5.0.0"
gem "dalli", "< 3"

gemspec path: "../"
1 change: 1 addition & 0 deletions gemfiles/am_5.1.gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -4,5 +4,6 @@ source "https://rubygems.org"

gem "activemodel", "~> 5.1.0"
gem "activesupport", "~> 5.1.0"
gem "dalli", "< 3"

gemspec path: "../"
1 change: 1 addition & 0 deletions gemfiles/am_5.2.gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -4,5 +4,6 @@ source "https://rubygems.org"

gem "activemodel", "~> 5.2.0"
gem "activesupport", "~> 5.2.0"
gem "dalli", "< 3"

gemspec path: "../"
Loading

0 comments on commit 84434f0

Please sign in to comment.