Skip to content

Commit

Permalink
cheburek
Browse files Browse the repository at this point in the history
  • Loading branch information
0exp committed Nov 25, 2024
1 parent 988a860 commit 4c63a72
Show file tree
Hide file tree
Showing 9 changed files with 435 additions and 26 deletions.
47 changes: 38 additions & 9 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -1,22 +1,51 @@
name: Build (Linter + Specs)
on: [push, pull_request]
name: Test (Linter + TypeCheck + RSpec)
on: [push]
jobs:
lint-and-test:
runs-on: ubuntu-latest
test-previous:
name: '(OS: ${{ matrix.os }}) RSpec - Ruby ${{ matrix.ruby_version }}'
strategy:
fail-fast: false
matrix:
ruby_version: ["3.1", "3.2", "3.3"]
ruby_version: ['3.1', '3.2']
os: [ubuntu-latest]
runs-on: ${{ matrix.os }}
env:
BUNDLE_GEMFILE: github_ci/ruby${{ matrix.ruby_version }}.gemfile
BUNDLE_RETRY: 3
BUNDLE_JOBS: 4
BUNDLE_FORCE_RUBY_PLATFORM: 1
steps:
- uses: actions/checkout@v4
- uses: supercharge/[email protected]
- uses: ruby/setup-ruby@v1
with:
ruby-version: ${{ matrix.ruby_version }}
bundler-cache: true
- name: Linter
- name: (Test) RSpec
run: bundle exec rake rspec
test-mainstream:
name: '(OS: ${{ matrix.os }}) RSpec - Ruby ${{ matrix.ruby_version }}'
strategy:
fail-fast: false
matrix:
ruby_version: ['3.3', 'head']
os: [ubuntu-latest]
env:
BUNDLE_RETRY: 3
BUNDLE_JOBS: 4
BUNDLE_FORCE_RUBY_PLATFORM: 1
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- uses: supercharge/[email protected]
- uses: ruby/setup-ruby@v1
with:
ruby-version: ${{ matrix.ruby_version }}
bundler-cache: true
- name: (Linter) Rubocop
run: bundle exec rake rubocop
- name: Type Signatures
run: bundle exec steep check
- name: Specs
- name: (TypeCheck) Steep
run: bundle exec steep check --jobs 10
continue-on-error: true
- name: (Test) RSpec
run: bundle exec rake rspec
2 changes: 2 additions & 0 deletions .rubocop.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,8 @@ AllCops:
- lib/**/*.rb
- spec/**/*.rb
- Gemfile
- gemfiles/ruby3.1.gemfile
- gemfiles/ruby3.2.gemfile
- Rakefile
- redis_queued_locks.gemspec
- bin/console
Expand Down
9 changes: 9 additions & 0 deletions Gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -3,3 +3,12 @@
source 'https://rubygems.org'

gemspec

gem 'activesupport'
gem 'armitage-rubocop'
gem 'bundler'
gem 'pry'
gem 'rake'
gem 'rbs'
gem 'rspec'
gem 'steep'
6 changes: 4 additions & 2 deletions Gemfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ PATH
GEM
remote: https://rubygems.org/
specs:
activesupport (7.2.2)
activesupport (8.0.0)
base64
benchmark (>= 0.3)
bigdecimal
Expand All @@ -20,6 +20,7 @@ GEM
minitest (>= 5.1)
securerandom (>= 0.3)
tzinfo (~> 2.0, >= 2.0.5)
uri (>= 0.13.1)
armitage-rubocop (1.68.0.2)
rubocop (= 1.68.0)
rubocop-capybara (= 2.21.0)
Expand Down Expand Up @@ -148,6 +149,7 @@ GEM
tzinfo (2.0.6)
concurrent-ruby (~> 1.0)
unicode-display_width (2.6.0)
uri (1.0.2)

PLATFORMS
aarch64-linux-gnu
Expand All @@ -163,7 +165,7 @@ PLATFORMS
x86_64-linux-musl

DEPENDENCIES
activesupport (< 8)
activesupport
armitage-rubocop
bundler
pry
Expand Down
14 changes: 14 additions & 0 deletions github_ci/ruby3.1.gemfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# frozen_string_literal: true

source 'https://rubygems.org'

gemspec path: '..'

gem 'activesupport', '< 8'
gem 'armitage-rubocop', '<= 1.59.0'
gem 'bundler'
gem 'pry'
gem 'rake'
gem 'rbs'
gem 'rspec'
gem 'steep'
177 changes: 177 additions & 0 deletions github_ci/ruby3.1.gemfile.lock
Original file line number Diff line number Diff line change
@@ -0,0 +1,177 @@
PATH
remote: ..
specs:
redis_queued_locks (1.12.1)
qonfig (~> 0.28)
redis-client (~> 0.20)

