kettle-dev 1.0.19 → 1.0.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data/.envrc +3 -0
- data/.github/dependabot.yml +2 -0
- data/.github/workflows/ancient.yml +5 -2
- data/.github/workflows/ancient.yml.example +81 -0
- data/.github/workflows/codeql-analysis.yml +2 -2
- data/.github/workflows/coverage.yml +2 -2
- data/.github/workflows/coverage.yml.example +2 -2
- data/.github/workflows/current.yml +5 -5
- data/.github/workflows/heads.yml +5 -5
- data/.github/workflows/jruby.yml +5 -5
- data/.github/workflows/jruby.yml.example +67 -0
- data/.github/workflows/legacy.yml +14 -6
- data/.github/workflows/style.yml +2 -2
- data/.github/workflows/supported.yml +5 -13
- data/.github/workflows/truffle.yml +28 -3
- data/.github/workflows/unlocked_deps.yml +2 -2
- data/.github/workflows/unsupported.yml +5 -5
- data/.rspec +2 -1
- data/Appraisals +5 -7
- data/Appraisals.example +3 -3
- data/CHANGELOG.md +35 -1
- data/CITATION.cff +2 -2
- data/CONTRIBUTING.md +12 -9
- data/README.md +35 -35
- data/README.md.example +22 -22
- data/Rakefile.example +1 -1
- data/gemfiles/modular/style.gemfile +12 -3
- data/gemfiles/modular/style.gemfile.example +25 -0
- data/kettle-dev.gemspec.example +1 -1
- data/lib/kettle/dev/release_cli.rb +21 -0
- data/lib/kettle/dev/tasks/template_task.rb +21 -11
- data/lib/kettle/dev/template_helpers.rb +7 -0
- data/lib/kettle/dev/version.rb +1 -1
- data/sig/kettle/dev/release_cli.rbs +1 -0
- data.tar.gz.sig +0 -0
- metadata +7 -4
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c207c08e4e9933149728224c355077d0023be3794639f3e9eae9132207fb403b
|
4
|
+
data.tar.gz: 82c963e4d47084fdce04e9951e46b77109d782c2d206cb46b39f0f8965509a6e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 422cd88655f41ceff9b98af93024ae86d107f0311238bd79630c88e576b4fc8b0e4023bd4804ec58a334e43a0c89dd21a1fc6ac4e410786298d7ed688ee28317
|
7
|
+
data.tar.gz: 36ee1bd93cc0c8422b292bbd616b277cba903feb5194cdca82167f3e4e40cce086860f76f7a5c8bb748e36e329851abbe843ebcb047cc6aed7e0ae073e80b829
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data/.envrc
CHANGED
@@ -34,6 +34,9 @@ export DEBUG=false # do not allow byebug statements (override in .env.local)
|
|
34
34
|
export FLOSS_CFG_FUND_DEBUG=false # extra logging to help diagnose issues (override in .env.local)
|
35
35
|
export FLOSS_CFG_FUND_LOGFILE=tmp/log/debug.log
|
36
36
|
|
37
|
+
# Concurrently developing the rubocop-lts suite?
|
38
|
+
export RUBOCOP_LTS_LOCAL=false
|
39
|
+
|
37
40
|
# .env would override anything in this file, if `dotenv` is uncommented below.
|
38
41
|
# .env is a DOCKER standard, and if we use it, it would be in deployed, or DOCKER, environments,
|
39
42
|
# and that is why we generally want to leave it commented out.
|
data/.github/dependabot.yml
CHANGED
@@ -1,10 +1,13 @@
|
|
1
1
|
name: MRI 2.3, 2.4, 2.5 (EOL)
|
2
2
|
|
3
|
+
permissions:
|
4
|
+
contents: read
|
5
|
+
|
3
6
|
on:
|
4
7
|
push:
|
5
8
|
branches:
|
6
9
|
- 'main'
|
7
|
-
-
|
10
|
+
- '*-stable'
|
8
11
|
tags:
|
9
12
|
- '!*' # Do not execute on tags
|
10
13
|
pull_request:
|
@@ -71,7 +74,7 @@ jobs:
|
|
71
74
|
|
72
75
|
# Raw `bundle` will use the BUNDLE_GEMFILE set to matrix.gemfile (i.e. Appraisal.root)
|
73
76
|
# We need to do this first to get appraisal installed.
|
74
|
-
# NOTE: This does not use the
|
77
|
+
# NOTE: This does not use the primary Gemfile at all.
|
75
78
|
- name: Install Root Appraisal
|
76
79
|
run: bundle
|
77
80
|
- name: Appraisal for ${{ matrix.appraisal }}
|
@@ -0,0 +1,81 @@
|
|
1
|
+
name: MRI 2.3, 2.4, 2.5 (EOL)
|
2
|
+
|
3
|
+
permissions:
|
4
|
+
contents: read
|
5
|
+
|
6
|
+
on:
|
7
|
+
push:
|
8
|
+
branches:
|
9
|
+
- 'main'
|
10
|
+
- '*-stable'
|
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
|
+
# Cancels all previous workflow runs for the same branch that have not yet completed.
|
20
|
+
concurrency:
|
21
|
+
# The concurrency group contains the workflow name and the branch name.
|
22
|
+
group: "${{ github.workflow }}-${{ github.ref }}"
|
23
|
+
cancel-in-progress: true
|
24
|
+
|
25
|
+
jobs:
|
26
|
+
test:
|
27
|
+
if: "!contains(github.event.commits[0].message, '[ci skip]') && !contains(github.event.commits[0].message, '[skip ci]')"
|
28
|
+
name: Specs ${{ matrix.ruby }} ${{ matrix.appraisal }}${{ matrix.name_extra || '' }}
|
29
|
+
runs-on: ubuntu-22.04
|
30
|
+
continue-on-error: ${{ matrix.experimental || endsWith(matrix.ruby, 'head') }}
|
31
|
+
env: # $BUNDLE_GEMFILE must be set at job level, so it is set for all steps
|
32
|
+
BUNDLE_GEMFILE: ${{ github.workspace }}/${{ matrix.gemfile }}.gemfile
|
33
|
+
strategy:
|
34
|
+
fail-fast: false
|
35
|
+
matrix:
|
36
|
+
include:
|
37
|
+
# Ruby 2.3
|
38
|
+
- ruby: "ruby-2.3"
|
39
|
+
appraisal: "ruby-2-3"
|
40
|
+
exec_cmd: "rake test"
|
41
|
+
gemfile: "Appraisal.root"
|
42
|
+
rubygems: "3.3.27"
|
43
|
+
bundler: "2.3.27"
|
44
|
+
|
45
|
+
# Ruby 2.4
|
46
|
+
- ruby: "ruby-2.4"
|
47
|
+
appraisal: "ruby-2-4"
|
48
|
+
exec_cmd: "rake test"
|
49
|
+
gemfile: "Appraisal.root"
|
50
|
+
rubygems: "3.3.27"
|
51
|
+
bundler: "2.3.27"
|
52
|
+
|
53
|
+
# Ruby 2.5
|
54
|
+
- ruby: "ruby-2.5"
|
55
|
+
appraisal: "ruby-2-5"
|
56
|
+
exec_cmd: "rake test"
|
57
|
+
gemfile: "Appraisal.root"
|
58
|
+
rubygems: "3.3.27"
|
59
|
+
bundler: "2.3.27"
|
60
|
+
|
61
|
+
steps:
|
62
|
+
- name: Checkout
|
63
|
+
uses: actions/checkout@v5
|
64
|
+
|
65
|
+
- name: Setup Ruby & RubyGems
|
66
|
+
uses: ruby/setup-ruby@v1
|
67
|
+
with:
|
68
|
+
ruby-version: ${{ matrix.ruby }}
|
69
|
+
rubygems: ${{ matrix.rubygems }}
|
70
|
+
bundler: ${{ matrix.bundler }}
|
71
|
+
bundler-cache: false
|
72
|
+
|
73
|
+
# Raw `bundle` will use the BUNDLE_GEMFILE set to matrix.gemfile (i.e. Appraisal.root)
|
74
|
+
# We need to do this first to get appraisal installed.
|
75
|
+
# NOTE: This does not use the primary Gemfile at all.
|
76
|
+
- name: Install Root Appraisal
|
77
|
+
run: bundle
|
78
|
+
- name: Appraisal for ${{ matrix.appraisal }}
|
79
|
+
run: bundle exec appraisal ${{ matrix.appraisal }} bundle
|
80
|
+
- name: Tests for ${{ matrix.ruby }} via ${{ matrix.exec_cmd }}
|
81
|
+
run: bundle exec appraisal ${{ matrix.appraisal }} bundle exec ${{ matrix.exec_cmd }}
|
@@ -13,10 +13,10 @@ name: "CodeQL"
|
|
13
13
|
|
14
14
|
on:
|
15
15
|
push:
|
16
|
-
branches: [ main,
|
16
|
+
branches: [ main, '*-stable' ]
|
17
17
|
pull_request:
|
18
18
|
# The branches below must be a subset of the branches above
|
19
|
-
branches: [ main,
|
19
|
+
branches: [ main, '*-stable' ]
|
20
20
|
schedule:
|
21
21
|
- cron: '35 1 * * 5'
|
22
22
|
|
@@ -19,7 +19,7 @@ on:
|
|
19
19
|
push:
|
20
20
|
branches:
|
21
21
|
- 'main'
|
22
|
-
-
|
22
|
+
- '*-stable'
|
23
23
|
tags:
|
24
24
|
- '!*' # Do not execute on tags
|
25
25
|
pull_request:
|
@@ -68,7 +68,7 @@ jobs:
|
|
68
68
|
|
69
69
|
# Raw `bundle` will use the BUNDLE_GEMFILE set to matrix.gemfile (i.e. Appraisal.root)
|
70
70
|
# We need to do this first to get appraisal installed.
|
71
|
-
# NOTE: This does not use the
|
71
|
+
# NOTE: This does not use the primary Gemfile at all.
|
72
72
|
- name: Install Root Appraisal
|
73
73
|
run: bundle
|
74
74
|
- name: Appraisal for ${{ matrix.appraisal }}
|
@@ -18,7 +18,7 @@ on:
|
|
18
18
|
push:
|
19
19
|
branches:
|
20
20
|
- 'main'
|
21
|
-
-
|
21
|
+
- '*-stable'
|
22
22
|
tags:
|
23
23
|
- '!*' # Do not execute on tags
|
24
24
|
pull_request:
|
@@ -67,7 +67,7 @@ jobs:
|
|
67
67
|
|
68
68
|
# Raw `bundle` will use the BUNDLE_GEMFILE set to matrix.gemfile (i.e. Appraisal.root)
|
69
69
|
# We need to do this first to get appraisal installed.
|
70
|
-
# NOTE: This does not use the
|
70
|
+
# NOTE: This does not use the primary Gemfile at all.
|
71
71
|
- name: Install Root Appraisal
|
72
72
|
run: bundle
|
73
73
|
- name: Appraisal for ${{ matrix.appraisal }}
|
@@ -1,6 +1,9 @@
|
|
1
1
|
# Targets the evergreen latest release of ruby, truffleruby, and jruby
|
2
2
|
name: Current
|
3
3
|
|
4
|
+
permissions:
|
5
|
+
contents: read
|
6
|
+
|
4
7
|
env:
|
5
8
|
K_SOUP_COV_DO: false
|
6
9
|
|
@@ -8,7 +11,7 @@ on:
|
|
8
11
|
push:
|
9
12
|
branches:
|
10
13
|
- 'main'
|
11
|
-
-
|
14
|
+
- '*-stable'
|
12
15
|
tags:
|
13
16
|
- '!*' # Do not execute on tags
|
14
17
|
pull_request:
|
@@ -17,9 +20,6 @@ on:
|
|
17
20
|
# Allow manually triggering the workflow.
|
18
21
|
workflow_dispatch:
|
19
22
|
|
20
|
-
permissions:
|
21
|
-
contents: read
|
22
|
-
|
23
23
|
# Cancels all previous workflow runs for the same branch that have not yet completed.
|
24
24
|
concurrency:
|
25
25
|
# The concurrency group contains the workflow name and the branch name.
|
@@ -77,7 +77,7 @@ jobs:
|
|
77
77
|
|
78
78
|
# Raw `bundle` will use the BUNDLE_GEMFILE set to matrix.gemfile (i.e. Appraisal.root)
|
79
79
|
# We need to do this first to get appraisal installed.
|
80
|
-
# NOTE: This does not use the
|
80
|
+
# NOTE: This does not use the primary Gemfile at all.
|
81
81
|
- name: Install Root Appraisal
|
82
82
|
run: bundle
|
83
83
|
- name: Appraisal for ${{ matrix.ruby }}@${{ matrix.appraisal }}
|
data/.github/workflows/heads.yml
CHANGED
@@ -1,5 +1,8 @@
|
|
1
1
|
name: Heads
|
2
2
|
|
3
|
+
permissions:
|
4
|
+
contents: read
|
5
|
+
|
3
6
|
env:
|
4
7
|
K_SOUP_COV_DO: false
|
5
8
|
|
@@ -7,7 +10,7 @@ on:
|
|
7
10
|
push:
|
8
11
|
branches:
|
9
12
|
- 'main'
|
10
|
-
-
|
13
|
+
- '*-stable'
|
11
14
|
tags:
|
12
15
|
- '!*' # Do not execute on tags
|
13
16
|
pull_request:
|
@@ -16,9 +19,6 @@ on:
|
|
16
19
|
# Allow manually triggering the workflow.
|
17
20
|
workflow_dispatch:
|
18
21
|
|
19
|
-
permissions:
|
20
|
-
contents: read
|
21
|
-
|
22
22
|
# Cancels all previous workflow runs for the same branch that have not yet completed.
|
23
23
|
concurrency:
|
24
24
|
# The concurrency group contains the workflow name and the branch name.
|
@@ -76,7 +76,7 @@ jobs:
|
|
76
76
|
|
77
77
|
# Raw `bundle` will use the BUNDLE_GEMFILE set to matrix.gemfile (i.e. Appraisal.root)
|
78
78
|
# We need to do this first to get appraisal installed.
|
79
|
-
# NOTE: This does not use the
|
79
|
+
# NOTE: This does not use the primary Gemfile at all.
|
80
80
|
- name: Install Root Appraisal
|
81
81
|
run: bundle
|
82
82
|
- name: Appraisal for ${{ matrix.ruby }}@${{ matrix.appraisal }}
|
data/.github/workflows/jruby.yml
CHANGED
@@ -1,5 +1,8 @@
|
|
1
1
|
name: JRuby
|
2
2
|
|
3
|
+
permissions:
|
4
|
+
contents: read
|
5
|
+
|
3
6
|
env:
|
4
7
|
K_SOUP_COV_DO: false
|
5
8
|
|
@@ -7,7 +10,7 @@ on:
|
|
7
10
|
push:
|
8
11
|
branches:
|
9
12
|
- 'main'
|
10
|
-
-
|
13
|
+
- '*-stable'
|
11
14
|
tags:
|
12
15
|
- '!*' # Do not execute on tags
|
13
16
|
pull_request:
|
@@ -16,9 +19,6 @@ on:
|
|
16
19
|
# Allow manually triggering the workflow.
|
17
20
|
workflow_dispatch:
|
18
21
|
|
19
|
-
permissions:
|
20
|
-
contents: read
|
21
|
-
|
22
22
|
# Cancels all previous workflow runs for the same branch that have not yet completed.
|
23
23
|
concurrency:
|
24
24
|
# The concurrency group contains the workflow name and the branch name.
|
@@ -68,7 +68,7 @@ jobs:
|
|
68
68
|
|
69
69
|
# Raw `bundle` will use the BUNDLE_GEMFILE set to matrix.gemfile (i.e. Appraisal.root)
|
70
70
|
# We need to do this first to get appraisal installed.
|
71
|
-
# NOTE: This does not use the
|
71
|
+
# NOTE: This does not use the primary Gemfile at all.
|
72
72
|
- name: Install Root Appraisal
|
73
73
|
run: bundle
|
74
74
|
- name: Appraisal for ${{ matrix.appraisal }}
|
@@ -0,0 +1,67 @@
|
|
1
|
+
name: JRuby
|
2
|
+
|
3
|
+
permissions:
|
4
|
+
contents: read
|
5
|
+
|
6
|
+
env:
|
7
|
+
K_SOUP_COV_DO: false
|
8
|
+
|
9
|
+
on:
|
10
|
+
push:
|
11
|
+
branches:
|
12
|
+
- 'main'
|
13
|
+
- '*-stable'
|
14
|
+
tags:
|
15
|
+
- '!*' # Do not execute on tags
|
16
|
+
pull_request:
|
17
|
+
branches:
|
18
|
+
- '*'
|
19
|
+
# Allow manually triggering the workflow.
|
20
|
+
workflow_dispatch:
|
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
|
+
if: "!contains(github.event.commits[0].message, '[ci skip]') && !contains(github.event.commits[0].message, '[skip ci]')"
|
31
|
+
name: Specs ${{ matrix.ruby }} ${{ matrix.appraisal }}${{ matrix.name_extra || '' }}
|
32
|
+
runs-on: ubuntu-22.04
|
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
|
+
# jruby-9.4 (targets Ruby 3.1 compatibility)
|
40
|
+
- ruby: "jruby-9.4"
|
41
|
+
appraisal: "ruby-3-1"
|
42
|
+
exec_cmd: "rake test"
|
43
|
+
gemfile: "Appraisal.root"
|
44
|
+
rubygems: default
|
45
|
+
bundler: default
|
46
|
+
|
47
|
+
steps:
|
48
|
+
- name: Checkout
|
49
|
+
uses: actions/checkout@v5
|
50
|
+
|
51
|
+
- name: Setup Ruby & RubyGems
|
52
|
+
uses: ruby/setup-ruby@v1
|
53
|
+
with:
|
54
|
+
ruby-version: ${{ matrix.ruby }}
|
55
|
+
rubygems: ${{ matrix.rubygems }}
|
56
|
+
bundler: ${{ matrix.bundler }}
|
57
|
+
bundler-cache: false
|
58
|
+
|
59
|
+
# Raw `bundle` will use the BUNDLE_GEMFILE set to matrix.gemfile (i.e. Appraisal.root)
|
60
|
+
# We need to do this first to get appraisal installed.
|
61
|
+
# NOTE: This does not use the primary Gemfile at all.
|
62
|
+
- name: Install Root Appraisal
|
63
|
+
run: bundle
|
64
|
+
- name: Appraisal for ${{ matrix.appraisal }}
|
65
|
+
run: bundle exec appraisal ${{ matrix.appraisal }} bundle
|
66
|
+
- name: Tests for ${{ matrix.ruby }} via ${{ matrix.exec_cmd }}
|
67
|
+
run: bundle exec appraisal ${{ matrix.appraisal }} bundle exec ${{ matrix.exec_cmd }}
|
@@ -1,4 +1,7 @@
|
|
1
|
-
name: MRI 3.0 (EOL)
|
1
|
+
name: MRI 3.0, 3.1 (EOL)
|
2
|
+
|
3
|
+
permissions:
|
4
|
+
contents: read
|
2
5
|
|
3
6
|
env:
|
4
7
|
K_SOUP_COV_DO: false
|
@@ -7,7 +10,7 @@ on:
|
|
7
10
|
push:
|
8
11
|
branches:
|
9
12
|
- 'main'
|
10
|
-
-
|
13
|
+
- '*-stable'
|
11
14
|
tags:
|
12
15
|
- '!*' # Do not execute on tags
|
13
16
|
pull_request:
|
@@ -16,9 +19,6 @@ on:
|
|
16
19
|
# Allow manually triggering the workflow.
|
17
20
|
workflow_dispatch:
|
18
21
|
|
19
|
-
permissions:
|
20
|
-
contents: read
|
21
|
-
|
22
22
|
# Cancels all previous workflow runs for the same branch that have not yet completed.
|
23
23
|
concurrency:
|
24
24
|
# The concurrency group contains the workflow name and the branch name.
|
@@ -45,6 +45,14 @@ jobs:
|
|
45
45
|
rubygems: '3.5.23'
|
46
46
|
bundler: '2.5.23'
|
47
47
|
|
48
|
+
# Ruby 3.1
|
49
|
+
- ruby: "ruby-3.1"
|
50
|
+
appraisal: "ruby-3-1"
|
51
|
+
exec_cmd: "rake test"
|
52
|
+
gemfile: "Appraisal.root"
|
53
|
+
rubygems: latest
|
54
|
+
bundler: latest
|
55
|
+
|
48
56
|
steps:
|
49
57
|
- name: Checkout
|
50
58
|
uses: actions/checkout@v5
|
@@ -59,7 +67,7 @@ jobs:
|
|
59
67
|
|
60
68
|
# Raw `bundle` will use the BUNDLE_GEMFILE set to matrix.gemfile (i.e. Appraisal.root)
|
61
69
|
# We need to do this first to get appraisal installed.
|
62
|
-
# NOTE: This does not use the
|
70
|
+
# NOTE: This does not use the primary Gemfile at all.
|
63
71
|
- name: Install Root Appraisal
|
64
72
|
run: bundle
|
65
73
|
- name: Appraisal for ${{ matrix.appraisal }}
|
data/.github/workflows/style.yml
CHANGED
@@ -4,7 +4,7 @@ on:
|
|
4
4
|
push:
|
5
5
|
branches:
|
6
6
|
- 'main'
|
7
|
-
-
|
7
|
+
- '*-stable'
|
8
8
|
tags:
|
9
9
|
- '!*' # Do not execute on tags
|
10
10
|
pull_request:
|
@@ -56,7 +56,7 @@ jobs:
|
|
56
56
|
|
57
57
|
# Raw `bundle` will use the BUNDLE_GEMFILE set to matrix.gemfile (i.e. Appraisal.root)
|
58
58
|
# We need to do this first to get appraisal installed.
|
59
|
-
# NOTE: This does not use the
|
59
|
+
# NOTE: This does not use the primary Gemfile at all.
|
60
60
|
- name: Install Root Appraisal
|
61
61
|
run: bundle
|
62
62
|
- name: Appraisal for ${{ matrix.appraisal }}
|
@@ -1,5 +1,8 @@
|
|
1
1
|
name: MRI Non-EOL
|
2
2
|
|
3
|
+
permissions:
|
4
|
+
contents: read
|
5
|
+
|
3
6
|
env:
|
4
7
|
K_SOUP_COV_DO: false
|
5
8
|
|
@@ -7,7 +10,7 @@ on:
|
|
7
10
|
push:
|
8
11
|
branches:
|
9
12
|
- 'main'
|
10
|
-
-
|
13
|
+
- '*-stable'
|
11
14
|
tags:
|
12
15
|
- '!*' # Do not execute on tags
|
13
16
|
pull_request:
|
@@ -16,9 +19,6 @@ on:
|
|
16
19
|
# Allow manually triggering the workflow.
|
17
20
|
workflow_dispatch:
|
18
21
|
|
19
|
-
permissions:
|
20
|
-
contents: read
|
21
|
-
|
22
22
|
# Cancels all previous workflow runs for the same branch that have not yet completed.
|
23
23
|
concurrency:
|
24
24
|
# The concurrency group contains the workflow name and the branch name.
|
@@ -36,14 +36,6 @@ jobs:
|
|
36
36
|
strategy:
|
37
37
|
matrix:
|
38
38
|
include:
|
39
|
-
# Ruby 3.1
|
40
|
-
- ruby: "ruby-3.1"
|
41
|
-
appraisal: "ruby-3-1"
|
42
|
-
exec_cmd: "rake test"
|
43
|
-
gemfile: "Appraisal.root"
|
44
|
-
rubygems: latest
|
45
|
-
bundler: latest
|
46
|
-
|
47
39
|
# Ruby 3.2
|
48
40
|
- ruby: "ruby-3.2"
|
49
41
|
appraisal: "ruby-3-2"
|
@@ -74,7 +66,7 @@ jobs:
|
|
74
66
|
|
75
67
|
# Raw `bundle` will use the BUNDLE_GEMFILE set to matrix.gemfile (i.e. Appraisal.root)
|
76
68
|
# We need to do this first to get appraisal installed.
|
77
|
-
# NOTE: This does not use the
|
69
|
+
# NOTE: This does not use the primary Gemfile at all.
|
78
70
|
- name: Install Root Appraisal
|
79
71
|
run: bundle
|
80
72
|
- name: Appraisal for ${{ matrix.ruby }} ${{ matrix.appraisal }}
|
@@ -7,7 +7,7 @@ on:
|
|
7
7
|
push:
|
8
8
|
branches:
|
9
9
|
- 'main'
|
10
|
-
-
|
10
|
+
- '*-stable'
|
11
11
|
tags:
|
12
12
|
- '!*' # Do not execute on tags
|
13
13
|
pull_request:
|
@@ -59,10 +59,35 @@ jobs:
|
|
59
59
|
|
60
60
|
# Raw `bundle` will use the BUNDLE_GEMFILE set to matrix.gemfile (i.e. Appraisal.root)
|
61
61
|
# We need to do this first to get appraisal installed.
|
62
|
-
# NOTE: This does not use the
|
62
|
+
# NOTE: This does not use the primary Gemfile at all.
|
63
63
|
- name: Install Root Appraisal
|
64
64
|
run: bundle
|
65
|
-
|
65
|
+
|
66
|
+
- name: "[Attempt 1] Install Root Appraisal"
|
67
|
+
id: bundleAttempt1
|
68
|
+
run: bundle
|
69
|
+
# Continue to the next step on failure
|
70
|
+
continue-on-error: true
|
71
|
+
|
72
|
+
# Effectively an automatic retry of the previous step.
|
73
|
+
- name: "[Attempt 2] Install Root Appraisal"
|
74
|
+
id: bundleAttempt2
|
75
|
+
# If bundleAttempt1 failed, try again here; Otherwise skip.
|
76
|
+
if: steps.bundleAttempt1.outcome == 'failure'
|
77
|
+
run: bundle
|
78
|
+
|
79
|
+
- name: "[Attempt 1] Appraisal for ${{ matrix.ruby }}@${{ matrix.appraisal }}"
|
80
|
+
id: bundleAppraisalAttempt1
|
81
|
+
run: bundle exec appraisal ${{ matrix.appraisal }} bundle
|
82
|
+
# Continue to the next step on failure
|
83
|
+
continue-on-error: true
|
84
|
+
|
85
|
+
# Effectively an automatic retry of the previous step.
|
86
|
+
- name: "[Attempt 2] Appraisal for ${{ matrix.ruby }}@${{ matrix.appraisal }}"
|
87
|
+
id: bundleAppraisalAttempt2
|
88
|
+
# If bundleAttempt1 failed, try again here; Otherwise skip.
|
89
|
+
if: steps.bundleAppraisalAttempt1.outcome == 'failure'
|
66
90
|
run: bundle exec appraisal ${{ matrix.appraisal }} bundle
|
91
|
+
|
67
92
|
- name: Tests for ${{ matrix.ruby }} via ${{ matrix.exec_cmd }}
|
68
93
|
run: bundle exec appraisal ${{ matrix.appraisal }} bundle exec ${{ matrix.exec_cmd }}
|
@@ -27,7 +27,7 @@ on:
|
|
27
27
|
push:
|
28
28
|
branches:
|
29
29
|
- 'main'
|
30
|
-
-
|
30
|
+
- '*-stable'
|
31
31
|
tags:
|
32
32
|
- '!*' # Do not execute on tags
|
33
33
|
pull_request:
|
@@ -75,7 +75,7 @@ jobs:
|
|
75
75
|
|
76
76
|
# Raw `bundle` will use the BUNDLE_GEMFILE set to matrix.gemfile (i.e. Appraisal.root)
|
77
77
|
# We need to do this first to get appraisal installed.
|
78
|
-
# NOTE: This does not use the
|
78
|
+
# NOTE: This does not use the primary Gemfile at all.
|
79
79
|
- name: Install Root Appraisal
|
80
80
|
run: bundle
|
81
81
|
- name: Appraisal for ${{ matrix.ruby }}@${{ matrix.appraisal_name }}
|
@@ -1,5 +1,8 @@
|
|
1
1
|
name: MRI 2.6 & 2.7 (EOL)
|
2
2
|
|
3
|
+
permissions:
|
4
|
+
contents: read
|
5
|
+
|
3
6
|
env:
|
4
7
|
K_SOUP_COV_DO: false
|
5
8
|
|
@@ -7,7 +10,7 @@ on:
|
|
7
10
|
push:
|
8
11
|
branches:
|
9
12
|
- 'main'
|
10
|
-
-
|
13
|
+
- '*-stable'
|
11
14
|
tags:
|
12
15
|
- '!*' # Do not execute on tags
|
13
16
|
pull_request:
|
@@ -16,9 +19,6 @@ on:
|
|
16
19
|
# Allow manually triggering the workflow.
|
17
20
|
workflow_dispatch:
|
18
21
|
|
19
|
-
permissions:
|
20
|
-
contents: read
|
21
|
-
|
22
22
|
# Cancels all previous workflow runs for the same branch that have not yet completed.
|
23
23
|
concurrency:
|
24
24
|
# The concurrency group contains the workflow name and the branch name.
|
@@ -67,7 +67,7 @@ jobs:
|
|
67
67
|
|
68
68
|
# Raw `bundle` will use the BUNDLE_GEMFILE set to matrix.gemfile (i.e. Appraisal.root)
|
69
69
|
# We need to do this first to get appraisal installed.
|
70
|
-
# NOTE: This does not use the
|
70
|
+
# NOTE: This does not use the primary Gemfile at all.
|
71
71
|
- name: Install Root Appraisal
|
72
72
|
run: bundle
|
73
73
|
- name: Appraisal for ${{ matrix.appraisal }}
|
data/.rspec
CHANGED
data/Appraisals
CHANGED
@@ -1,9 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
# HOW TO UPDATE APPRAISALS:
|
4
|
-
#
|
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
|
7
5
|
|
8
6
|
# Lock/Unlock Deps Pattern
|
9
7
|
#
|
@@ -113,14 +111,14 @@ appraise "ruby-3-3" do
|
|
113
111
|
gem "stringio", "~> 3.0"
|
114
112
|
end
|
115
113
|
|
116
|
-
# Only run security audit on latest Ruby
|
114
|
+
# Only run security audit on the latest version of Ruby
|
117
115
|
appraise "audit" do
|
118
116
|
gem "erb"
|
119
117
|
gem "mutex_m", "~> 0.2"
|
120
118
|
gem "stringio", "~> 3.0"
|
121
119
|
end
|
122
120
|
|
123
|
-
# Only run coverage on latest Ruby
|
121
|
+
# Only run coverage on the latest version of Ruby
|
124
122
|
appraise "coverage" do
|
125
123
|
gem "erb"
|
126
124
|
gem "mutex_m", "~> 0.2"
|
@@ -130,7 +128,7 @@ appraise "coverage" do
|
|
130
128
|
eval_gemfile "modular/recording/r3/recording.gemfile"
|
131
129
|
end
|
132
130
|
|
133
|
-
# Only run linter on latest Ruby
|
131
|
+
# Only run linter on the latest version of Ruby (but, in support of oldest supported Ruby version)
|
134
132
|
appraise "style" do
|
135
133
|
gem "erb"
|
136
134
|
gem "mutex_m", "~> 0.2"
|
data/Appraisals.example
CHANGED
@@ -82,13 +82,13 @@ appraise "ruby-3-3" do
|
|
82
82
|
gem "stringio", "~> 3.0"
|
83
83
|
end
|
84
84
|
|
85
|
-
# Only run security audit on latest Ruby
|
85
|
+
# Only run security audit on the latest version of Ruby
|
86
86
|
appraise "audit" do
|
87
87
|
gem "mutex_m", "~> 0.2"
|
88
88
|
gem "stringio", "~> 3.0"
|
89
89
|
end
|
90
90
|
|
91
|
-
# Only run coverage on latest Ruby
|
91
|
+
# Only run coverage on the latest version of Ruby
|
92
92
|
appraise "coverage" do
|
93
93
|
gem "mutex_m", "~> 0.2"
|
94
94
|
gem "stringio", "~> 3.0"
|
@@ -96,7 +96,7 @@ appraise "coverage" do
|
|
96
96
|
eval_gemfile "modular/optional.gemfile"
|
97
97
|
end
|
98
98
|
|
99
|
-
# Only run linter on latest Ruby
|
99
|
+
# Only run linter on the latest version of Ruby (but, in support of oldest supported Ruby version)
|
100
100
|
appraise "style" do
|
101
101
|
gem "mutex_m", "~> 0.2"
|
102
102
|
gem "stringio", "~> 3.0"
|