Class: Kettle::Family::Workflow

Inherits:
Object
  • Object
show all
Defined in:
lib/kettle/family/workflow.rb

Constant Summary collapse

DEFAULT_COMMANDS =
{
  "template" => "bundle exec kettle-jem install",
  "test" => "bundle exec kettle-test",
  "lint" => "bundle exec rake rubocop_gradual",
  "docs" => "bundle exec rake yard",
  "gha-sha-pins" => "bundle exec kettle-gha-sha-pins"
}.freeze
GIT_SYNC_COMMANDS =
{
  "push" => [["push", %w[git push]]],
  "pull" => [["pull", %w[git pull --rebase]]],
  "up" => [["pull", %w[git pull --rebase]], ["push", %w[git push]]]
}.freeze

Instance Method Summary collapse

Constructor Details

#initialize(command:, config:, members:, execute: false, commit: true, allow_dirty: false, publish: false, push: false, tag: false, start_step: nil, local_ci: false, continue_ci_failures: false, gha_sha_pins_upgrade: "patch", gha_sha_pins_check: false, env_overrides: {}, gem_signing_password: nil) ⇒ Workflow

Returns a new instance of Workflow.



24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# File 'lib/kettle/family/workflow.rb', line 24

def initialize(command:, config:, members:, execute: false, commit: true, allow_dirty: false, publish: false, push: false, tag: false, start_step: nil, local_ci: false, continue_ci_failures: false, gha_sha_pins_upgrade: "patch", gha_sha_pins_check: false, env_overrides: {}, gem_signing_password: nil)
  @command = command
  @config = config
  @members = members
  @execute = execute
  @commit = commit
  @allow_dirty = allow_dirty
  @publish = publish
  @push = push
  @tag = tag
  @start_step = start_step
  @local_ci = local_ci
  @continue_ci_failures = continue_ci_failures
  @gha_sha_pins_upgrade = gha_sha_pins_upgrade
  @gha_sha_pins_check = gha_sha_pins_check
  @env_overrides = env_overrides
  @gem_signing_password = gem_signing_password
end

Instance Method Details

#resultsObject



43
44
45
46
47
48
49
# File 'lib/kettle/family/workflow.rb', line 43

def results
  prompt_for_gem_signing_password if command == "release" && execute && release_signing_prompt_required?
  return branch_target_results unless config.release_target_branches.empty?
  return member_local_branch_target_results if member_local_branch_targets?

  current_branch_results(members)
end