Skip to content

Commit 1257482

Browse files
committed
WIP: Configure CI/CD
1 parent 6595c2c commit 1257482

33 files changed

+186
-296
lines changed

.codeclimate.yml

-18
This file was deleted.

.github/gemfiles/rails_4.2.gemfile

+16
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
source "https://rubygems.org"
2+
3+
gemspec path: '../..'
4+
5+
group :test do
6+
gem "database_cleaner", ">= 1.5"
7+
end
8+
9+
group :test, :development do
10+
gem "pry"
11+
gem "pry-byebug", "3.7.0"
12+
gem "rails", "4.2.0"
13+
gem "rake", ">= 10"
14+
gem "rubocop", "0.81.0"
15+
gem "sqlite3", "~> 1.3.6"
16+
end

.github/gemfiles/rails_6.0.gemfile

+16
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
source "https://rubygems.org"
2+
3+
gemspec path: '../..'
4+
5+
group :test do
6+
gem "database_cleaner", ">= 1.5"
7+
end
8+
9+
group :test, :development do
10+
gem "pry"
11+
gem "pry-byebug"
12+
gem "rails", "~> 6.0"
13+
gem "rake", ">= 10"
14+
gem "rubocop"
15+
gem "sqlite3", "~> 1.4.0"
16+
end

.github/gemfiles/rails_7.1.gemfile

+16
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
source "https://rubygems.org"
2+
3+
gemspec path: '../..'
4+
5+
group :test do
6+
gem "database_cleaner", ">= 1.5"
7+
end
8+
9+
group :test, :development do
10+
gem "pry"
11+
gem "pry-byebug"
12+
gem "rails", "~> 7.1.0"
13+
gem "rake", ">= 10"
14+
gem "rubocop"
15+
gem "sqlite3", "~> 1.6"
16+
end

.github/workflows/check.yml

+64
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
name: Check the code
2+
on:
3+
push:
4+
branches:
5+
- master
6+
pull_request:
7+
branches:
8+
- master
9+
concurrency:
10+
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
11+
cancel-in-progress: true
12+
defaults:
13+
run:
14+
shell: bash
15+
jobs:
16+
lint:
17+
name: lint (ruby 3.2, rails 7.1)
18+
runs-on: ubuntu-latest
19+
env:
20+
BUNDLE_GEMFILE: ${{ github.workspace }}/.github/gemfiles/rails_7.1.gemfile
21+
BUNDLE_RETRY: 1
22+
steps:
23+
- uses: actions/checkout@v3
24+
- uses: ruby/setup-ruby@v1
25+
with:
26+
ruby-version: '3.2'
27+
bundler-cache: true
28+
- run: bundle exec rubocop
29+
30+
test-legacy:
31+
name: test (ruby 2.3, rails 4.2)
32+
runs-on: ubuntu-latest
33+
env:
34+
BUNDLER_VERSION: '1.17.3'
35+
BUNDLE_GEMFILE: ${{ github.workspace }}/.github/gemfiles/rails_4.2.gemfile
36+
BUNDLE_RETRY: 1
37+
steps:
38+
- uses: actions/checkout@v3
39+
- uses: ruby/setup-ruby@v1
40+
with:
41+
ruby-version: 2.3
42+
rubygems: 3.2.3
43+
bundler: 1
44+
bundler-cache: true
45+
- run: bundle exec rake
46+
47+
test:
48+
name: test (ruby ${{ matrix.ruby }}, rails ${{ matrix.rails }})
49+
runs-on: ubuntu-latest
50+
strategy:
51+
fail-fast: false
52+
matrix:
53+
ruby: ['3.2']
54+
rails: ['6.0', '7.1']
55+
env:
56+
BUNDLE_GEMFILE: ${{ github.workspace }}/.github/gemfiles/rails_${{ matrix.rails }}.gemfile
57+
BUNDLE_RETRY: 1
58+
steps:
59+
- uses: actions/checkout@v3
60+
- uses: ruby/setup-ruby@v1
61+
with:
62+
ruby-version: ${{ matrix.ruby }}
63+
bundler-cache: true
64+
- run: bundle exec rake

.github/workflows/release.yml

+15
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
name: Release a new version
2+
on:
3+
release:
4+
types: [created]
5+
jobs:
6+
release:
7+
name: Publish new version on RubyGems
8+
runs-on: ubuntu-latest
9+
steps:
10+
- uses: actions/checkout@v3
11+
- uses: cadwallion/publish-rubygems-action@master
12+
env:
13+
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
14+
RUBYGEMS_API_KEY: ${{secrets.PUSH_RSPEC_SQLIMIT}}
15+
RELEASE_COMMAND: rake release

.gitignore

+4-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,10 @@
88
/pkg/
99
/spec/reports/
1010
/tmp/
11-
/spec/dummy/db/*.sqlite3
11+
/log/
12+
/spec/dummy/log/
13+
/spec/dummy/tmp/
14+
/spec/dummy/storage/
1215
*.gem
1316
.rspec_status
1417
.idea/

.rubocop.yml

+11-6
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,25 @@
11
---
22
AllCops:
3-
DisplayCopNames: true
4-
DisplayStyleGuide: true
3+
DisplayCopNames: true
4+
DisplayStyleGuide: true
5+
NewCops: enable
56
StyleGuideCopsOnly: true
6-
TargetRubyVersion: 2.6
7+
TargetRubyVersion: 2.3
78
Exclude:
89
- spec/dummy/db/schema.rb
910
- vendor/bundle/**/*
1011
- gemfiles/vendor/**/*
12+
1113
Metrics/ParameterLists:
1214
Max: 5
1315

14-
Style/Alias:
16+
Naming/FileName:
1517
Enabled: false
1618

17-
Style/ClassAndModuleChildren:
19+
Style/Alias:
1820
Enabled: false
1921

20-
Style/FileName:
22+
Style/ClassAndModuleChildren:
2123
Enabled: false
2224

2325
Style/FrozenStringLiteralComment:
@@ -26,6 +28,9 @@ Style/FrozenStringLiteralComment:
2628
Style/ModuleFunction:
2729
Enabled: false
2830

31+
Style/OptionalBooleanParameter:
32+
Enabled: false
33+
2934
Style/StringLiterals:
3035
EnforcedStyle: double_quotes
3136

.travis.yml

-37
This file was deleted.

Appraisals

-24
This file was deleted.

CHANGELOG.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/)
66
and this project adheres to [Semantic Versioning](http://semver.org/).
77

88
## [0.0.6] - [2023-10-06]
9-
- Support of Rails 7.2+ (@terracatta)
9+
- Support of Rails 7+ (@terracatta)
1010

1111
## [0.0.5] - [2022-02-13]
1212
- Support of Rails 7 (@kivanio)

Gemfile

+7-3
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,16 @@
11
source "https://rubygems.org"
22

3-
# Specify your gem's dependencies in tram-form.gemspec
43
gemspec
54

6-
gem "rails"
7-
gem "sqlite3"
5+
group :test do
6+
gem "database_cleaner", ">= 1.5"
7+
end
88

99
group :test, :development do
1010
gem "pry"
1111
gem "pry-byebug"
12+
gem "rails"
13+
gem "rake", ">= 10"
14+
gem "rubocop"
15+
gem "sqlite3", ">= 1.3"
1216
end

README.md

-9
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,6 @@ It wraps [the answer at Stack Overflow][stack-answer] by [Ryan Bigg][ryan-bigg],
77
For motivation and details see my [blog post "Fighting the Hydra of N+1 queries" in the Martian Chronicles][hydra].
88

99
[![Gem Version][gem-badger]][gem]
10-
[![Build Status][travis-badger]][travis]
11-
[![Dependency Status][gemnasium-badger]][gemnasium]
12-
[![Code Climate][codeclimate-badger]][codeclimate]
1310

1411
<a href="https://evilmartians.com/">
1512
<img src="https://evilmartians.com/badges/sponsored-by-evil-martians.svg" alt="Sponsored by Evil Martians" width="236" height="54"></a>
@@ -89,14 +86,8 @@ In the last example you can see that binded values are shown after the query fol
8986

9087
The gem is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT).
9188

92-
[codeclimate-badger]: https://img.shields.io/codeclimate/github/nepalez/rspec-sqlimit.svg?style=flat
93-
[codeclimate]: https://codeclimate.com/github/nepalez/rspec-sqlimit
9489
[gem-badger]: https://img.shields.io/gem/v/rspec-sqlimit.svg?style=flat
9590
[gem]: https://rubygems.org/gems/rspec-sqlimit
96-
[gemnasium-badger]: https://img.shields.io/gemnasium/nepalez/rspec-sqlimit.svg?style=flat
97-
[gemnasium]: https://gemnasium.com/nepalez/rspec-sqlimit
98-
[travis-badger]: https://img.shields.io/travis/nepalez/rspec-sqlimit/master.svg?style=flat
99-
[travis]: https://travis-ci.org/nepalez/rspec-sqlimit
10091
[stack-answer]: http://stackoverflow.com/a/5492207/1869912
10192
[ryan-bigg]: http://ryanbigg.com/
10293
[notification]: http://api.rubyonrails.org/classes/ActiveSupport/Notifications.html

Rakefile

+1-18
Original file line numberDiff line numberDiff line change
@@ -6,24 +6,7 @@ require "rspec/core/rake_task"
66
# Adds dummy:db tasks.
77
load "spec/dummy/Rakefile"
88

9-
# Declares gem's own tasks.
10-
desc "Runs test suite over all rails versions."
11-
task :default do
12-
if ENV["BUNDLE_GEMFILE"] =~ /gemfiles/
13-
Rake::Task["dummy:db:create"].reenable
14-
Rake::Task["dummy:db:migrate"].reenable
15-
Rake::Task[:spec].invoke
16-
else
17-
Rake::Task[:appraise].invoke
18-
end
19-
end
20-
219
desc "Runs test suite."
22-
task default: %w[dummy:db:create dummy:db:migrate] do
10+
task default: %w[db:reset db:schema:load] do
2311
exec "bundle exec rspec spec"
24-
exec "bundle exec rubocop"
25-
end
26-
27-
task :appraise do
28-
exec "appraisal install && appraisal rake"
2912
end

gemfiles/.bundle/config

-2
This file was deleted.

gemfiles/rails_4.2.gemfile

-13
This file was deleted.

gemfiles/rails_5.0.gemfile

-13
This file was deleted.

gemfiles/rails_5.1.gemfile

-13
This file was deleted.

0 commit comments

Comments
 (0)