Skip to content

Commit 3fbfa17

Browse files
committed
➕ gem "appraisal", github: "pboling/appraisal", branch: "galtzo"
- thoughtbot/appraisal#250 - thoughtbot/appraisal#248
1 parent 87f8b2d commit 3fbfa17

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

62 files changed

+1672
-155
lines changed

.github/workflows/ancient.yml

Lines changed: 24 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,4 @@
1-
name: Unsupported Compat (EOL, Ruby 2.7) Matrix
2-
3-
env:
4-
K_SOUP_COV_DO: false
1+
name: MRI 2.3, 2.4, 2.5 (EOL)
52

63
on:
74
push:
@@ -15,9 +12,6 @@ on:
1512
# Allow manually triggering the workflow.
1613
workflow_dispatch:
1714

18-
permissions:
19-
contents: read
20-
2115
# Cancels all previous workflow runs for the same branch that have not yet completed.
2216
concurrency:
2317
# The concurrency group contains the workflow name and the branch name.
@@ -26,7 +20,7 @@ concurrency:
2620

2721
jobs:
2822
test:
29-
name: Specs - Ruby ${{ matrix.ruby }} ${{ matrix.appraisal }}${{ matrix.name_extra || '' }}
23+
name: Specs ${{ matrix.ruby }} ${{ matrix.appraisal }}${{ matrix.name_extra || '' }}
3024
if: "!contains(github.event.commits[0].message, '[ci skip]') && !contains(github.event.commits[0].message, '[skip ci]')"
3125
runs-on: ubuntu-22.04
3226
continue-on-error: ${{ matrix.experimental || endsWith(matrix.ruby, 'head') }}
@@ -36,13 +30,29 @@ jobs:
3630
fail-fast: false
3731
matrix:
3832
include:
33+
# Ruby 2.3
34+
- ruby: "2.3"
35+
appraisal: "ruby-2-3"
36+
exec_cmd: "rake spec"
37+
gemfile: "Appraisal.root"
38+
rubygems: "3.3.27"
39+
bundler: "2.3.27"
40+
41+
# Ruby 2.4
42+
- ruby: "2.4"
43+
appraisal: "ruby-2-4"
44+
exec_cmd: "rake spec"
45+
gemfile: "Appraisal.root"
46+
rubygems: "3.3.27"
47+
bundler: "2.3.27"
48+
3949
# Ruby 2.5
4050
- ruby: "2.5"
4151
appraisal: "ruby-2-5"
42-
exec_cmd: "rake test"
52+
exec_cmd: "rake spec"
4353
gemfile: "Appraisal.root"
44-
rubygems: '3.3.27'
45-
bundler: '2.3.27'
54+
rubygems: "3.3.27"
55+
bundler: "2.3.27"
4656

4757
steps:
4858
- name: Checkout
@@ -59,9 +69,9 @@ jobs:
5969
# Raw `bundle` will use the BUNDLE_GEMFILE set to matrix.gemfile (i.e. Appraisal.root)
6070
# We need to do this first to get appraisal installed.
6171
# NOTE: This does not use the main Gemfile at all.
62-
- name: Bundle install for Appraisal ${{ matrix.appraisal }}
72+
- name: Install Root Appraisal
6373
run: bundle
64-
- name: Install Appraisal ${{ matrix.appraisal }} dependencies
74+
- name: Appraisal for ${{ matrix.appraisal }}
6575
run: bundle exec appraisal ${{ matrix.appraisal }} bundle
66-
- name: Run ${{ matrix.appraisal }} tests via ${{ matrix.exec_cmd }}
76+
- name: Tests for ${{ matrix.ruby }} via ${{ matrix.exec_cmd }}
6777
run: bundle exec appraisal ${{ matrix.appraisal }} bundle exec ${{ matrix.exec_cmd }}

.github/workflows/coverage.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
name: Test Coverage
22

33
env:
4-
K_SOUP_COV_MIN_BRANCH: 80
5-
K_SOUP_COV_MIN_LINE: 91
4+
K_SOUP_COV_MIN_BRANCH: 100
5+
K_SOUP_COV_MIN_LINE: 100
66
K_SOUP_COV_MIN_HARD: true
77
K_SOUP_COV_DO: true
88
K_SOUP_COV_COMMAND_NAME: "RSpec Coverage"
@@ -30,7 +30,7 @@ concurrency:
3030

3131
jobs:
3232
test:
33-
name: Specs with Coverage - Ruby ${{ matrix.ruby }} ${{ matrix.name_extra || '' }}
33+
name: Specs with Coverage ${{ matrix.ruby }} ${{ matrix.name_extra || '' }}
3434
if: "!contains(github.event.commits[0].message, '[ci skip]') && !contains(github.event.commits[0].message, '[skip ci]')"
3535
runs-on: ubuntu-latest
3636
continue-on-error: ${{ matrix.experimental || endsWith(matrix.ruby, 'head') }}
@@ -43,7 +43,7 @@ jobs:
4343
# Coverage
4444
- ruby: "3.4"
4545
appraisal: "coverage"
46-
exec_cmd: "rake test"
46+
exec_cmd: "rake spec"
4747
gemfile: "Appraisal.root"
4848
rubygems: latest
4949
bundler: latest

