11# frozen_string_literal: true
22
3- # HOW TO UPDATE APPRAISALS:
4- # BUNDLE_GEMFILE=Appraisal.root.gemfile bundle
5- # BUNDLE_GEMFILE=Appraisal.root.gemfile bundle exec appraisal update
6- # bundle exec rake rubocop_gradual:autocorrect
3+ # HOW TO UPDATE APPRAISALS (will run rubocop_gradual's autocorrect afterward):
4+ # bin/rake appraisals:update
75
86# Lock/Unlock Deps Pattern
97#
@@ -34,66 +32,185 @@ appraise "head" do
3432 gem "mutex_m" , ">= 0.2"
3533 gem "stringio" , ">= 3.0"
3634 gem "benchmark" , "~> 0.4" , ">= 0.4.1"
35+ eval_gemfile "modular/runtime_heads.gemfile"
36+ end
37+
38+ # Test current Rubies against head versions of runtime dependencies
39+ appraise "current-runtime-heads" do
40+ gem "mutex_m" , ">= 0.2"
41+ gem "stringio" , ">= 3.0"
42+ eval_gemfile "modular/runtime_heads.gemfile"
3743end
3844
3945# Used for current releases of ruby, truffleruby, and jruby.
4046# Split into discrete appraisals if one of them needs a dependency locked discretely.
4147appraise "current" do
42- gem "mutex_m" , ">= 0.2"
43- gem "stringio" , ">= 3.0"
48+ eval_gemfile "modular/latest.gemfile"
49+ end
50+
51+ appraise "ruby-2-3-hashie_v0" do
52+ eval_gemfile "modular/faraday_v0.gemfile"
53+ eval_gemfile "modular/hashie_v0.gemfile"
54+ eval_gemfile "modular/jwt_v1.gemfile"
55+ eval_gemfile "modular/logger_v1_2.gemfile"
56+ eval_gemfile "modular/multi_xml_v0_5.gemfile"
57+ eval_gemfile "modular/rack_v1_2.gemfile"
58+ end
59+
60+ appraise "ruby-2-3-hashie_v1" do
61+ eval_gemfile "modular/faraday_v0.gemfile"
62+ eval_gemfile "modular/hashie_v1.gemfile"
63+ eval_gemfile "modular/jwt_v1.gemfile"
64+ eval_gemfile "modular/logger_v1_2.gemfile"
65+ eval_gemfile "modular/multi_xml_v0_5.gemfile"
66+ eval_gemfile "modular/rack_v1_2.gemfile"
67+ end
68+
69+ appraise "ruby-2-3-hashie_v2" do
70+ eval_gemfile "modular/faraday_v0.gemfile"
71+ eval_gemfile "modular/hashie_v2.gemfile"
72+ eval_gemfile "modular/jwt_v1.gemfile"
73+ eval_gemfile "modular/logger_v1_2.gemfile"
74+ eval_gemfile "modular/multi_xml_v0_5.gemfile"
75+ eval_gemfile "modular/rack_v1_2.gemfile"
4476end
4577
46- appraise "ruby-2-3" do
78+ appraise "ruby-2-3-hashie_v3" do
79+ eval_gemfile "modular/faraday_v0.gemfile"
80+ eval_gemfile "modular/hashie_v3.gemfile"
81+ eval_gemfile "modular/jwt_v1.gemfile"
82+ eval_gemfile "modular/logger_v1_2.gemfile"
83+ eval_gemfile "modular/multi_xml_v0_5.gemfile"
84+ eval_gemfile "modular/rack_v1_2.gemfile"
85+ end
86+
87+ appraise "ruby-2-3-hashie_v4" do
88+ eval_gemfile "modular/faraday_v0.gemfile"
89+ eval_gemfile "modular/hashie_v4.gemfile"
90+ eval_gemfile "modular/jwt_v1.gemfile"
91+ eval_gemfile "modular/logger_v1_2.gemfile"
92+ eval_gemfile "modular/multi_xml_v0_5.gemfile"
93+ eval_gemfile "modular/rack_v1_2.gemfile"
94+ end
95+
96+ appraise "ruby-2-3-hashie_v5" do
97+ eval_gemfile "modular/faraday_v0.gemfile"
98+ eval_gemfile "modular/hashie_v5.gemfile"
99+ eval_gemfile "modular/jwt_v1.gemfile"
100+ eval_gemfile "modular/logger_v1_2.gemfile"
101+ eval_gemfile "modular/multi_xml_v0_5.gemfile"
102+ eval_gemfile "modular/rack_v1_2.gemfile"
47103end
48104
49105appraise "ruby-2-4" do
106+ eval_gemfile "modular/faraday_v1.gemfile"
107+ eval_gemfile "modular/hashie_v1.gemfile"
108+ eval_gemfile "modular/jwt_v1.gemfile"
109+ eval_gemfile "modular/logger_v1_2.gemfile"
110+ eval_gemfile "modular/multi_xml_v0_5.gemfile"
111+ eval_gemfile "modular/rack_v1_6.gemfile"
50112end
51113
52114appraise "ruby-2-5" do
115+ eval_gemfile "modular/faraday_v1.gemfile"
116+ eval_gemfile "modular/hashie_v2.gemfile"
117+ eval_gemfile "modular/jwt_v2.gemfile"
118+ eval_gemfile "modular/logger_v1_5.gemfile"
119+ eval_gemfile "modular/multi_xml_v0_6.gemfile"
120+ eval_gemfile "modular/rack_v2.gemfile"
53121end
54122
55123appraise "ruby-2-6" do
56124 gem "mutex_m" , "~> 0.2"
57125 gem "stringio" , "~> 3.0"
126+ eval_gemfile "modular/faraday_v2.gemfile"
127+ eval_gemfile "modular/hashie_v3.gemfile"
128+ eval_gemfile "modular/jwt_v2.gemfile"
129+ eval_gemfile "modular/logger_v1_5.gemfile"
130+ eval_gemfile "modular/multi_xml_v0_6.gemfile"
131+ eval_gemfile "modular/rack_v3.gemfile"
58132end
59133
60134appraise "ruby-2-7" do
61135 gem "mutex_m" , "~> 0.2"
62136 gem "stringio" , "~> 3.0"
137+ eval_gemfile "modular/faraday_v2.gemfile"
138+ eval_gemfile "modular/hashie_v4.gemfile"
139+ eval_gemfile "modular/jwt_v2.gemfile"
140+ eval_gemfile "modular/logger_v1_7.gemfile"
141+ eval_gemfile "modular/multi_xml_v0_6.gemfile"
142+ eval_gemfile "modular/rack_v3.gemfile"
63143end
64144
65145appraise "ruby-3-0" do
66146 gem "mutex_m" , "~> 0.2"
67147 gem "stringio" , "~> 3.0"
148+ eval_gemfile "modular/faraday_v2.gemfile"
149+ eval_gemfile "modular/hashie_v5.gemfile"
150+ eval_gemfile "modular/jwt_v2.gemfile"
151+ eval_gemfile "modular/logger_v1_7.gemfile"
152+ eval_gemfile "modular/multi_xml_v0_6.gemfile"
153+ eval_gemfile "modular/rack_v3.gemfile"
68154end
69155
70156appraise "ruby-3-1" do
71157 gem "mutex_m" , "~> 0.2"
72158 gem "stringio" , "~> 3.0"
159+ eval_gemfile "modular/faraday_v2.gemfile"
160+ eval_gemfile "modular/hashie_v5.gemfile"
161+ eval_gemfile "modular/jwt_v2.gemfile"
162+ eval_gemfile "modular/logger_v1_7.gemfile"
163+ eval_gemfile "modular/multi_xml_v0_6.gemfile"
164+ eval_gemfile "modular/rack_v3.gemfile"
73165end
74166
75167appraise "ruby-3-2" do
76168 gem "mutex_m" , "~> 0.2"
77169 gem "stringio" , "~> 3.0"
170+ eval_gemfile "modular/faraday_v2.gemfile"
171+ eval_gemfile "modular/hashie_v5.gemfile"
172+ eval_gemfile "modular/jwt_v2.gemfile"
173+ eval_gemfile "modular/logger_v1_7.gemfile"
174+ eval_gemfile "modular/multi_xml_v0_7.gemfile"
175+ eval_gemfile "modular/rack_v3.gemfile"
78176end
79177
80178appraise "ruby-3-3" do
81179 gem "mutex_m" , "~> 0.2"
82180 gem "stringio" , "~> 3.0"
181+ eval_gemfile "modular/faraday_v2.gemfile"
182+ eval_gemfile "modular/hashie_v5.gemfile"
183+ eval_gemfile "modular/jwt_v2.gemfile"
184+ eval_gemfile "modular/logger_v1_7.gemfile"
185+ eval_gemfile "modular/multi_xml_v0_7.gemfile"
186+ eval_gemfile "modular/rack_v3.gemfile"
83187end
84188
85189# Only run security audit on the latest version of Ruby
86190appraise "audit" do
87191 gem "mutex_m" , "~> 0.2"
88192 gem "stringio" , "~> 3.0"
193+ eval_gemfile "modular/audit.gemfile"
194+ eval_gemfile "modular/faraday_v2.gemfile"
195+ eval_gemfile "modular/hashie_v5.gemfile"
196+ eval_gemfile "modular/jwt_v2.gemfile"
197+ eval_gemfile "modular/logger_v1_7.gemfile"
198+ eval_gemfile "modular/multi_xml_v0_7.gemfile"
199+ eval_gemfile "modular/rack_v3.gemfile"
89200end
90201
91202# Only run coverage on the latest version of Ruby
92203appraise "coverage" do
93204 gem "mutex_m" , "~> 0.2"
94205 gem "stringio" , "~> 3.0"
95206 eval_gemfile "modular/coverage.gemfile"
207+ eval_gemfile "modular/faraday_v2.gemfile"
208+ eval_gemfile "modular/hashie_v5.gemfile"
209+ eval_gemfile "modular/jwt_v2.gemfile"
210+ eval_gemfile "modular/logger_v1_7.gemfile"
211+ eval_gemfile "modular/multi_xml_v0_7.gemfile"
96212 eval_gemfile "modular/optional.gemfile"
213+ eval_gemfile "modular/rack_v3.gemfile"
97214end
98215
99216# Only run linter on the latest version of Ruby (but, in support of oldest supported Ruby version)
@@ -102,3 +219,22 @@ appraise "style" do
102219 gem "stringio" , "~> 3.0"
103220 eval_gemfile "modular/style.gemfile"
104221end
222+
223+ ### Above: Used by GitHub CI Workflows ###
224+ ### Below: Used by GitLab CI Pipelines ###
225+
226+ appraise "omnibus" do
227+ eval_gemfile "modular/audit.gemfile"
228+ eval_gemfile "modular/coverage.gemfile"
229+ eval_gemfile "modular/documentation.gemfile"
230+ eval_gemfile "modular/faraday_v2.gemfile"
231+ eval_gemfile "modular/hashie_v5.gemfile"
232+ eval_gemfile "modular/jwt_v2.gemfile"
233+ eval_gemfile "modular/logger_v1_7.gemfile"
234+ eval_gemfile "modular/multi_xml_v0_7.gemfile"
235+ eval_gemfile "modular/rack_v3.gemfile"
236+ eval_gemfile "modular/style.gemfile"
237+ end
238+
239+ appraise "vanilla" do
240+ end
0 commit comments