@@ -67,11 +67,11 @@ jobs:
6767
6868 steps :
6969 - name : Checkout
70- if : ${{ !(env.ACT && startsWith(matrix.ruby, 'jruby')) }}
70+ if : ${{ !(env.ACT && ( startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby ')) }}
7171 uses : actions/checkout@v5
7272
7373 - name : Setup Ruby & RubyGems
74- if : ${{ !(env.ACT && startsWith(matrix.ruby, 'jruby')) }}
74+ if : ${{ !(env.ACT && ( startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby ')) }}
7575 uses : ruby/setup-ruby@v1
7676 with :
7777 ruby-version : ${{ matrix.ruby }}
@@ -82,24 +82,38 @@ jobs:
8282 # Raw `bundle` will use the BUNDLE_GEMFILE set to matrix.gemfile (i.e. Appraisal.root)
8383 # We need to do this first to get appraisal installed.
8484 # NOTE: This does not use the primary Gemfile at all.
85- - name : " Install Root Appraisal"
86- if : ${{ !(env.ACT && startsWith(matrix.ruby, 'jruby')) }}
85+ - name : Install Root Appraisal
86+ if : ${{ !(env.ACT && ( startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby ')) }}
8787 run : bundle
8888
89- - name : " [Attempt 1] Appraisal for ${{ matrix.ruby }}@${{ matrix.appraisal }}"
90- if : ${{ !(env.ACT && startsWith(matrix.ruby, 'jruby')) }}
89+ - name : " [Attempt 1] Install Root Appraisal"
9190 id : bundleAttempt1
91+ if : ${{ !(env.ACT && (startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby')) }}
92+ run : bundle
93+ # Continue to the next step on failure
94+ continue-on-error : true
95+
96+ # Effectively an automatic retry of the previous step.
97+ - name : " [Attempt 2] Install Root Appraisal"
98+ id : bundleAttempt2
99+ # If bundleAttempt1 failed, try again here; Otherwise skip.
100+ if : ${{ steps.bundleAttempt1.outcome == 'failure' && !(env.ACT && (startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby')) }}
101+ run : bundle
102+
103+ - name : " [Attempt 1] Appraisal for ${{ matrix.ruby }}@${{ matrix.appraisal }}"
104+ id : bundleAppraisalAttempt1
105+ if : ${{ !(env.ACT && (startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby')) }}
92106 run : bundle exec appraisal ${{ matrix.appraisal }} bundle
93107 # Continue to the next step on failure
94108 continue-on-error : true
95109
96110 # Effectively an automatic retry of the previous step.
97111 - name : " [Attempt 2] Appraisal for ${{ matrix.ruby }}@${{ matrix.appraisal }}"
98- # If bundleAttempt1 failed, try again here; Otherwise skip.
99- if : ${{ steps.bundleAttempt1.outcome == 'failure' && !(env.ACT && startsWith(matrix.ruby, 'jruby')) }}
100- id : bundleAttempt2
112+ id : bundleAppraisalAttempt2
113+ # If bundleAppraisalAttempt1 failed, try again here; Otherwise skip.
114+ if : ${{ steps.bundleAppraisalAttempt1.outcome == 'failure' && !(env.ACT && (startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby')) }}
101115 run : bundle exec appraisal ${{ matrix.appraisal }} bundle
102116
103- - name : Tests for ${{ matrix.ruby }}@${{ matrix.appraisal }} via ${{ matrix.exec_cmd }}
104- if : ${{ !(env.ACT && startsWith(matrix.ruby, 'jruby')) }}
117+ - name : Tests for ${{ matrix.ruby }} via ${{ matrix.exec_cmd }}
118+ if : ${{ !(env.ACT && ( startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby ')) }}
105119 run : bundle exec appraisal ${{ matrix.appraisal }} bundle exec ${{ matrix.exec_cmd }}
0 commit comments