GEM
remote: https://rubygems.org/
specs:
activesupport (7.2.2)
base64
benchmark (>= 0.3)
bigdecimal
concurrent-ruby (~> 1.0, >= 1.3.1)
connection_pool (>= 2.2.5)
drb
i18n (>= 1.6, < 2)
logger (>= 1.4.2)
minitest (>= 5.1)
securerandom (>= 0.3)
tzinfo (~> 2.0, >= 2.0.5)
armitage-rubocop (1.59.0)
rubocop (= 1.59.0)
rubocop-capybara (= 2.19.0)
rubocop-factory_bot (= 2.24.0)
rubocop-performance (= 1.20.1)
rubocop-rails (= 2.23.1)
rubocop-rake (= 0.6.0)
rubocop-rspec (= 2.25.0)
ast (2.4.2)
base64 (0.2.0)
benchmark (0.4.0)
bigdecimal (3.1.8)
coderay (1.1.3)
concurrent-ruby (1.3.4)
connection_pool (2.4.1)
csv (3.3.0)
diff-lcs (1.5.1)
drb (2.2.1)
ffi (1.17.0)
ffi (1.17.0-aarch64-linux-gnu)
ffi (1.17.0-aarch64-linux-musl)
ffi (1.17.0-arm-linux-gnu)
ffi (1.17.0-arm-linux-musl)
ffi (1.17.0-arm64-darwin)
ffi (1.17.0-x86-linux-gnu)
ffi (1.17.0-x86-linux-musl)
ffi (1.17.0-x86_64-darwin)
ffi (1.17.0-x86_64-linux-gnu)
ffi (1.17.0-x86_64-linux-musl)
fileutils (1.7.3)
i18n (1.14.6)
concurrent-ruby (~> 1.0)
json (2.8.2)
language_server-protocol (3.17.0.3)
listen (3.9.0)
rb-fsevent (~> 0.10, >= 0.10.3)
rb-inotify (~> 0.9, >= 0.9.10)
logger (1.6.1)
method_source (1.1.0)
minitest (5.25.2)
parallel (1.26.3)
parser (3.3.6.0)
ast (~> 2.4.1)
racc
pry (0.15.0)
coderay (~> 1.1)
method_source (~> 1.0)
qonfig (0.29.0)
racc (1.8.1)
rack (3.1.8)
rainbow (3.1.1)
rake (13.2.1)
rb-fsevent (0.11.2)
rb-inotify (0.11.1)
ffi (~> 1.0)
rbs (3.6.1)
logger
redis-client (0.22.2)
connection_pool
regexp_parser (2.9.2)
rexml (3.3.9)
rspec (3.13.0)
rspec-core (~> 3.13.0)
rspec-expectations (~> 3.13.0)
rspec-mocks (~> 3.13.0)
rspec-core (3.13.2)
rspec-support (~> 3.13.0)
rspec-expectations (3.13.3)
diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.13.0)
rspec-mocks (3.13.2)
diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.13.0)
rspec-support (3.13.1)
rubocop (1.59.0)
json (~> 2.3)
language_server-protocol (>= 3.17.0)
parallel (~> 1.10)
parser (>= 3.2.2.4)
rainbow (>= 2.2.2, < 4.0)
regexp_parser (>= 1.8, < 3.0)
rexml (>= 3.2.5, < 4.0)
rubocop-ast (>= 1.30.0, < 2.0)
ruby-progressbar (~> 1.7)
unicode-display_width (>= 2.4.0, < 3.0)
rubocop-ast (1.36.1)
parser (>= 3.3.1.0)
rubocop-capybara (2.19.0)
rubocop (~> 1.41)
rubocop-factory_bot (2.24.0)
rubocop (~> 1.33)
rubocop-performance (1.20.1)
rubocop (>= 1.48.1, < 2.0)
rubocop-ast (>= 1.30.0, < 2.0)
rubocop-rails (2.23.1)
activesupport (>= 4.2.0)
rack (>= 1.1)
rubocop (>= 1.33.0, < 2.0)
rubocop-ast (>= 1.30.0, < 2.0)
rubocop-rake (0.6.0)
rubocop (~> 1.0)
rubocop-rspec (2.25.0)
rubocop (~> 1.40)
rubocop-capybara (~> 2.17)
rubocop-factory_bot (~> 2.22)
ruby-progressbar (1.13.0)
securerandom (0.3.2)
steep (1.8.3)
activesupport (>= 5.1)
concurrent-ruby (>= 1.1.10)
csv (>= 3.0.9)
fileutils (>= 1.1.0)
json (>= 2.1.0)
language_server-protocol (>= 3.15, < 4.0)
listen (~> 3.0)
logger (>= 1.3.0)
parser (>= 3.1)
rainbow (>= 2.2.2, < 4.0)
rbs (~> 3.6.0)
securerandom (>= 0.1)
strscan (>= 1.0.0)
terminal-table (>= 2, < 4)
strscan (3.1.0)
terminal-table (3.0.2)
unicode-display_width (>= 1.1.1, < 3)
tzinfo (2.0.6)
concurrent-ruby (~> 1.0)
unicode-display_width (2.6.0)

PLATFORMS
aarch64-linux-gnu
aarch64-linux-musl
arm-linux-gnu
arm-linux-musl
arm64-darwin
ruby
x86-linux-gnu
x86-linux-musl
x86_64-darwin
x86_64-linux-gnu
x86_64-linux-musl

DEPENDENCIES
activesupport (< 8)
armitage-rubocop (<= 1.59.0)
bundler
pry
rake
rbs
redis_queued_locks!
rspec
steep

BUNDLED WITH
2.5.23
14 changes: 14 additions & 0 deletions github_ci/ruby3.2.gemfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# frozen_string_literal: true

source 'https://rubygems.org'

gemspec path: '..'

gem 'activesupport', '< 8'
gem 'armitage-rubocop', '<= 1.59.0'
gem 'bundler'
gem 'pry'
gem 'rake'
gem 'rbs'
gem 'rspec'
gem 'steep'
Loading

0 comments on commit 4c63a72

Please sign in to comment.