kettle-dev 1.1.32 → 1.1.33
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/.github/FUNDING.yml.no-osc.example +13 -0
- data/.github/workflows/codeql-analysis.yml +3 -3
- data/.github/workflows/current.yml +8 -8
- data/.github/workflows/current.yml.example +8 -8
- data/.github/workflows/dep-heads.yml +8 -8
- data/.github/workflows/heads.yml +8 -8
- data/.github/workflows/heads.yml.example +8 -8
- data/.github/workflows/truffle.yml +8 -8
- data/.tool-versions +1 -1
- data/Appraisal.root.gemfile +0 -2
- data/CHANGELOG.md +26 -1
- data/FUNDING.md.no-osc.example +66 -0
- data/Gemfile +1 -1
- data/Gemfile.example +1 -1
- data/README.md +1 -1
- data/README.md.example +1 -1
- data/README.md.no-osc.example +521 -0
- data/REEK +0 -2
- data/Rakefile.example +1 -1
- data/gemfiles/modular/optional.gemfile.example +4 -0
- data/lib/kettle/dev/gem_spec_reader.rb +20 -19
- data/lib/kettle/dev/tasks/template_task.rb +14 -2
- data/lib/kettle/dev/template_helpers.rb +45 -0
- data/lib/kettle/dev/version.rb +1 -1
- data/lib/kettle/dev.rb +5 -0
- data/sig/kettle/dev.rbs +1 -0
- data.tar.gz.sig +0 -0
- metadata +9 -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: 75a1e2bd3427f4cb693a7c57c69e733c6ac5e92df56aeba02ad85fcbb8eaf677
|
4
|
+
data.tar.gz: 4fda8487beb40b94941c32a18066ffc3f995c2cef351e9b289f91d6098213253
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3c80c576bbf97d1e25d21b8e4d28d3ef09dd3ca1e13912105e81d73c4682dedd83492df7eccbe10b730cc40b237f1e154709b4fe45de2450723aa129567d981c
|
7
|
+
data.tar.gz: 272a2cce9ed40731e78eb0f09a600072c0430c088a836ec6d297e67b43f6b3cde09ad5ee1c9c603c75231320e764c87ecdc915da60fcb950d22f6c22590f7708
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
@@ -0,0 +1,13 @@
|
|
1
|
+
# These are supported funding model platforms
|
2
|
+
|
3
|
+
buy_me_a_coffee: pboling
|
4
|
+
community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
|
5
|
+
github: [pboling] # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
|
6
|
+
issuehunt: pboling # Replace with a single IssueHunt username
|
7
|
+
ko_fi: pboling # Replace with a single Ko-fi username
|
8
|
+
liberapay: pboling # Replace with a single Liberapay username
|
9
|
+
open_collective: # Replace with a single Open Collective slug e.g., orgs/cloud-foundry
|
10
|
+
patreon: galtzo # Replace with a single Patreon username
|
11
|
+
polar: pboling
|
12
|
+
thanks_dev: u/gh/pboling
|
13
|
+
tidelift: rubygems/kettle-dev
|
@@ -42,7 +42,7 @@ jobs:
|
|
42
42
|
|
43
43
|
# Initializes the CodeQL tools for scanning.
|
44
44
|
- name: Initialize CodeQL
|
45
|
-
uses: github/codeql-action/init@
|
45
|
+
uses: github/codeql-action/init@v4
|
46
46
|
with:
|
47
47
|
languages: ${{ matrix.language }}
|
48
48
|
# If you wish to specify custom queries, you can do so here or in a config file.
|
@@ -53,7 +53,7 @@ jobs:
|
|
53
53
|
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
|
54
54
|
# If this step fails, then you should remove it and run the build manually (see below)
|
55
55
|
- name: Autobuild
|
56
|
-
uses: github/codeql-action/autobuild@
|
56
|
+
uses: github/codeql-action/autobuild@v4
|
57
57
|
|
58
58
|
# ℹ️ Command-line programs to run using the OS shell.
|
59
59
|
# 📚 https://git.io/JvXDl
|
@@ -67,4 +67,4 @@ jobs:
|
|
67
67
|
# make release
|
68
68
|
|
69
69
|
- name: Perform CodeQL Analysis
|
70
|
-
uses: github/codeql-action/analyze@
|
70
|
+
uses: github/codeql-action/analyze@v4
|
@@ -64,11 +64,11 @@ jobs:
|
|
64
64
|
|
65
65
|
steps:
|
66
66
|
- name: Checkout
|
67
|
-
if: ${{ !(env.ACT && (startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby')) }}
|
67
|
+
if: ${{ (env.ACT && !(startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby')) || (!env.ACT && (startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby')) }}
|
68
68
|
uses: actions/checkout@v5
|
69
69
|
|
70
70
|
- name: Setup Ruby & RubyGems
|
71
|
-
if: ${{ !(env.ACT && (startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby')) }}
|
71
|
+
if: ${{ (env.ACT && !(startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby')) || (!env.ACT && (startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby')) }}
|
72
72
|
uses: ruby/setup-ruby@v1
|
73
73
|
with:
|
74
74
|
ruby-version: ${{ matrix.ruby }}
|
@@ -80,12 +80,12 @@ jobs:
|
|
80
80
|
# We need to do this first to get appraisal installed.
|
81
81
|
# NOTE: This does not use the primary Gemfile at all.
|
82
82
|
- name: Install Root Appraisal
|
83
|
-
if: ${{ !(env.ACT && (startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby')) }}
|
83
|
+
if: ${{ (env.ACT && !(startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby')) || (!env.ACT && (startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby')) }}
|
84
84
|
run: bundle
|
85
85
|
|
86
86
|
- name: "[Attempt 1] Install Root Appraisal"
|
87
87
|
id: bundleAttempt1
|
88
|
-
if: ${{ !(env.ACT && (startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby')) }}
|
88
|
+
if: ${{ (env.ACT && !(startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby')) || (!env.ACT && (startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby')) }}
|
89
89
|
run: bundle
|
90
90
|
# Continue to the next step on failure
|
91
91
|
continue-on-error: true
|
@@ -94,12 +94,12 @@ jobs:
|
|
94
94
|
- name: "[Attempt 2] Install Root Appraisal"
|
95
95
|
id: bundleAttempt2
|
96
96
|
# If bundleAttempt1 failed, try again here; Otherwise skip.
|
97
|
-
if: ${{ steps.bundleAttempt1.outcome == 'failure' && !(env.ACT && (startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby')) }}
|
97
|
+
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')) }}
|
98
98
|
run: bundle
|
99
99
|
|
100
100
|
- name: "[Attempt 1] Appraisal for ${{ matrix.ruby }}@${{ matrix.appraisal }}"
|
101
101
|
id: bundleAppraisalAttempt1
|
102
|
-
if: ${{ !(env.ACT && (startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby')) }}
|
102
|
+
if: ${{ (env.ACT && !(startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby')) || (!env.ACT && (startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby')) }}
|
103
103
|
run: bundle exec appraisal ${{ matrix.appraisal }} bundle
|
104
104
|
# Continue to the next step on failure
|
105
105
|
continue-on-error: true
|
@@ -108,9 +108,9 @@ jobs:
|
|
108
108
|
- name: "[Attempt 2] Appraisal for ${{ matrix.ruby }}@${{ matrix.appraisal }}"
|
109
109
|
id: bundleAppraisalAttempt2
|
110
110
|
# If bundleAppraisalAttempt1 failed, try again here; Otherwise skip.
|
111
|
-
if: ${{ steps.bundleAppraisalAttempt1.outcome == 'failure' && !(env.ACT && (startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby')) }}
|
111
|
+
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')) }}
|
112
112
|
run: bundle exec appraisal ${{ matrix.appraisal }} bundle
|
113
113
|
|
114
114
|
- name: Tests for ${{ matrix.ruby }} via ${{ matrix.exec_cmd }}
|
115
|
-
if: ${{ !(env.ACT && (startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby')) }}
|
115
|
+
if: ${{ (env.ACT && !(startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby')) || (!env.ACT && (startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby')) }}
|
116
116
|
run: bundle exec appraisal ${{ matrix.appraisal }} bundle exec ${{ matrix.exec_cmd }}
|
@@ -63,11 +63,11 @@ jobs:
|
|
63
63
|
|
64
64
|
steps:
|
65
65
|
- name: Checkout
|
66
|
-
if: ${{ !(env.ACT && (startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby')) }}
|
66
|
+
if: ${{ (env.ACT && !(startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby')) || (!env.ACT && (startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby')) }}
|
67
67
|
uses: actions/checkout@v5
|
68
68
|
|
69
69
|
- name: Setup Ruby & RubyGems
|
70
|
-
if: ${{ !(env.ACT && (startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby')) }}
|
70
|
+
if: ${{ (env.ACT && !(startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby')) || (!env.ACT && (startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby')) }}
|
71
71
|
uses: ruby/setup-ruby@v1
|
72
72
|
with:
|
73
73
|
ruby-version: ${{ matrix.ruby }}
|
@@ -79,12 +79,12 @@ jobs:
|
|
79
79
|
# We need to do this first to get appraisal installed.
|
80
80
|
# NOTE: This does not use the primary Gemfile at all.
|
81
81
|
- name: Install Root Appraisal
|
82
|
-
if: ${{ !(env.ACT && (startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby')) }}
|
82
|
+
if: ${{ (env.ACT && !(startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby')) || (!env.ACT && (startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby')) }}
|
83
83
|
run: bundle
|
84
84
|
|
85
85
|
- name: "[Attempt 1] Install Root Appraisal"
|
86
86
|
id: bundleAttempt1
|
87
|
-
if: ${{ !(env.ACT && (startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby')) }}
|
87
|
+
if: ${{ (env.ACT && !(startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby')) || (!env.ACT && (startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby')) }}
|
88
88
|
run: bundle
|
89
89
|
# Continue to the next step on failure
|
90
90
|
continue-on-error: true
|
@@ -93,12 +93,12 @@ jobs:
|
|
93
93
|
- name: "[Attempt 2] Install Root Appraisal"
|
94
94
|
id: bundleAttempt2
|
95
95
|
# If bundleAttempt1 failed, try again here; Otherwise skip.
|
96
|
-
if: ${{ steps.bundleAttempt1.outcome == 'failure' && !(env.ACT && (startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby')) }}
|
96
|
+
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')) }}
|
97
97
|
run: bundle
|
98
98
|
|
99
99
|
- name: "[Attempt 1] Appraisal for ${{ matrix.ruby }}@${{ matrix.appraisal }}"
|
100
100
|
id: bundleAppraisalAttempt1
|
101
|
-
if: ${{ !(env.ACT && (startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby')) }}
|
101
|
+
if: ${{ (env.ACT && !(startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby')) || (!env.ACT && (startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby')) }}
|
102
102
|
run: bundle exec appraisal ${{ matrix.appraisal }} bundle
|
103
103
|
# Continue to the next step on failure
|
104
104
|
continue-on-error: true
|
@@ -107,9 +107,9 @@ jobs:
|
|
107
107
|
- name: "[Attempt 2] Appraisal for ${{ matrix.ruby }}@${{ matrix.appraisal }}"
|
108
108
|
id: bundleAppraisalAttempt2
|
109
109
|
# If bundleAppraisalAttempt1 failed, try again here; Otherwise skip.
|
110
|
-
if: ${{ steps.bundleAppraisalAttempt1.outcome == 'failure' && !(env.ACT && (startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby')) }}
|
110
|
+
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')) }}
|
111
111
|
run: bundle exec appraisal ${{ matrix.appraisal }} bundle
|
112
112
|
|
113
113
|
- name: Tests for ${{ matrix.ruby }} via ${{ matrix.exec_cmd }}
|
114
|
-
if: ${{ !(env.ACT && (startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby')) }}
|
114
|
+
if: ${{ (env.ACT && !(startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby')) || (!env.ACT && (startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby')) }}
|
115
115
|
run: bundle exec appraisal ${{ matrix.appraisal }} bundle exec ${{ matrix.exec_cmd }}
|
@@ -67,11 +67,11 @@ jobs:
|
|
67
67
|
|
68
68
|
steps:
|
69
69
|
- name: Checkout
|
70
|
-
if: ${{ !(env.ACT && (startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby')) }}
|
70
|
+
if: ${{ (env.ACT && !(startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby')) || (!env.ACT && (startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby')) }}
|
71
71
|
uses: actions/checkout@v5
|
72
72
|
|
73
73
|
- name: Setup Ruby & RubyGems
|
74
|
-
if: ${{ !(env.ACT && (startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby')) }}
|
74
|
+
if: ${{ (env.ACT && !(startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby')) || (!env.ACT && (startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby')) }}
|
75
75
|
uses: ruby/setup-ruby@v1
|
76
76
|
with:
|
77
77
|
ruby-version: ${{ matrix.ruby }}
|
@@ -83,12 +83,12 @@ jobs:
|
|
83
83
|
# We need to do this first to get appraisal installed.
|
84
84
|
# NOTE: This does not use the primary Gemfile at all.
|
85
85
|
- name: Install Root Appraisal
|
86
|
-
if: ${{ !(env.ACT && (startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby')) }}
|
86
|
+
if: ${{ (env.ACT && !(startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby')) || (!env.ACT && (startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby')) }}
|
87
87
|
run: bundle
|
88
88
|
|
89
89
|
- name: "[Attempt 1] Install Root Appraisal"
|
90
90
|
id: bundleAttempt1
|
91
|
-
if: ${{ !(env.ACT && (startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby')) }}
|
91
|
+
if: ${{ (env.ACT && !(startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby')) || (!env.ACT && (startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby')) }}
|
92
92
|
run: bundle
|
93
93
|
# Continue to the next step on failure
|
94
94
|
continue-on-error: true
|
@@ -97,12 +97,12 @@ jobs:
|
|
97
97
|
- name: "[Attempt 2] Install Root Appraisal"
|
98
98
|
id: bundleAttempt2
|
99
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')) }}
|
100
|
+
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')) }}
|
101
101
|
run: bundle
|
102
102
|
|
103
103
|
- name: "[Attempt 1] Appraisal for ${{ matrix.ruby }}@${{ matrix.appraisal }}"
|
104
104
|
id: bundleAppraisalAttempt1
|
105
|
-
if: ${{ !(env.ACT && (startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby')) }}
|
105
|
+
if: ${{ (env.ACT && !(startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby')) || (!env.ACT && (startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby')) }}
|
106
106
|
run: bundle exec appraisal ${{ matrix.appraisal }} bundle
|
107
107
|
# Continue to the next step on failure
|
108
108
|
continue-on-error: true
|
@@ -111,9 +111,9 @@ jobs:
|
|
111
111
|
- name: "[Attempt 2] Appraisal for ${{ matrix.ruby }}@${{ matrix.appraisal }}"
|
112
112
|
id: bundleAppraisalAttempt2
|
113
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')) }}
|
114
|
+
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')) }}
|
115
115
|
run: bundle exec appraisal ${{ matrix.appraisal }} bundle
|
116
116
|
|
117
117
|
- name: Tests for ${{ matrix.ruby }} via ${{ matrix.exec_cmd }}
|
118
|
-
if: ${{ !(env.ACT && (startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby')) }}
|
118
|
+
if: ${{ (env.ACT && !(startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby')) || (!env.ACT && (startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby')) }}
|
119
119
|
run: bundle exec appraisal ${{ matrix.appraisal }} bundle exec ${{ matrix.exec_cmd }}
|
data/.github/workflows/heads.yml
CHANGED
@@ -65,11 +65,11 @@ jobs:
|
|
65
65
|
|
66
66
|
steps:
|
67
67
|
- name: Checkout
|
68
|
-
if: ${{ !(env.ACT && (startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby')) }}
|
68
|
+
if: ${{ (env.ACT && !(startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby')) || (!env.ACT && (startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby')) }}
|
69
69
|
uses: actions/checkout@v5
|
70
70
|
|
71
71
|
- name: Setup Ruby & RubyGems
|
72
|
-
if: ${{ !(env.ACT && (startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby')) }}
|
72
|
+
if: ${{ (env.ACT && !(startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby')) || (!env.ACT && (startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby')) }}
|
73
73
|
uses: ruby/setup-ruby@v1
|
74
74
|
with:
|
75
75
|
ruby-version: ${{ matrix.ruby }}
|
@@ -81,12 +81,12 @@ jobs:
|
|
81
81
|
# We need to do this first to get appraisal installed.
|
82
82
|
# NOTE: This does not use the primary Gemfile at all.
|
83
83
|
- name: Install Root Appraisal
|
84
|
-
if: ${{ !(env.ACT && (startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby')) }}
|
84
|
+
if: ${{ (env.ACT && !(startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby')) || (!env.ACT && (startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby')) }}
|
85
85
|
run: bundle
|
86
86
|
|
87
87
|
- name: "[Attempt 1] Install Root Appraisal"
|
88
88
|
id: bundleAttempt1
|
89
|
-
if: ${{ !(env.ACT && (startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby')) }}
|
89
|
+
if: ${{ (env.ACT && !(startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby')) || (!env.ACT && (startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby')) }}
|
90
90
|
run: bundle
|
91
91
|
# Continue to the next step on failure
|
92
92
|
continue-on-error: true
|
@@ -95,12 +95,12 @@ jobs:
|
|
95
95
|
- name: "[Attempt 2] Install Root Appraisal"
|
96
96
|
id: bundleAttempt2
|
97
97
|
# If bundleAttempt1 failed, try again here; Otherwise skip.
|
98
|
-
if: ${{ steps.bundleAttempt1.outcome == 'failure' && !(env.ACT && (startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby')) }}
|
98
|
+
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')) }}
|
99
99
|
run: bundle
|
100
100
|
|
101
101
|
- name: "[Attempt 1] Appraisal for ${{ matrix.ruby }}@${{ matrix.appraisal }}"
|
102
102
|
id: bundleAppraisalAttempt1
|
103
|
-
if: ${{ !(env.ACT && (startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby')) }}
|
103
|
+
if: ${{ (env.ACT && !(startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby')) || (!env.ACT && (startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby')) }}
|
104
104
|
run: bundle exec appraisal ${{ matrix.appraisal }} bundle
|
105
105
|
# Continue to the next step on failure
|
106
106
|
continue-on-error: true
|
@@ -109,9 +109,9 @@ jobs:
|
|
109
109
|
- name: "[Attempt 2] Appraisal for ${{ matrix.ruby }}@${{ matrix.appraisal }}"
|
110
110
|
id: bundleAppraisalAttempt2
|
111
111
|
# If bundleAppraisalAttempt1 failed, try again here; Otherwise skip.
|
112
|
-
if: ${{ steps.bundleAppraisalAttempt1.outcome == 'failure' && !(env.ACT && (startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby')) }}
|
112
|
+
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')) }}
|
113
113
|
run: bundle exec appraisal ${{ matrix.appraisal }} bundle
|
114
114
|
|
115
115
|
- name: Tests for ${{ matrix.ruby }} via ${{ matrix.exec_cmd }}
|
116
|
-
if: ${{ !(env.ACT && (startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby')) }}
|
116
|
+
if: ${{ (env.ACT && !(startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby')) || (!env.ACT && (startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby')) }}
|
117
117
|
run: bundle exec appraisal ${{ matrix.appraisal }} bundle exec ${{ matrix.exec_cmd }}
|
@@ -64,11 +64,11 @@ jobs:
|
|
64
64
|
|
65
65
|
steps:
|
66
66
|
- name: Checkout
|
67
|
-
if: ${{ !(env.ACT && (startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby')) }}
|
67
|
+
if: ${{ (env.ACT && !(startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby')) || (!env.ACT && (startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby')) }}
|
68
68
|
uses: actions/checkout@v5
|
69
69
|
|
70
70
|
- name: Setup Ruby & RubyGems
|
71
|
-
if: ${{ !(env.ACT && (startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby')) }}
|
71
|
+
if: ${{ (env.ACT && !(startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby')) || (!env.ACT && (startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby')) }}
|
72
72
|
uses: ruby/setup-ruby@v1
|
73
73
|
with:
|
74
74
|
ruby-version: ${{ matrix.ruby }}
|
@@ -80,12 +80,12 @@ jobs:
|
|
80
80
|
# We need to do this first to get appraisal installed.
|
81
81
|
# NOTE: This does not use the primary Gemfile at all.
|
82
82
|
- name: Install Root Appraisal
|
83
|
-
if: ${{ !(env.ACT && (startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby')) }}
|
83
|
+
if: ${{ (env.ACT && !(startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby')) || (!env.ACT && (startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby')) }}
|
84
84
|
run: bundle
|
85
85
|
|
86
86
|
- name: "[Attempt 1] Install Root Appraisal"
|
87
87
|
id: bundleAttempt1
|
88
|
-
if: ${{ !(env.ACT && (startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby')) }}
|
88
|
+
if: ${{ (env.ACT && !(startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby')) || (!env.ACT && (startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby')) }}
|
89
89
|
run: bundle
|
90
90
|
# Continue to the next step on failure
|
91
91
|
continue-on-error: true
|
@@ -94,12 +94,12 @@ jobs:
|
|
94
94
|
- name: "[Attempt 2] Install Root Appraisal"
|
95
95
|
id: bundleAttempt2
|
96
96
|
# If bundleAttempt1 failed, try again here; Otherwise skip.
|
97
|
-
if: ${{ steps.bundleAttempt1.outcome == 'failure' && !(env.ACT && (startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby')) }}
|
97
|
+
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')) }}
|
98
98
|
run: bundle
|
99
99
|
|
100
100
|
- name: "[Attempt 1] Appraisal for ${{ matrix.ruby }}@${{ matrix.appraisal }}"
|
101
101
|
id: bundleAppraisalAttempt1
|
102
|
-
if: ${{ !(env.ACT && (startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby')) }}
|
102
|
+
if: ${{ (env.ACT && !(startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby')) || (!env.ACT && (startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby')) }}
|
103
103
|
run: bundle exec appraisal ${{ matrix.appraisal }} bundle
|
104
104
|
# Continue to the next step on failure
|
105
105
|
continue-on-error: true
|
@@ -108,9 +108,9 @@ jobs:
|
|
108
108
|
- name: "[Attempt 2] Appraisal for ${{ matrix.ruby }}@${{ matrix.appraisal }}"
|
109
109
|
id: bundleAppraisalAttempt2
|
110
110
|
# If bundleAppraisalAttempt1 failed, try again here; Otherwise skip.
|
111
|
-
if: ${{ steps.bundleAppraisalAttempt1.outcome == 'failure' && !(env.ACT && (startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby')) }}
|
111
|
+
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')) }}
|
112
112
|
run: bundle exec appraisal ${{ matrix.appraisal }} bundle
|
113
113
|
|
114
114
|
- name: Tests for ${{ matrix.ruby }} via ${{ matrix.exec_cmd }}
|
115
|
-
if: ${{ !(env.ACT && (startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby')) }}
|
115
|
+
if: ${{ (env.ACT && !(startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby')) || (!env.ACT && (startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby')) }}
|
116
116
|
run: bundle exec appraisal ${{ matrix.appraisal }} bundle exec ${{ matrix.exec_cmd }}
|
@@ -47,11 +47,11 @@ jobs:
|
|
47
47
|
|
48
48
|
steps:
|
49
49
|
- name: Checkout
|
50
|
-
if: ${{ !(env.ACT && (startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby')) }}
|
50
|
+
if: ${{ (env.ACT && !(startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby')) || (!env.ACT && (startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby')) }}
|
51
51
|
uses: actions/checkout@v5
|
52
52
|
|
53
53
|
- name: Setup Ruby & RubyGems
|
54
|
-
if: ${{ !(env.ACT && (startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby')) }}
|
54
|
+
if: ${{ (env.ACT && !(startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby')) || (!env.ACT && (startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby')) }}
|
55
55
|
uses: ruby/setup-ruby@v1
|
56
56
|
with:
|
57
57
|
ruby-version: ${{ matrix.ruby }}
|
@@ -63,12 +63,12 @@ jobs:
|
|
63
63
|
# We need to do this first to get appraisal installed.
|
64
64
|
# NOTE: This does not use the primary Gemfile at all.
|
65
65
|
- name: Install Root Appraisal
|
66
|
-
if: ${{ !(env.ACT && (startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby')) }}
|
66
|
+
if: ${{ (env.ACT && !(startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby')) || (!env.ACT && (startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby')) }}
|
67
67
|
run: bundle
|
68
68
|
|
69
69
|
- name: "[Attempt 1] Install Root Appraisal"
|
70
70
|
id: bundleAttempt1
|
71
|
-
if: ${{ !(env.ACT && (startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby')) }}
|
71
|
+
if: ${{ (env.ACT && !(startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby')) || (!env.ACT && (startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby')) }}
|
72
72
|
run: bundle
|
73
73
|
# Continue to the next step on failure
|
74
74
|
continue-on-error: true
|
@@ -77,12 +77,12 @@ jobs:
|
|
77
77
|
- name: "[Attempt 2] Install Root Appraisal"
|
78
78
|
id: bundleAttempt2
|
79
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')) }}
|
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
81
|
run: bundle
|
82
82
|
|
83
83
|
- name: "[Attempt 1] Appraisal for ${{ matrix.ruby }}@${{ matrix.appraisal }}"
|
84
84
|
id: bundleAppraisalAttempt1
|
85
|
-
if: ${{ !(env.ACT && (startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby')) }}
|
85
|
+
if: ${{ (env.ACT && !(startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby')) || (!env.ACT && (startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby')) }}
|
86
86
|
run: bundle exec appraisal ${{ matrix.appraisal }} bundle
|
87
87
|
# Continue to the next step on failure
|
88
88
|
continue-on-error: true
|
@@ -91,9 +91,9 @@ jobs:
|
|
91
91
|
- name: "[Attempt 2] Appraisal for ${{ matrix.ruby }}@${{ matrix.appraisal }}"
|
92
92
|
id: bundleAppraisalAttempt2
|
93
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')) }}
|
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
95
|
run: bundle exec appraisal ${{ matrix.appraisal }} bundle
|
96
96
|
|
97
97
|
- name: Tests for ${{ matrix.ruby }} via ${{ matrix.exec_cmd }}
|
98
|
-
if: ${{ !(env.ACT && (startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby')) }}
|
98
|
+
if: ${{ (env.ACT && !(startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby')) || (!env.ACT && (startsWith(matrix.ruby, 'jruby')) || startsWith(matrix.ruby, 'truffleruby')) }}
|
99
99
|
run: bundle exec appraisal ${{ matrix.appraisal }} bundle exec ${{ matrix.exec_cmd }}
|
data/.tool-versions
CHANGED
@@ -1 +1 @@
|
|
1
|
-
ruby 3.4.
|
1
|
+
ruby 3.4.7
|
data/Appraisal.root.gemfile
CHANGED
data/CHANGELOG.md
CHANGED
@@ -30,6 +30,29 @@ Please file a bug if you notice a violation of semantic versioning.
|
|
30
30
|
|
31
31
|
### Security
|
32
32
|
|
33
|
+
## [1.1.33] - 2025-10-13
|
34
|
+
|
35
|
+
- TAG: [v1.1.33][1.1.33t]
|
36
|
+
- COVERAGE: 20.83% -- 245/1176 lines in 9 files
|
37
|
+
- BRANCH COVERAGE: 7.31% -- 43/588 branches in 9 files
|
38
|
+
- 79.57% documented
|
39
|
+
|
40
|
+
### Added
|
41
|
+
|
42
|
+
- handling for no open source collective, specified by:
|
43
|
+
- `ENV["FUNDING_ORG"]` set to "false", or
|
44
|
+
- `ENV["OPENCOLLECTIVE_HANDLE"]` set to "false"
|
45
|
+
- added codeberg gem source
|
46
|
+
|
47
|
+
### Changed
|
48
|
+
|
49
|
+
- removed redundant github gem source
|
50
|
+
|
51
|
+
### Fixed
|
52
|
+
|
53
|
+
- added addressable to optional modular gemfile template, as it is required for kettle-pre-release
|
54
|
+
- handling of env.ACT conditions in workflows
|
55
|
+
|
33
56
|
## [1.1.32] - 2025-10-07
|
34
57
|
|
35
58
|
- TAG: [v1.1.32][1.1.32t]
|
@@ -1058,7 +1081,9 @@ Please file a bug if you notice a violation of semantic versioning.
|
|
1058
1081
|
- Selecting will run the selected workflow via `act`
|
1059
1082
|
- This may move to its own gem in the future.
|
1060
1083
|
|
1061
|
-
[Unreleased]: https://github.com/kettle-rb/kettle-dev/compare/v1.1.
|
1084
|
+
[Unreleased]: https://github.com/kettle-rb/kettle-dev/compare/v1.1.33...HEAD
|
1085
|
+
[1.1.33]: https://github.com/kettle-rb/kettle-dev/compare/v1.1.32...v1.1.33
|
1086
|
+
[1.1.33t]: https://github.com/kettle-rb/kettle-dev/releases/tag/v1.1.33
|
1062
1087
|
[1.1.32]: https://github.com/kettle-rb/kettle-dev/compare/v1.1.31...v1.1.32
|
1063
1088
|
[1.1.32t]: https://github.com/kettle-rb/kettle-dev/releases/tag/v1.1.32
|
1064
1089
|
[1.1.31]: https://github.com/kettle-rb/kettle-dev/compare/v1.1.30...v1.1.31
|
@@ -0,0 +1,66 @@
|
|
1
|
+
<!-- RELEASE-NOTES-FOOTER-START -->
|
2
|
+
|
3
|
+
Official Discord 👉️ [![Live Chat on Discord][✉️discord-invite-img]][✉️discord-invite]
|
4
|
+
|
5
|
+
Many paths lead to being a sponsor or a backer of this project. Are you on such a path?
|
6
|
+
|
7
|
+
[![Sponsor Me on Github][🖇sponsor-img]][🖇sponsor] [![Liberapay Goal Progress][⛳liberapay-img]][⛳liberapay] [![Donate on PayPal][🖇paypal-img]][🖇paypal]
|
8
|
+
|
9
|
+
[![Buy me a coffee][🖇buyme-small-img]][🖇buyme] [![Donate on Polar][🖇polar-img]][🖇polar] [![Donate to my FLOSS or refugee efforts at ko-fi.com][🖇kofi-img]][🖇kofi] [![Donate to my FLOSS or refugee efforts using Patreon][🖇patreon-img]][🖇patreon]
|
10
|
+
|
11
|
+
[⛳liberapay-img]: https://img.shields.io/liberapay/goal/pboling.svg?logo=liberapay&color=a51611&style=flat
|
12
|
+
[⛳liberapay]: https://liberapay.com/pboling/donate
|
13
|
+
[🖇sponsor-img]: https://img.shields.io/badge/Sponsor_Me!-pboling.svg?style=social&logo=github
|
14
|
+
[🖇sponsor]: https://github.com/sponsors/pboling
|
15
|
+
[🖇polar-img]: https://img.shields.io/badge/polar-donate-a51611.svg?style=flat
|
16
|
+
[🖇polar]: https://polar.sh/pboling
|
17
|
+
[🖇kofi-img]: https://img.shields.io/badge/ko--fi-%E2%9C%93-a51611.svg?style=flat
|
18
|
+
[🖇kofi]: https://ko-fi.com/O5O86SNP4
|
19
|
+
[🖇patreon-img]: https://img.shields.io/badge/patreon-donate-a51611.svg?style=flat
|
20
|
+
[🖇patreon]: https://patreon.com/galtzo
|
21
|
+
[🖇buyme-small-img]: https://img.shields.io/badge/buy_me_a_coffee-%E2%9C%93-a51611.svg?style=flat
|
22
|
+
[🖇buyme]: https://www.buymeacoffee.com/pboling
|
23
|
+
[🖇paypal-img]: https://img.shields.io/badge/donate-paypal-a51611.svg?style=flat&logo=paypal
|
24
|
+
[🖇paypal]: https://www.paypal.com/paypalme/peterboling
|
25
|
+
[✉️discord-invite]: https://discord.gg/3qme4XHNKN
|
26
|
+
[✉️discord-invite-img]: https://img.shields.io/discord/1373797679469170758?style=flat
|
27
|
+
|
28
|
+
<!-- RELEASE-NOTES-FOOTER-END -->
|
29
|
+
|
30
|
+
# 🤑 Request for Help
|
31
|
+
|
32
|
+
Maintainers have teeth and need to pay their dentists.
|
33
|
+
After getting laid off in an RIF in March and filled with many dozens of rejections,
|
34
|
+
I'm now spending ~60+ hours a week building open source tools.
|
35
|
+
I'm hoping to be able to pay for my kids' health insurance this month,
|
36
|
+
so if you value the work I am doing, I need your support.
|
37
|
+
Please consider sponsoring me or the project.
|
38
|
+
|
39
|
+
To join the community or get help 👇️ Join the Discord.
|
40
|
+
|
41
|
+
[![Live Chat on Discord][✉️discord-invite-img-ftb]][✉️discord-invite]
|
42
|
+
|
43
|
+
To say "thanks for maintaining such a great tool" ☝️ Join the Discord or 👇️ send money.
|
44
|
+
|
45
|
+
[![Sponsor me on GitHub Sponsors][🖇sponsor-bottom-img]][🖇sponsor] 💌 [![Sponsor me on Liberapay][⛳liberapay-bottom-img]][⛳liberapay-img] 💌 [![Donate on PayPal][🖇paypal-bottom-img]][🖇paypal-img]
|
46
|
+
|
47
|
+
# Another Way to Support Open Source Software
|
48
|
+
|
49
|
+
> How wonderful it is that nobody need wait a single moment before starting to improve the world.<br/>
|
50
|
+
>—Anne Frank
|
51
|
+
|
52
|
+
I’m driven by a passion to foster a thriving open-source community – a space where people can tackle complex problems, no matter how small. Revitalizing libraries that have fallen into disrepair, and building new libraries focused on solving real-world challenges, are my passions — totaling 79 hours of FLOSS coding over just the past seven days, a pretty regular week for me. I was recently affected by layoffs, and the tech jobs market is unwelcoming. I’m reaching out here because your support would significantly aid my efforts to provide for my family, and my farm (11 🐔 chickens, 2 🐶 dogs, 3 🐰 rabbits, 8 🐈 cats).
|
53
|
+
|
54
|
+
If you work at a company that uses my work, please encourage them to support me as a corporate sponsor. My work on gems you use might show up in `bundle fund`.
|
55
|
+
|
56
|
+
I’m developing a new library, [floss_funding][🖇floss-funding-gem], designed to empower open-source developers like myself to get paid for the work we do, in a sustainable way. Please give it a look.
|
57
|
+
|
58
|
+
**[Floss-Funding.dev][🖇floss-funding.dev]: 👉️ No network calls. 👉️ No tracking. 👉️ No oversight. 👉️ Minimal crypto hashing. 💡 Easily disabled nags**
|
59
|
+
|
60
|
+
[⛳liberapay-bottom-img]: https://img.shields.io/liberapay/goal/pboling.svg?style=for-the-badge&logo=liberapay&color=a51611
|
61
|
+
[🖇sponsor-bottom-img]: https://img.shields.io/badge/Sponsor_Me!-pboling-blue?style=for-the-badge&logo=github
|
62
|
+
[🖇buyme-img]: https://img.buymeacoffee.com/button-api/?text=Buy%20me%20a%20latte&emoji=&slug=pboling&button_colour=FFDD00&font_colour=000000&font_family=Cookie&outline_colour=000000&coffee_colour=ffffff
|
63
|
+
[🖇paypal-bottom-img]: https://img.shields.io/badge/donate-paypal-a51611.svg?style=for-the-badge&logo=paypal&color=0A0A0A
|
64
|
+
[🖇floss-funding.dev]: https://floss-funding.dev
|
65
|
+
[🖇floss-funding-gem]: https://github.com/galtzo-floss/floss_funding
|
66
|
+
[✉️discord-invite-img-ftb]: https://img.shields.io/discord/1373797679469170758?style=for-the-badge
|
data/Gemfile
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
source "https://gem.coop"
|
4
4
|
|
5
|
-
git_source(:
|
5
|
+
git_source(:codeberg) { |repo_name| "https://codeberg.org/#{repo_name}" }
|
6
6
|
git_source(:gitlab) { |repo_name| "https://gitlab.com/#{repo_name}" }
|
7
7
|
|
8
8
|
#### IMPORTANT #######################################################
|
data/Gemfile.example
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
source "https://gem.coop"
|
4
4
|
|
5
|
-
git_source(:
|
5
|
+
git_source(:codeberg) { |repo_name| "https://codeberg.org/#{repo_name}" }
|
6
6
|
git_source(:gitlab) { |repo_name| "https://gitlab.com/#{repo_name}" }
|
7
7
|
|
8
8
|
#### IMPORTANT #######################################################
|
data/README.md
CHANGED
@@ -939,7 +939,7 @@ Thanks for RTFM. ☺️
|
|
939
939
|
[📌gitmoji]:https://gitmoji.dev
|
940
940
|
[📌gitmoji-img]:https://img.shields.io/badge/gitmoji_commits-%20%F0%9F%98%9C%20%F0%9F%98%8D-34495e.svg?style=flat-square
|
941
941
|
[🧮kloc]: https://www.youtube.com/watch?v=dQw4w9WgXcQ
|
942
|
-
[🧮kloc-img]: https://img.shields.io/badge/KLOC-
|
942
|
+
[🧮kloc-img]: https://img.shields.io/badge/KLOC-1.176-FFDD67.svg?style=for-the-badge&logo=YouTube&logoColor=blue
|
943
943
|
[🔐security]: SECURITY.md
|
944
944
|
[🔐security-img]: https://img.shields.io/badge/security-policy-259D6C.svg?style=flat
|
945
945
|
[📄copyright-notice-explainer]: https://opensource.stackexchange.com/questions/5778/why-do-licenses-such-as-the-mit-license-specify-a-single-year
|
data/README.md.example
CHANGED
@@ -533,7 +533,7 @@ Thanks for RTFM. ☺️
|
|
533
533
|
[📌gitmoji]:https://gitmoji.dev
|
534
534
|
[📌gitmoji-img]:https://img.shields.io/badge/gitmoji_commits-%20%F0%9F%98%9C%20%F0%9F%98%8D-34495e.svg?style=flat-square
|
535
535
|
[🧮kloc]: https://www.youtube.com/watch?v=dQw4w9WgXcQ
|
536
|
-
[🧮kloc-img]: https://img.shields.io/badge/KLOC-
|
536
|
+
[🧮kloc-img]: https://img.shields.io/badge/KLOC-1.176-FFDD67.svg?style=for-the-badge&logo=YouTube&logoColor=blue
|
537
537
|
[🔐security]: SECURITY.md
|
538
538
|
[🔐security-img]: https://img.shields.io/badge/security-policy-259D6C.svg?style=flat
|
539
539
|
[📄copyright-notice-explainer]: https://opensource.stackexchange.com/questions/5778/why-do-licenses-such-as-the-mit-license-specify-a-single-year
|