19 lines
557 B
Ruby
19 lines
557 B
Ruby
|
require 'rugged'
|
||
|
|
||
|
task default: %w[build]
|
||
|
|
||
|
task :build do
|
||
|
repo = Rugged::Repository.new('.')
|
||
|
commit = repo.head.target
|
||
|
parent = commit.parents.first
|
||
|
paths = commit.diff(parent).deltas.map { |d| d.new_file[:path] }
|
||
|
paths = paths.map { |p| Pathname.new(p).each_filename.to_a }
|
||
|
# looking for packages/[package]/...
|
||
|
packages = paths.map { |p| p[1] if p.length > 2 and p[0] == "packages" }
|
||
|
packages = packages.flatten.uniq
|
||
|
packages.each do |package|
|
||
|
puts package
|
||
|
printf `./scripts/run-docker.sh ./build-package.sh #{package}`
|
||
|
end
|
||
|
end
|