Skip to content

Commit 76e65b3

Browse files
committed
Restructured CI testing + badge layout
1 parent 481d2a0 commit 76e65b3

13 files changed

+111
-278
lines changed

Diff for: .github/workflows/build.yml

+87
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,87 @@
1+
name: Build
2+
3+
on:
4+
push:
5+
branches: [ main, dev ]
6+
pull_request:
7+
branches: [ main, dev ]
8+
9+
jobs:
10+
test:
11+
name: Ruby ${{ matrix.ruby }}
12+
strategy:
13+
fail-fast: false
14+
matrix:
15+
ruby:
16+
- "2.5"
17+
- "2.6"
18+
- "2.7"
19+
- "3.0"
20+
- "3.1"
21+
- "3.2"
22+
- "3.3"
23+
- "3.4"
24+
include:
25+
- ruby: "2.5"
26+
gemfile: "ruby_2_5"
27+
- ruby: "2.6"
28+
gemfile: "ruby_2_6"
29+
- ruby: "2.7"
30+
gemfile: "ruby_2_7"
31+
- ruby: "3.0"
32+
gemfile: "ruby_3_0"
33+
- ruby: "3.1"
34+
gemfile: "ruby_3_1"
35+
- ruby: "3.2"
36+
gemfile: "ruby_3_2"
37+
- ruby: "3.3"
38+
gemfile: "ruby_3_3"
39+
- ruby: "3.4"
40+
gemfile: "ruby_3_4"
41+
42+
runs-on: ubuntu-latest
43+
44+
env: # $BUNDLE_GEMFILE must be set at the job level, so it is set for all steps
45+
BUNDLE_GEMFILE: ${{ github.workspace }}/${{ matrix.gemfile }}.gemfile
46+
47+
steps:
48+
- uses: actions/checkout@v4
49+
50+
- name: Install SQLite dependencies for Ruby < 3.0
51+
if: matrix.ruby == '2.7' || matrix.ruby == '2.6' || matrix.ruby == '2.5'
52+
run: |
53+
sudo apt-get update
54+
sudo apt-get install -y libsqlite3-dev
55+
56+
- name: Set up Ruby
57+
uses: ruby/setup-ruby@v1
58+
with:
59+
ruby-version: ${{ matrix.ruby }}
60+
bundler-cache: true # runs 'bundle install' and caches installed gems automatically
61+
62+
- name: Bundle
63+
run: bundle exec rake install
64+
65+
# - name: Debug environment
66+
# if: matrix.ruby == '2.7'
67+
# run: |
68+
# ruby -v
69+
# echo "SQLite3 version:"
70+
# sqlite3 --version
71+
# echo "Installed gems:"
72+
# BUNDLE_GEMFILE=/home/runner/work/sanitized/sanitized/ruby_2_7.gemfile bundle list
73+
# echo "Bundle environment:"
74+
# BUNDLE_GEMFILE=/home/runner/work/sanitized/sanitized/ruby_2_7.gemfile bundle env
75+
# echo "Generated gemfiles:"
76+
# ls -la gemfiles/
77+
# echo "Active Record 5.0 gemfile contents:"
78+
# cat gemfiles/active_record_5_0_7_2.gemfile
79+
# echo "Running with Appraisal:"
80+
# bundle exec appraisal bundle list
81+
82+
- name: Run tests
83+
run: |
84+
set -e
85+
bundle exec appraisal rspec
86+
shell: bash
87+

Diff for: .github/workflows/ruby_2_5.yml

-32
This file was deleted.

Diff for: .github/workflows/ruby_2_6.yml

-32
This file was deleted.

Diff for: .github/workflows/ruby_2_7.yml

-32
This file was deleted.

Diff for: .github/workflows/ruby_3_0.yml

-32
This file was deleted.

Diff for: .github/workflows/ruby_3_1.yml

-32
This file was deleted.

Diff for: .github/workflows/ruby_3_2.yml

-32
This file was deleted.

Diff for: .github/workflows/ruby_3_3.yml

-32
This file was deleted.

Diff for: .github/workflows/ruby_3_4.yml

-32
This file was deleted.

Diff for: .tool-versions

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
ruby 3.4.1
1+
ruby 2.7.8

Diff for: Appraisals

+4-4
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ end
8282
if RubyVersion >= 2.5 and RubyVersion < 3.0
8383
appraise 'active-record-5-2-8-1' do
8484
gem 'minitest', '5.15.0'
85-
gem 'sqlite3', '~> 1.3.3'
85+
gem 'sqlite3', '~> 1.3.6'
8686
gem 'activerecord', '5.2.8.1'
8787
gem 'database_cleaner-active_record'
8888
end
@@ -93,7 +93,7 @@ end
9393
if RubyVersion >= 2.5 and RubyVersion < 3.0
9494
appraise 'active-record-5-1-7' do
9595
gem 'minitest', '5.15.0'
96-
gem 'sqlite3', '~> 1.3.3'
96+
gem 'sqlite3', '~> 1.3.6'
9797
gem 'activerecord', '5.1.7'
9898
gem 'database_cleaner-active_record'
9999
end
@@ -104,8 +104,8 @@ end
104104
if RubyVersion >= 2.5 and RubyVersion < 3.0
105105
appraise 'active-record-5-0-7-2' do
106106
gem 'minitest', '5.15.0'
107-
gem 'sqlite3', '~> 1.3.3'
107+
gem 'sqlite3', '1.3.13'
108108
gem 'activerecord', '5.0.7.2'
109-
gem 'database_cleaner-active_record'
109+
gem 'database_cleaner', '~> 1.8.0'
110110
end
111111
end

0 commit comments

Comments
 (0)