#!/usr/bin/env ruby # frozen_string_literal: true require 'undercover' module Undercover class Changeset # Rugged merge_base complains when graft/shallow # (https://github.com/libgit2/rugged/issues/846) # # So we assume we provide the merge-base ourself. Modified from # https://github.com/grodowski/undercover/blob/32e62f66682ee566032b5970437ed2934ef29701/lib/undercover/changeset.rb#L74-L78 def compare_base_obj return unless compare_base repo.lookup(compare_base.to_s) end end end compare_base = ARGV[0] compare_base ||= IO.popen(%w(git merge-base origin/master HEAD)) { |p| p.read.chomp } coverage_file_path = 'coverage/lcov/gitlab.lcov' result = if File.exist?(coverage_file_path) Undercover::CLI.run(%W(-c #{compare_base})) else warn "#{coverage_file_path} doesn't exist" 0 end exit result