.github/workflows/current.yml

Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
1+
# Targets the evergreen latest release of ruby, truffleruby, and jruby
2+
name: Current
3+
4+
env:
5+
K_SOUP_COV_DO: false
6+
7+
on:
8+
push:
9+
branches:
10+
- 'main'
11+
tags:
12+
- '!*' # Do not execute on tags
13+
pull_request:
14+
branches:
15+
- '*'
16+
# Allow manually triggering the workflow.
17+
workflow_dispatch:
18+
19+
permissions:
20+
contents: read
21+
22+
# Cancels all previous workflow runs for the same branch that have not yet completed.
23+
concurrency:
24+
# The concurrency group contains the workflow name and the branch name.
25+
group: "${{ github.workflow }}-${{ github.ref }}"
26+
cancel-in-progress: true
27+
28+
jobs:
29+
test:
30+
name: Specs ${{ matrix.ruby }}@${{ matrix.name_extra || '' }}
31+
if: "!contains(github.event.commits[0].message, '[ci skip]') && !contains(github.event.commits[0].message, '[skip ci]')"
32+
runs-on: ubuntu-latest
33+
continue-on-error: ${{ matrix.experimental || endsWith(matrix.ruby, 'head') }}
34+
env: # $BUNDLE_GEMFILE must be set at job level, so it is set for all steps
35+
BUNDLE_GEMFILE: ${{ github.workspace }}/${{ matrix.gemfile }}.gemfile
36+
strategy:
37+
matrix:
38+
include:
39+
# Ruby 3.4
40+
- ruby: "ruby"
41+
appraisal: "ruby-current"
42+
exec_cmd: "rake spec"
43+
gemfile: "Appraisal.root"
44+
rubygems: latest
45+
bundler: latest
46+
name_extra: "ruby-3.4" # NOTE: This will become out of date!
47+
48+
# truffleruby-24.1 (targets Ruby 3.3.5 compatibility)
49+
- ruby: "truffleruby"
50+
appraisal: "ruby-current"
51+
exec_cmd: "rake spec"
52+
gemfile: "Appraisal.root"
53+
rubygems: default
54+
bundler: default
55+
name_extra: "truffleruby-24.1" # NOTE: This will become out of date!
56+
57+
# jruby-9.4 (targets Ruby 3.1 compatibility)
58+
- ruby: "jruby"
59+
appraisal: "ruby-current"
60+
exec_cmd: "rake spec"
61+
gemfile: "Appraisal.root"
62+
rubygems: default
63+
bundler: default
64+
name_extra: "jruby-9.4" # NOTE: This will become out of date!
65+
66+
steps:
67+
- name: Checkout
68+
uses: actions/checkout@v4
69+
70+
- name: Setup Ruby & RubyGems
71+
uses: ruby/setup-ruby@v1
72+
with:
73+
ruby-version: ${{ matrix.ruby }}
74+
rubygems: ${{ matrix.rubygems }}
75+
bundler: ${{ matrix.bundler }}
76+
bundler-cache: false
77+
78+
# Raw `bundle` will use the BUNDLE_GEMFILE set to matrix.gemfile (i.e. Appraisal.root)
79+
# We need to do this first to get appraisal installed.
80+
# NOTE: This does not use the main Gemfile at all.
81+
- name: Install Root Appraisal
82+
run: bundle
83+
- name: Appraisal for ${{ matrix.appraisal }}
84+
run: bundle exec appraisal ${{ matrix.appraisal }} bundle
85+
- name: Tests for ${{ matrix.ruby }}@${{ matrix.name_extra }} via ${{ matrix.exec_cmd }}
86+
run: bundle exec appraisal ${{ matrix.appraisal }} bundle exec ${{ matrix.exec_cmd }}

.github/workflows/heads.yml

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
name: Heads Compat Matrix
1+
name: Heads
22

33
env:
44
K_SOUP_COV_DO: false
@@ -26,7 +26,7 @@ concurrency:
2626

2727
jobs:
2828
test:
29-
name: Specs - Ruby ${{ matrix.ruby }} ${{ matrix.appraisal }}${{ matrix.name_extra || '' }}
29+
name: Specs ${{ matrix.ruby }} ${{ matrix.appraisal }}${{ matrix.name_extra || '' }}
3030
if: "!contains(github.event.commits[0].message, '[ci skip]') && !contains(github.event.commits[0].message, '[skip ci]')"
3131
runs-on: ubuntu-latest
3232
continue-on-error: ${{ matrix.experimental || endsWith(matrix.ruby, 'head') }}
@@ -36,30 +36,30 @@ jobs:
3636
fail-fast: true
3737
matrix:
3838
include:
39+
# NOTE: Heads use default rubygems / bundler; their defaults are custom, unreleased, and from the future!
3940
# ruby-head
4041
- ruby: "ruby-head"
4142
appraisal: "ruby-head"
42-
exec_cmd: "rake test"
43+
exec_cmd: "rake spec"
4344
gemfile: "Appraisal.root"
44-
rubygems: latest
45-
bundler: latest
45+
rubygems: default
46+
bundler: default
4647

4748
# truffleruby-head
4849
- ruby: "truffleruby-head"
4950
appraisal: "truffleruby-head"
50-
exec_cmd: "rake test"
51+
exec_cmd: "rake spec"
5152
gemfile: "Appraisal.root"
52-
rubygems: latest
53-
bundler: latest
53+
rubygems: default
54+
bundler: default
5455

5556
# jruby-head
56-
# Error output has a significantly different format in JRuby :(
57-
# - ruby: "jruby-head"
58-
# appraisal: "jruby-head"
59-
# exec_cmd: "rake test"
60-
# gemfile: "Appraisal.root"
61-
# rubygems: latest
62-
# bundler: latest
57+
- ruby: "jruby-head"
58+
appraisal: "jruby-head"
59+
exec_cmd: "rake spec"
60+
gemfile: "Appraisal.root"
61+
rubygems: default
62+
bundler: default
6363

6464
steps:
6565
- name: Checkout
@@ -76,9 +76,9 @@ jobs:
7676
# Raw `bundle` will use the BUNDLE_GEMFILE set to matrix.gemfile (i.e. Appraisal.root)
7777
# We need to do this first to get appraisal installed.
7878
# NOTE: This does not use the main Gemfile at all.
79-
- name: Bundle install for Appraisal ${{ matrix.appraisal }}
79+
- name: Install Root Appraisal
8080
run: bundle
81-
- name: Install Appraisal ${{ matrix.appraisal }} dependencies
81+
- name: Appraisal for ${{ matrix.appraisal }}
8282
run: bundle exec appraisal ${{ matrix.appraisal }} bundle
83-
- name: Run ${{ matrix.appraisal }} tests via ${{ matrix.exec_cmd }}
83+
- name: Tests for ${{ matrix.ruby }} via ${{ matrix.exec_cmd }}
8484
run: bundle exec appraisal ${{ matrix.appraisal }} bundle exec ${{ matrix.exec_cmd }}

.github/workflows/hoary.yml

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
# NOTE: Hoary is a synonym of ancient
2+
name: MRI 2.2 (EOL)
3+
4+
on:
5+
push:
6+
branches:
7+
- 'main'
8+
tags:
9+
- '!*' # Do not execute on tags
10+
pull_request:
11+
branches:
12+
- '*'
13+
# Allow manually triggering the workflow.
14+
workflow_dispatch:
15+
16+
# Cancels all previous workflow runs for the same branch that have not yet completed.
17+
concurrency:
18+
# The concurrency group contains the workflow name and the branch name.
19+
group: "${{ github.workflow }}-${{ github.ref }}"
20+
cancel-in-progress: true
21+
22+
jobs:
23+
test:
24+
name: Specs ${{ matrix.ruby }} ${{ matrix.appraisal }}${{ matrix.name_extra || '' }}
25+
if: "!contains(github.event.commits[0].message, '[ci skip]') && !contains(github.event.commits[0].message, '[skip ci]')"
26+
runs-on: ubuntu-20.04
27+
continue-on-error: ${{ matrix.experimental || endsWith(matrix.ruby, 'head') }}
28+
env: # $BUNDLE_GEMFILE must be set at job level, so it is set for all steps
29+
BUNDLE_GEMFILE: ${{ github.workspace }}/${{ matrix.gemfile }}.gemfile
30+
strategy:
31+
fail-fast: false
32+
matrix:
33+
include:
34+
# Ruby 2.2
35+
- ruby: "2.2"
36+
appraisal: "ruby-2-2"
37+
exec_cmd: "rake spec"
38+
gemfile: "Appraisal.root"
39+
rubygems: default
40+
bundler: default
41+
42+
steps:
43+
- name: Checkout
44+
uses: actions/checkout@v4
45+
46+
- name: Setup Ruby & RubyGems
47+
uses: ruby/setup-ruby@v1
48+
with:
49+
ruby-version: ${{ matrix.ruby }}
50+
rubygems: ${{ matrix.rubygems }}
51+
bundler: ${{ matrix.bundler }}
52+
bundler-cache: false
53+
54+
# Raw `bundle` will use the BUNDLE_GEMFILE set to matrix.gemfile (i.e. Appraisal.root)
55+
# We need to do this first to get appraisal installed.
56+
# NOTE: This does not use the main Gemfile at all.
57+
- name: Install Root Appraisal
58+
run: bundle
59+
- name: Appraisal for ${{ matrix.appraisal }}
60+
run: bundle exec appraisal ${{ matrix.appraisal }} bundle
61+
- name: Tests for ${{ matrix.ruby }} via ${{ matrix.exec_cmd }}
62+
run: bundle exec appraisal ${{ matrix.appraisal }} bundle exec ${{ matrix.exec_cmd }}

0 commit comments

Comments
 (0)