1- name : Ancient Compat (EOL, Ruby 2.5) Matrix
1+ name : MRI 2.4, 2.5 (EOL)
22
33on :
44 push :
@@ -20,62 +20,112 @@ concurrency:
2020
2121jobs :
2222 test :
23- name : Specs - Ruby ${{ matrix.ruby }} ${{ matrix.appraisal }}${{ matrix.name_extra || '' }}
23+ name : Specs ${{ matrix.ruby }} ${{ matrix.appraisal }}${{ matrix.name_extra || '' }}
2424 if : " !contains(github.event.commits[0].message, '[ci skip]') && !contains(github.event.commits[0].message, '[skip ci]')"
25+ runs-on : ubuntu-22.04
26+ continue-on-error : ${{ matrix.experimental || endsWith(matrix.ruby, 'head') }}
2527 env : # $BUNDLE_GEMFILE must be set at job level, so it is set for all steps
2628 BUNDLE_GEMFILE : ${{ github.workspace }}/${{ matrix.gemfile }}.gemfile
27- continue-on-error : ${{ matrix.experimental || endsWith(matrix.ruby, 'head') }}
28- runs-on : ubuntu-22.04
2929 strategy :
3030 fail-fast : false
3131 matrix :
3232 include :
33+ # Ruby 2.4
34+ - ruby : " 2.4"
35+ appraisal : " ar-5-1"
36+ exec_cmd : " rake spec:orm:active_record"
37+ gemfile : " Appraisal.root"
38+ rubygems : " 3.3.27"
39+ bundler : " 2.3.27"
40+ - ruby : " 2.4"
41+ appraisal : " ar-5-2"
42+ exec_cmd : " rake spec:orm:active_record"
43+ gemfile : " Appraisal.root"
44+ rubygems : " 3.3.27"
45+ bundler : " 2.3.27"
46+ - ruby : " 2.4"
47+ appraisal : " ar-6-0"
48+ exec_cmd : " rake spec:orm:active_record"
49+ gemfile : " Appraisal.root"
50+ rubygems : " 3.3.27"
51+ bundler : " 2.3.27"
52+ - ruby : " 2.4"
53+ appraisal : " ar-6-1"
54+ exec_cmd : " rake spec:orm:active_record"
55+ gemfile : " Appraisal.root"
56+ rubygems : " 3.3.27"
57+ bundler : " 2.3.27"
58+ - ruby : " 2.4"
59+ appraisal : " couch-1.17"
60+ exec_cmd : " rake spec:orm:couch_potato"
61+ gemfile : " Appraisal.root"
62+ rubygems : " 3.3.27"
63+ bundler : " 2.3.27"
64+ - ruby : " 2.4"
65+ appraisal : " mongoid-7.3"
66+ exec_cmd : " rake spec:orm:mongoid"
67+ gemfile : " Appraisal.root"
68+ rubygems : " 3.3.27"
69+ bundler : " 2.3.27"
70+ - ruby : " 2.4"
71+ appraisal : " mongoid-7.4"
72+ exec_cmd : " rake spec:orm:mongoid"
73+ gemfile : " Appraisal.root"
74+ rubygems : " 3.3.27"
75+ bundler : " 2.3.27"
76+ - ruby : " 2.4"
77+ appraisal : " sequel-5.86"
78+ exec_cmd : " rake spec:orm:sequel"
79+ gemfile : " Appraisal.root"
80+ rubygems : " 3.3.27"
81+ bundler : " 2.3.27"
82+
3383 # Ruby 2.5
3484 - ruby : " 2.5"
3585 appraisal : " ar-5-1"
36- taskname : " spec:orm:active_record"
86+ exec_cmd : " rake spec:orm:active_record"
3787 gemfile : " Appraisal.root"
3888 rubygems : " 3.3.27"
3989 bundler : " 2.3.27"
4090 - ruby : " 2.5"
4191 appraisal : " ar-5-2"
42- taskname : " spec:orm:active_record"
92+ exec_cmd : " rake spec:orm:active_record"
4393 gemfile : " Appraisal.root"
4494 rubygems : " 3.3.27"
4595 bundler : " 2.3.27"
4696 - ruby : " 2.5"
4797 appraisal : " ar-6-0"
48- taskname : " spec:orm:active_record"
98+ exec_cmd : " rake spec:orm:active_record"
4999 gemfile : " Appraisal.root"
50100 rubygems : " 3.3.27"
51101 bundler : " 2.3.27"
52102 - ruby : " 2.5"
53103 appraisal : " ar-6-1"
54- taskname : " spec:orm:active_record"
104+ exec_cmd : " rake spec:orm:active_record"
55105 gemfile : " Appraisal.root"
56106 rubygems : " 3.3.27"
57107 bundler : " 2.3.27"
58108 - ruby : " 2.5"
59109 appraisal : " couch-1.17"
60- taskname : " spec:orm:couch_potato"
110+ exec_cmd : " rake spec:orm:couch_potato"
61111 gemfile : " Appraisal.root"
62112 rubygems : " 3.3.27"
63113 bundler : " 2.3.27"
64114 - ruby : " 2.5"
65115 appraisal : " mongoid-7.3"
66- taskname : " spec:orm:mongoid"
116+ exec_cmd : " rake spec:orm:mongoid"
67117 gemfile : " Appraisal.root"
68118 rubygems : " 3.3.27"
69119 bundler : " 2.3.27"
70120 - ruby : " 2.5"
71121 appraisal : " mongoid-7.4"
72- taskname : " spec:orm:mongoid"
122+ exec_cmd : " rake spec:orm:mongoid"
73123 gemfile : " Appraisal.root"
74124 rubygems : " 3.3.27"
75125 bundler : " 2.3.27"
76126 - ruby : " 2.5"
77127 appraisal : " sequel-5.86"
78- taskname : " spec:orm:sequel"
128+ exec_cmd : " rake spec:orm:sequel"
79129 gemfile : " Appraisal.root"
80130 rubygems : " 3.3.27"
81131 bundler : " 2.3.27"
@@ -84,19 +134,19 @@ jobs:
84134 # ## COUCHDB
85135 - name : Start CouchDB
86136 uses : iamssen/couchdb-github-action@master
87- if : " endsWith(matrix.taskname , 'couch_potato')"
137+ if : " endsWith(matrix.exec_cmd , 'couch_potato')"
88138 with :
89139 couchdb-version : " 3.4.1"
90140 - name : Smoke CouchDB
91- if : " endsWith(matrix.taskname , 'couch_potato')"
141+ if : " endsWith(matrix.exec_cmd , 'couch_potato')"
92142 run : |
93143 curl -f http://127.0.0.1:5984/
94144 curl -X POST -H "Content-Type: application/json; charset=utf-8" -d '{"name": "admin", "password": "password"}' http://127.0.0.1:5984/_session
95145
96146 # ## MONGODB
97147 - name : Start MongoDB
98148 uses : supercharge/mongodb-github-action@1.12.0
99- if : " endsWith(matrix.taskname , 'mongoid')"
149+ if : " endsWith(matrix.exec_cmd , 'mongoid')"
100150 with :
101151 mongodb-version : " 8.0"
102152
@@ -110,12 +160,13 @@ jobs:
110160 rubygems : ${{ matrix.rubygems }}
111161 bundler : ${{ matrix.bundler }}
112162 bundler-cache : false
113- # This will use the BUNDLE_GEMFILE set to matrix.gemfile (i.e. Appraisal.root)
163+
164+ # Raw `bundle` will use the BUNDLE_GEMFILE set to matrix.gemfile (i.e. Appraisal.root)
114165 # We need to do this first to get appraisal installed.
115- # NOTE: This does not use the root Gemfile at all.
116- - name : Bundle for Appraisal ${{ matrix.appraisal }}
166+ # NOTE: This does not use the main Gemfile at all.
167+ - name : Install Root Appraisal
117168 run : bundle
118- - name : Install Appraisal ${{ matrix.appraisal }} dependencies
169+ - name : Appraisal for ${{ matrix.appraisal }}
119170 run : bundle exec appraisal ${{ matrix.appraisal }} bundle
120- - name : Run ${{ matrix.appraisal }} tests via ${{ matrix.taskname }}
121- run : bundle exec appraisal ${{ matrix.appraisal }} bundle exec rake ${{ matrix.taskname }}
171+ - name : Tests for ${{ matrix.ruby }} via ${{ matrix.exec_cmd }}
172+ run : bundle exec appraisal ${{ matrix.appraisal }} bundle exec ${{ matrix.exec_cmd }}
0 commit comments