firespring_dev_commands 3.0.0 → 3.0.1.pre.alpha.0

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 1f09642881cf14415ae741df17f416995ec52042a1402970751e465155d55409
4
- data.tar.gz: d20ce0d49a6e2793369a272c5950ef716c3f74cdad8a548efac2d390a2f61eb2
3
+ metadata.gz: 0d73057c14d0636888e6b17cf36ccb5218289e6bfa80f3eb5834f82ec2140280
4
+ data.tar.gz: bef017e5cb1fc0195c842bbb7ccdd3abc11fef66e6d488566de6171c3b5886eb
5
5
  SHA512:
6
- metadata.gz: 1119f8fa30997e2dd4124d2b4390bb6da5c57a960ecf3b0150092f9d06a6fb0962ffd0a0cf84e9decca65d6b6d8334c29ded5c3c28de4b42398abd6723f3e7e1
7
- data.tar.gz: 565069b5e6914d445090aa1afc34bf2ac5476e7ed0118630fd78f44a60c2447ebfa5403f2f69979a8381b3d3b133b91636c8492398357707e0eee2231cf65af8
6
+ metadata.gz: b2dfa1b72f79fa7a20293702ad63eb180f5254c4bdedc897e010c47f2658efe274ad17776d5ec9ad0a04c9bdbe9fe3653e2243f5d9e1c21853ff73866205ee1e
7
+ data.tar.gz: 908753aab7984c7e4648ad124bdfc9f21b63a69df824507a23cab6cb86a1c4ad5e13324ac3ccb12ce5747a92322d7ebdb2e0d4d92f1879c3c9267d090ba2e630
@@ -424,6 +424,22 @@ module Dev
424
424
  g.fetch('origin', prune: true)
425
425
  end
426
426
 
427
+ def commit_status(repository:, branch:, status:, organization: 'firespring', options: {})
428
+ token = ENV['GITHUB_TOKEN'].to_s.strip
429
+ raise 'GITHUB_TOKEN is required' unless token
430
+
431
+ # Set up the GitHub client
432
+ client = Octokit::Client.new(access_token: token)
433
+
434
+ # Fetch the latest commit SHA for the given branch
435
+ repo = "#{organization}/#{repository}"
436
+ ref = "heads/#{branch}"
437
+ sha = client.ref(repo, ref).object.sha
438
+
439
+ # Create the commit status
440
+ client.create_status(repo, sha, status, options)
441
+ end
442
+
427
443
  # Builds an ssh repo URL using the org and repo name given
428
444
  def ssh_repo_url(name, org)
429
445
  "git@github.com:#{org}/#{name}.git"
@@ -159,6 +159,49 @@ module Dev
159
159
  end
160
160
  end
161
161
  end
162
+
163
+ # Create the rake task for the git commit status task.
164
+ def create_commit_status_task!
165
+ # Have to set a local variable to be accessible inside of the instance_eval block
166
+ exclude = @exclude
167
+
168
+ DEV_COMMANDS_TOP_LEVEL.instance_eval do
169
+ namespace :git do
170
+ return if exclude.include?(:commit_status)
171
+
172
+ # TODO: Clean, comments and description
173
+ desc 'Add status to commit' \
174
+ "\n\tuse TODO"
175
+
176
+ task :create_commit_status do
177
+ # Key Values
178
+ repository = ENV['REPOSITORY'].to_s.strip
179
+ branch = ENV['BRANCH'].to_s.strip
180
+ status = ENV['STATUS'].to_s.strip
181
+
182
+ raise 'Repository name is required' unless repository
183
+ raise 'Branch name is required' unless branch
184
+ raise 'Status is required' unless status
185
+
186
+ # Validate status
187
+ valid_statuses = %w(error failure pending success)
188
+ raise "Invalid status: #{status}. Valid statuses are: #{valid_statuses.join(', ')}" unless valid_statuses.include?(status)
189
+
190
+ # Optional Values
191
+ context = ENV['CONTEXT'].to_s.strip
192
+ description = ENV['DESCRIPTION'].to_s.strip
193
+ target_url = ENV['TARGET_URL'].to_s.strip
194
+
195
+ options = {}
196
+ options[:context] = context unless context.empty?
197
+ options[:description] = description unless description.empty?
198
+ options[:target_url] = target_url unless target_url.empty?
199
+
200
+ Dev::Git.new.commit_status(repository:, branch:, status:, options:)
201
+ end
202
+ end
203
+ end
204
+ end
162
205
  end
163
206
  end
164
207
  end
@@ -6,6 +6,6 @@ module Dev
6
6
  # Use 'v.v.v.pre.alpha.v' for pre-release vesions
7
7
  # Use 'v.v.v.beta.v for beta versions
8
8
  # Use semantic versioning for any releases (https://semver.org/)
9
- VERSION = '3.0.0'.freeze
9
+ VERSION = '3.0.1.pre.alpha.0'.freeze
10
10
  end
11
11
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: firespring_dev_commands
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.0
4
+ version: 3.0.1.pre.alpha.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Firespring
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-05-03 00:00:00.000000000 Z
11
+ date: 2024-06-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -262,6 +262,20 @@ dependencies:
262
262
  - - "~>"
263
263
  - !ruby/object:Gem::Version
264
264
  version: 2.3.0
265
+ - !ruby/object:Gem::Dependency
266
+ name: octokit
267
+ requirement: !ruby/object:Gem::Requirement
268
+ requirements:
269
+ - - "~>"
270
+ - !ruby/object:Gem::Version
271
+ version: '8.1'
272
+ type: :runtime
273
+ prerelease: false
274
+ version_requirements: !ruby/object:Gem::Requirement
275
+ requirements:
276
+ - - "~>"
277
+ - !ruby/object:Gem::Version
278
+ version: '8.1'
265
279
  - !ruby/object:Gem::Dependency
266
280
  name: ox
267
281
  requirement: !ruby/object:Gem::Requirement
@@ -430,9 +444,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
430
444
  version: '3.1'
431
445
  required_rubygems_version: !ruby/object:Gem::Requirement
432
446
  requirements:
433
- - - ">="
447
+ - - ">"
434
448
  - !ruby/object:Gem::Version
435
- version: '0'
449
+ version: 1.3.1
436
450
  requirements: []
437
451
  rubygems_version: 3.4.10
438
452
  signing_key: