Class: Ace::Test::EndToEndRunner::Molecules::AffectedDetector

Inherits:
Object
  • Object
show all
Defined in:
lib/ace/test/end_to_end_runner/molecules/affected_detector.rb

Overview

Detects packages affected by recent changes

Analyzes git diff to determine which packages have changed since the last commit, allowing selective test execution.

Constant Summary collapse

DEFAULT_REF =

Default git reference to compare against

"HEAD~1"

Instance Method Summary collapse

Instance Method Details

#detect(base_dir: Dir.pwd, ref: DEFAULT_REF) ⇒ Array<String>

Detect packages that have changed

Parameters:

  • base_dir (String) (defaults to: Dir.pwd)

    Base directory for git operations

  • ref (String) (defaults to: DEFAULT_REF)

    Git reference to compare against (default: HEAD~1)

Returns:

  • (Array<String>)

    List of affected package names



23
24
25
26
27
28
29
30
31
# File 'lib/ace/test/end_to_end_runner/molecules/affected_detector.rb', line 23

def detect(base_dir: Dir.pwd, ref: DEFAULT_REF)
  diff_files = get_changed_files(base_dir, ref)
  return [] if diff_files.empty?

  diff_files.map { |file| extract_package(file, base_dir) }
    .compact
    .uniq
    .sort
end