kettle-dev 1.2.4 → 2.0.1

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.
Files changed (152) hide show
  1. checksums.yaml +4 -4
  2. checksums.yaml.gz.sig +0 -0
  3. data/CHANGELOG.md +232 -3
  4. data/CITATION.cff +6 -6
  5. data/CONTRIBUTING.md +64 -46
  6. data/FUNDING.md +1 -1
  7. data/LICENSE.md +12 -0
  8. data/README.md +448 -457
  9. data/certs/pboling.pem +27 -0
  10. data/exe/kettle-changelog +24 -13
  11. data/exe/kettle-check-eof +7 -0
  12. data/exe/kettle-check-eof.sh +118 -0
  13. data/exe/kettle-dev-setup +12 -63
  14. data/exe/kettle-gh-release +82 -0
  15. data/lib/kettle/dev/changelog_cli.rb +373 -62
  16. data/lib/kettle/dev/ci_monitor.rb +2 -2
  17. data/lib/kettle/dev/dvcs_cli.rb +1 -1
  18. data/lib/kettle/dev/gem_spec_reader.rb +100 -10
  19. data/lib/kettle/dev/git_adapter.rb +37 -1
  20. data/lib/kettle/dev/open_collective_config.rb +15 -3
  21. data/lib/kettle/dev/pre_release_cli.rb +4 -4
  22. data/lib/kettle/dev/rakelib/reek.rake +9 -6
  23. data/lib/kettle/dev/rakelib/spec_test.rake +25 -25
  24. data/lib/kettle/dev/rakelib/yard.rake +17 -17
  25. data/lib/kettle/dev/readme_backers.rb +4 -4
  26. data/lib/kettle/dev/release_cli.rb +27 -24
  27. data/lib/kettle/dev/tasks/ci_task.rb +4 -4
  28. data/lib/kettle/dev/version.rb +2 -87
  29. data/lib/kettle/dev.rb +31 -17
  30. data/sig/kettle/dev/source_merger.rbs +40 -56
  31. data/sig/kettle/dev/version.rbs +8 -0
  32. data.tar.gz.sig +0 -0
  33. metadata +63 -165
  34. metadata.gz.sig +0 -0
  35. data/.aiignore.example +0 -19
  36. data/.devcontainer/apt-install/devcontainer-feature.json +0 -9
  37. data/.devcontainer/apt-install/install.sh +0 -11
  38. data/.devcontainer/devcontainer.json +0 -28
  39. data/.env.local.example +0 -31
  40. data/.envrc +0 -47
  41. data/.envrc.example +0 -51
  42. data/.envrc.no-osc.example +0 -51
  43. data/.git-hooks/commit-msg +0 -54
  44. data/.git-hooks/commit-subjects-goalie.txt +0 -8
  45. data/.git-hooks/footer-template.erb.txt +0 -16
  46. data/.git-hooks/prepare-commit-msg +0 -8
  47. data/.github/.codecov.yml.example +0 -14
  48. data/.github/FUNDING.yml +0 -13
  49. data/.github/FUNDING.yml.no-osc.example +0 -13
  50. data/.github/dependabot.yml +0 -13
  51. data/.github/workflows/ancient.yml +0 -83
  52. data/.github/workflows/ancient.yml.example +0 -81
  53. data/.github/workflows/auto-assign.yml +0 -21
  54. data/.github/workflows/codeql-analysis.yml +0 -70
  55. data/.github/workflows/coverage.yml +0 -127
  56. data/.github/workflows/coverage.yml.example +0 -127
  57. data/.github/workflows/current.yml +0 -116
  58. data/.github/workflows/current.yml.example +0 -115
  59. data/.github/workflows/dep-heads.yml +0 -117
  60. data/.github/workflows/dependency-review.yml +0 -20
  61. data/.github/workflows/discord-notifier.yml.example +0 -39
  62. data/.github/workflows/heads.yml +0 -117
  63. data/.github/workflows/heads.yml.example +0 -116
  64. data/.github/workflows/jruby.yml +0 -82
  65. data/.github/workflows/jruby.yml.example +0 -72
  66. data/.github/workflows/legacy.yml +0 -76
  67. data/.github/workflows/license-eye.yml +0 -40
  68. data/.github/workflows/locked_deps.yml +0 -85
  69. data/.github/workflows/opencollective.yml +0 -40
  70. data/.github/workflows/style.yml +0 -67
  71. data/.github/workflows/supported.yml +0 -75
  72. data/.github/workflows/truffle.yml +0 -99
  73. data/.github/workflows/unlocked_deps.yml +0 -84
  74. data/.github/workflows/unsupported.yml +0 -76
  75. data/.gitignore +0 -50
  76. data/.gitlab-ci.yml.example +0 -134
  77. data/.idea/.gitignore +0 -45
  78. data/.junie/guidelines-rbs.md +0 -49
  79. data/.junie/guidelines.md +0 -141
  80. data/.junie/guidelines.md.example +0 -140
  81. data/.licenserc.yaml +0 -7
  82. data/.opencollective.yml +0 -3
  83. data/.opencollective.yml.example +0 -3
  84. data/.qlty/qlty.toml +0 -79
  85. data/.rspec +0 -9
  86. data/.rubocop.yml +0 -13
  87. data/.rubocop_rspec.yml +0 -33
  88. data/.simplecov +0 -16
  89. data/.simplecov.example +0 -11
  90. data/.tool-versions +0 -1
  91. data/.yardignore +0 -13
  92. data/.yardopts +0 -14
  93. data/Appraisal.root.gemfile +0 -10
  94. data/Appraisals +0 -151
  95. data/Appraisals.example +0 -102
  96. data/CHANGELOG.md.example +0 -47
  97. data/CONTRIBUTING.md.example +0 -227
  98. data/FUNDING.md.no-osc.example +0 -63
  99. data/Gemfile +0 -40
  100. data/Gemfile.example +0 -34
  101. data/LICENSE.txt +0 -21
  102. data/README.md.example +0 -570
  103. data/README.md.no-osc.example +0 -536
  104. data/REEK +0 -0
  105. data/Rakefile.example +0 -68
  106. data/bin/setup +0 -8
  107. data/gemfiles/modular/coverage.gemfile +0 -6
  108. data/gemfiles/modular/debug.gemfile +0 -13
  109. data/gemfiles/modular/documentation.gemfile +0 -14
  110. data/gemfiles/modular/erb/r2/v3.0.gemfile +0 -1
  111. data/gemfiles/modular/erb/r2.3/default.gemfile +0 -6
  112. data/gemfiles/modular/erb/r2.6/v2.2.gemfile +0 -3
  113. data/gemfiles/modular/erb/r3/v5.0.gemfile +0 -1
  114. data/gemfiles/modular/erb/r3.1/v4.0.gemfile +0 -2
  115. data/gemfiles/modular/erb/vHEAD.gemfile +0 -2
  116. data/gemfiles/modular/injected.gemfile +0 -60
  117. data/gemfiles/modular/mutex_m/r2/v0.3.gemfile +0 -2
  118. data/gemfiles/modular/mutex_m/r2.4/v0.1.gemfile +0 -3
  119. data/gemfiles/modular/mutex_m/r3/v0.3.gemfile +0 -2
  120. data/gemfiles/modular/mutex_m/vHEAD.gemfile +0 -2
  121. data/gemfiles/modular/optional.gemfile +0 -8
  122. data/gemfiles/modular/optional.gemfile.example +0 -5
  123. data/gemfiles/modular/runtime_heads.gemfile +0 -10
  124. data/gemfiles/modular/runtime_heads.gemfile.example +0 -8
  125. data/gemfiles/modular/stringio/r2/v3.0.gemfile +0 -5
  126. data/gemfiles/modular/stringio/r2.4/v0.0.2.gemfile +0 -4
  127. data/gemfiles/modular/stringio/r3/v3.0.gemfile +0 -5
  128. data/gemfiles/modular/stringio/vHEAD.gemfile +0 -2
  129. data/gemfiles/modular/style.gemfile +0 -25
  130. data/gemfiles/modular/style.gemfile.example +0 -25
  131. data/gemfiles/modular/templating.gemfile +0 -3
  132. data/gemfiles/modular/x_std_libs/r2/libs.gemfile +0 -3
  133. data/gemfiles/modular/x_std_libs/r2.3/libs.gemfile +0 -3
  134. data/gemfiles/modular/x_std_libs/r2.4/libs.gemfile +0 -3
  135. data/gemfiles/modular/x_std_libs/r2.6/libs.gemfile +0 -3
  136. data/gemfiles/modular/x_std_libs/r3/libs.gemfile +0 -3
  137. data/gemfiles/modular/x_std_libs/r3.1/libs.gemfile +0 -3
  138. data/gemfiles/modular/x_std_libs/vHEAD.gemfile +0 -3
  139. data/gemfiles/modular/x_std_libs.gemfile +0 -2
  140. data/kettle-dev.gemspec.example +0 -154
  141. data/lib/kettle/dev/modular_gemfiles.rb +0 -119
  142. data/lib/kettle/dev/prism_appraisals.rb +0 -351
  143. data/lib/kettle/dev/prism_gemfile.rb +0 -177
  144. data/lib/kettle/dev/prism_gemspec.rb +0 -284
  145. data/lib/kettle/dev/prism_utils.rb +0 -201
  146. data/lib/kettle/dev/rakelib/install.rake +0 -10
  147. data/lib/kettle/dev/rakelib/template.rake +0 -10
  148. data/lib/kettle/dev/setup_cli.rb +0 -403
  149. data/lib/kettle/dev/source_merger.rb +0 -655
  150. data/lib/kettle/dev/tasks/install_task.rb +0 -553
  151. data/lib/kettle/dev/tasks/template_task.rb +0 -975
  152. data/lib/kettle/dev/template_helpers.rb +0 -685
@@ -1,82 +0,0 @@
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
- # # NoMethodError: undefined method `resolve_feature_path' for #<Array:0x566f4659>
40
- # # <main> at /home/runner/.rubies/jruby-9.3.15.0/lib/ruby/gems/shared/gems/erb-4.0.4-java/lib/erb/util.rb:9
41
- # # jruby-9.3 (targets Ruby 2.6 compatibility)
42
- # - ruby: "jruby-9.3"
43
- # appraisal: "ruby-2-6"
44
- # exec_cmd: "rake test"
45
- # gemfile: "Appraisal.root"
46
- # rubygems: default
47
- # bundler: default
48
-
49
- # jruby-9.4 (targets Ruby 3.1 compatibility)
50
- - ruby: "jruby-9.4"
51
- appraisal: "ruby-3-1"
52
- exec_cmd: "rake test"
53
- gemfile: "Appraisal.root"
54
- rubygems: default
55
- bundler: default
56
-
57
- steps:
58
- - name: Checkout
59
- if: ${{ !env.ACT }}
60
- uses: actions/checkout@v6
61
-
62
- - name: Setup Ruby & RubyGems
63
- if: ${{ !env.ACT }}
64
- uses: ruby/setup-ruby@v1
65
- with:
66
- ruby-version: ${{ matrix.ruby }}
67
- rubygems: ${{ matrix.rubygems }}
68
- bundler: ${{ matrix.bundler }}
69
- bundler-cache: false
70
-
71
- # Raw `bundle` will use the BUNDLE_GEMFILE set to matrix.gemfile (i.e. Appraisal.root)
72
- # We need to do this first to get appraisal installed.
73
- # NOTE: This does not use the primary Gemfile at all.
74
- - name: Install Root Appraisal
75
- if: ${{ !env.ACT }}
76
- run: bundle
77
- - name: Appraisal for ${{ matrix.appraisal }}
78
- if: ${{ !env.ACT }}
79
- run: bundle exec appraisal ${{ matrix.appraisal }} bundle
80
- - name: Tests for ${{ matrix.ruby }} via ${{ matrix.exec_cmd }}
81
- if: ${{ !env.ACT }}
82
- run: bundle exec appraisal ${{ matrix.appraisal }} bundle exec ${{ matrix.exec_cmd }}
@@ -1,72 +0,0 @@
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
- if: ${{ !env.ACT }}
50
- uses: actions/checkout@v6
51
-
52
- - name: Setup Ruby & RubyGems
53
- if: ${{ !env.ACT }}
54
- uses: ruby/setup-ruby@v1
55
- with:
56
- ruby-version: ${{ matrix.ruby }}
57
- rubygems: ${{ matrix.rubygems }}
58
- bundler: ${{ matrix.bundler }}
59
- bundler-cache: false
60
-
61
- # Raw `bundle` will use the BUNDLE_GEMFILE set to matrix.gemfile (i.e. Appraisal.root)
62
- # We need to do this first to get appraisal installed.
63
- # NOTE: This does not use the primary Gemfile at all.
64
- - name: Install Root Appraisal
65
- if: ${{ !env.ACT }}
66
- run: bundle
67
- - name: Appraisal for ${{ matrix.appraisal }}
68
- if: ${{ !env.ACT }}
69
- run: bundle exec appraisal ${{ matrix.appraisal }} bundle
70
- - name: Tests for ${{ matrix.ruby }} via ${{ matrix.exec_cmd }}
71
- if: ${{ !env.ACT }}
72
- run: bundle exec appraisal ${{ matrix.appraisal }} bundle exec ${{ matrix.exec_cmd }}
@@ -1,76 +0,0 @@
1
- name: MRI 3.0, 3.1 (EOL)
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
- fail-fast: false
38
- matrix:
39
- include:
40
- # Ruby 3.0
41
- - ruby: "ruby-3.0"
42
- appraisal: "ruby-3-0"
43
- exec_cmd: "rake test"
44
- gemfile: "Appraisal.root"
45
- rubygems: '3.5.23'
46
- bundler: '2.5.23'
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: '3.6.9'
54
- bundler: '2.6.9'
55
-
56
- steps:
57
- - name: Checkout
58
- uses: actions/checkout@v6
59
-
60
- - name: Setup Ruby & RubyGems
61
- uses: ruby/setup-ruby@v1
62
- with:
63
- ruby-version: ${{ matrix.ruby }}
64
- rubygems: ${{ matrix.rubygems }}
65
- bundler: ${{ matrix.bundler }}
66
- bundler-cache: false
67
-
68
- # Raw `bundle` will use the BUNDLE_GEMFILE set to matrix.gemfile (i.e. Appraisal.root)
69
- # We need to do this first to get appraisal installed.
70
- # NOTE: This does not use the primary Gemfile at all.
71
- - name: Install Root Appraisal
72
- run: bundle
73
- - name: Appraisal for ${{ matrix.appraisal }}
74
- run: bundle exec appraisal ${{ matrix.appraisal }} bundle
75
- - name: Tests for ${{ matrix.ruby }} via ${{ matrix.exec_cmd }}
76
- run: bundle exec appraisal ${{ matrix.appraisal }} bundle exec ${{ matrix.exec_cmd }}
@@ -1,40 +0,0 @@
1
- name: Apache SkyWalking Eyes
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
- license-check:
27
- if: "!contains(github.event.commits[0].message, '[ci skip]') && !contains(github.event.commits[0].message, '[skip ci]')"
28
- runs-on: ubuntu-latest
29
- steps:
30
- - name: Checkout
31
- uses: actions/checkout@v6
32
-
33
- - name: Check Dependencies' License
34
- uses: apache/skywalking-eyes/dependency@main
35
- with:
36
- config: .licenserc.yaml
37
- # Ruby packages declared as dependencies in gemspecs or Gemfiles are
38
- # typically consumed as binaries; enable weak-compatibility
39
- # so permissive and weak-copyleft combinations are treated as compatible.
40
- flags: --weak-compatible
@@ -1,85 +0,0 @@
1
- ---
2
- # Lock/Unlock Deps Pattern
3
- #
4
- # Two often conflicting goals resolved!
5
- #
6
- # - unlocked_deps.yml
7
- # - All runtime & dev dependencies, but does not have a `gemfiles/*.gemfile.lock` committed
8
- # - Uses an Appraisal2 "unlocked_deps" gemfile, and the current MRI Ruby release
9
- # - Know when new dependency releases will break local dev with unlocked dependencies
10
- # - Broken workflow indicates that new releases of dependencies may not work
11
- #
12
- # - locked_deps.yml
13
- # - All runtime & dev dependencies, and has a `Gemfile.lock` committed
14
- # - Uses the project's main Gemfile, and the current MRI Ruby release
15
- # - Matches what contributors and maintainers use locally for development
16
- # - Broken workflow indicates that a new contributor will have a bad time
17
- #
18
- name: Deps Locked
19
-
20
- permissions:
21
- contents: read
22
-
23
- env:
24
- # Running coverage, but not validating minimum coverage,
25
- # because it would be redundant with the coverage workflow.
26
- # Also we can validate all output formats without breaking CodeCov,
27
- # since we aren't submitting these reports anywhere.
28
- K_SOUP_COV_MIN_BRANCH: 71
29
- K_SOUP_COV_MIN_LINE: 86
30
- K_SOUP_COV_MIN_HARD: false
31
- K_SOUP_COV_FORMATTERS: "html,xml,rcov,lcov,json,tty"
32
- K_SOUP_COV_DO: true
33
- K_SOUP_COV_MULTI_FORMATTERS: true
34
- K_SOUP_COV_COMMAND_NAME: "Test Coverage"
35
-
36
- on:
37
- push:
38
- branches:
39
- - 'main'
40
- - '*-stable'
41
- tags:
42
- - '!*' # Do not execute on tags
43
- pull_request:
44
- branches:
45
- - '*'
46
- # Allow manually triggering the workflow.
47
- workflow_dispatch:
48
-
49
- # Cancels all previous workflow runs for the same branch that have not yet completed.
50
- concurrency:
51
- # The concurrency group contains the workflow name and the branch name.
52
- group: "${{ github.workflow }}-${{ github.ref }}"
53
- cancel-in-progress: true
54
-
55
- jobs:
56
- test:
57
- if: "!contains(github.event.commits[0].message, '[ci skip]') && !contains(github.event.commits[0].message, '[skip ci]')"
58
- name: Default rake task w/ main Gemfile.lock ${{ matrix.name_extra || '' }}
59
- runs-on: ubuntu-latest
60
- continue-on-error: ${{ matrix.experimental }}
61
- strategy:
62
- fail-fast: false
63
- matrix:
64
- include:
65
- # Ruby <whichever version is current, e.g., 3.4 as of 2025-07-12>
66
- - ruby: "ruby"
67
- exec_cmd: "rake"
68
- rubygems: latest
69
- bundler: latest
70
- experimental: false
71
-
72
- steps:
73
- - name: Checkout
74
- uses: actions/checkout@v6
75
-
76
- - name: Setup Ruby & RubyGems
77
- uses: ruby/setup-ruby@v1
78
- with:
79
- ruby-version: ${{ matrix.ruby }}
80
- rubygems: ${{ matrix.rubygems }}
81
- bundler: ${{ matrix.bundler }}
82
- bundler-cache: true
83
-
84
- - name: Checks the kitchen sink via ${{ matrix.exec_cmd }}
85
- run: bundle exec ${{ matrix.exec_cmd }}
@@ -1,40 +0,0 @@
1
- name: Open Collective Backers
2
-
3
- on:
4
- schedule:
5
- # Run once a week on Sunday at 12:00 AM UTC
6
- - cron: '0 0 * * 0'
7
- workflow_dispatch:
8
-
9
- permissions:
10
- contents: write
11
-
12
- jobs:
13
- update-backers:
14
- runs-on: ubuntu-latest
15
- steps:
16
- - uses: actions/checkout@v6
17
- with:
18
- persist-credentials: false
19
- - name: Setup Ruby & RubyGems
20
- uses: ruby/setup-ruby@v1
21
- with:
22
- ruby-version: ruby
23
- rubygems: default
24
- bundler: default
25
- bundler-cache: true
26
-
27
- - name: README Update
28
- env:
29
- # Keep GITHUB_TOKEN for any tools/scripts expecting it, mapped to the same secret
30
- GITHUB_TOKEN: ${{ secrets.README_UPDATER_TOKEN }}
31
- README_UPDATER_TOKEN: ${{ secrets.README_UPDATER_TOKEN }}
32
- REPO: ${{ github.repository }}
33
- run: |
34
- git config user.name 'autobolt'
35
- git config user.email 'autobots@9thbit.net'
36
- # Use the configured token for authenticated pushes
37
- git remote set-url origin "https://x-access-token:${README_UPDATER_TOKEN}@github.com/${REPO}.git"
38
- bin/kettle-readme-backers
39
- # Push back to the same branch/ref that triggered the workflow (default branch for schedule)
40
- git push origin HEAD
@@ -1,67 +0,0 @@
1
- name: Style
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
- rubocop:
27
- if: "!contains(github.event.commits[0].message, '[ci skip]') && !contains(github.event.commits[0].message, '[skip ci]')"
28
- name: Style on ${{ matrix.ruby }}@current
29
- runs-on: ubuntu-latest
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
- # Style
38
- - ruby: "ruby"
39
- appraisal: "style"
40
- exec_cmd: "rake rubocop_gradual:check"
41
- gemfile: "Appraisal.root"
42
- rubygems: latest
43
- bundler: latest
44
-
45
- steps:
46
- - name: Checkout
47
- uses: actions/checkout@v6
48
-
49
- - name: Setup Ruby & RubyGems
50
- uses: ruby/setup-ruby@v1
51
- with:
52
- ruby-version: ${{ matrix.ruby }}
53
- rubygems: ${{ matrix.rubygems }}
54
- bundler: ${{ matrix.bundler }}
55
- bundler-cache: false
56
-
57
- # Raw `bundle` will use the BUNDLE_GEMFILE set to matrix.gemfile (i.e. Appraisal.root)
58
- # We need to do this first to get appraisal installed.
59
- # NOTE: This does not use the primary Gemfile at all.
60
- - name: Install Root Appraisal
61
- run: bundle
62
- - name: Appraisal for ${{ matrix.appraisal }}
63
- run: bundle exec appraisal ${{ matrix.appraisal }} bundle
64
- - name: Run ${{ matrix.appraisal }} checks via ${{ matrix.exec_cmd }}
65
- run: bundle exec appraisal ${{ matrix.appraisal }} bundle exec ${{ matrix.exec_cmd }}
66
- - name: Validate RBS Types
67
- run: bundle exec appraisal ${{ matrix.appraisal }} bin/rbs validate
@@ -1,75 +0,0 @@
1
- name: MRI Non-EOL
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-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.2
40
- - ruby: "ruby-3.2"
41
- appraisal: "ruby-3-2"
42
- exec_cmd: "rake test"
43
- gemfile: "Appraisal.root"
44
- rubygems: latest
45
- bundler: latest
46
-
47
- # Ruby 3.3
48
- - ruby: "ruby-3.3"
49
- appraisal: "ruby-3-3"
50
- exec_cmd: "rake test"
51
- gemfile: "Appraisal.root"
52
- rubygems: latest
53
- bundler: latest
54
-
55
- steps:
56
- - name: Checkout
57
- uses: actions/checkout@v6
58
-
59
- - name: Setup Ruby & RubyGems
60
- uses: ruby/setup-ruby@v1
61
- with:
62
- ruby-version: ${{ matrix.ruby }}
63
- rubygems: ${{ matrix.rubygems }}
64
- bundler: ${{ matrix.bundler }}
65
- bundler-cache: false
66
-
67
- # Raw `bundle` will use the BUNDLE_GEMFILE set to matrix.gemfile (i.e. Appraisal.root)
68
- # We need to do this first to get appraisal installed.
69
- # NOTE: This does not use the primary Gemfile at all.
70
- - name: Install Root Appraisal
71
- run: bundle
72
- - name: Appraisal for ${{ matrix.ruby }} ${{ matrix.appraisal }}
73
- run: bundle exec appraisal ${{ matrix.appraisal }} bundle
74
- - name: Tests for ${{ matrix.ruby }} ${{ matrix.appraisal }} via ${{ matrix.exec_cmd }}
75
- run: bundle exec appraisal ${{ matrix.appraisal }} bundle exec ${{ matrix.exec_cmd }}
@@ -1,99 +0,0 @@
1
- name: Truffle
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
- # NOTE: truffleruby does not support upgrading rubygems.
40
- # truffleruby-23.1 (targets Ruby 3.2 compatibility)
41
- - ruby: "truffleruby-23.1"
42
- appraisal: "ruby-3-2"
43
- exec_cmd: "rake test"
44
- gemfile: "Appraisal.root"
45
- rubygems: default
46
- bundler: default
47
-
48
- steps:
49
- - name: Checkout
50
- if: ${{ (env.ACT && !(startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby')) || (!env.ACT && (startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby')) }}
51
- uses: actions/checkout@v6
52
-
53
- - name: Setup Ruby & RubyGems
54
- if: ${{ (env.ACT && !(startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby')) || (!env.ACT && (startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby')) }}
55
- uses: ruby/setup-ruby@v1
56
- with:
57
- ruby-version: ${{ matrix.ruby }}
58
- rubygems: ${{ matrix.rubygems }}
59
- bundler: ${{ matrix.bundler }}
60
- bundler-cache: false
61
-
62
- # Raw `bundle` will use the BUNDLE_GEMFILE set to matrix.gemfile (i.e. Appraisal.root)
63
- # We need to do this first to get appraisal installed.
64
- # NOTE: This does not use the primary Gemfile at all.
65
- - name: Install Root Appraisal
66
- if: ${{ (env.ACT && !(startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby')) || (!env.ACT && (startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby')) }}
67
- run: bundle
68
-
69
- - name: "[Attempt 1] Install Root Appraisal"
70
- id: bundleAttempt1
71
- if: ${{ (env.ACT && !(startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby')) || (!env.ACT && (startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby')) }}
72
- run: bundle
73
- # Continue to the next step on failure
74
- continue-on-error: true
75
-
76
- # Effectively an automatic retry of the previous step.
77
- - name: "[Attempt 2] Install Root Appraisal"
78
- id: bundleAttempt2
79
- # If bundleAttempt1 failed, try again here; Otherwise skip.
80
- if: ${{ steps.bundleAttempt1.outcome == 'failure' && (env.ACT && !(startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby')) || (!env.ACT && (startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby')) }}
81
- run: bundle
82
-
83
- - name: "[Attempt 1] Appraisal for ${{ matrix.ruby }}@${{ matrix.appraisal }}"
84
- id: bundleAppraisalAttempt1
85
- if: ${{ (env.ACT && !(startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby')) || (!env.ACT && (startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby')) }}
86
- run: bundle exec appraisal ${{ matrix.appraisal }} bundle
87
- # Continue to the next step on failure
88
- continue-on-error: true
89
-
90
- # Effectively an automatic retry of the previous step.
91
- - name: "[Attempt 2] Appraisal for ${{ matrix.ruby }}@${{ matrix.appraisal }}"
92
- id: bundleAppraisalAttempt2
93
- # If bundleAppraisalAttempt1 failed, try again here; Otherwise skip.
94
- if: ${{ steps.bundleAppraisalAttempt1.outcome == 'failure' && (env.ACT && !(startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby')) || (!env.ACT && (startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby')) }}
95
- run: bundle exec appraisal ${{ matrix.appraisal }} bundle
96
-
97
- - name: Tests for ${{ matrix.ruby }} via ${{ matrix.exec_cmd }}
98
- if: ${{ (env.ACT && !(startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby')) || (!env.ACT && (startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby')) }}
99
- run: bundle exec appraisal ${{ matrix.appraisal }} bundle exec ${{ matrix.exec_cmd }}