firespring_dev_commands 3.0.0 → 3.0.1.pre.alpha.0

Sign up to get free protection for your applications and to get access to all the features.
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: