Sha256: d3a02feb0705db6d0aa61d76454d2f50258bb5251cd7bbc214cdcf410916ca7b

Contents?: true

Size: 938 Bytes

Versions: 26

Compression:

Stored size: 938 Bytes

Contents

# frozen_string_literal: true

require 'table_print'

module GitlabQuality
  module TestTooling
    module FailedJobsTable
      class << self
        # Create table with formatted list of failed jobs
        #
        # @param [Array<Gitlab::ObjectifiedHash>] jobs
        # @return [String]
        def create(jobs:)
          "```\n#{TablePrint::Printer.table_print(collect_results(jobs))}\n```\n"
        end

        private

        # Format list of failed jobs
        #
        # @param [Array<Gitlab::ObjectifiedHash>] jobs
        # @return [Array]
        def collect_results(jobs)
          jobs.sort_by(&:stage)
            .reject { |job| job.name.downcase.include?("quarantine") }
            .map do |job|
              {
                "Job" => job.name,
                "Stage" => job.stage,
                "Failure Reason" => job.failure_reason
              }
            end
        end
      end
    end
  end
end

Version data entries

26 entries across 26 versions & 1 rubygems

Version Path
gitlab_quality-test_tooling-2.6.0 lib/gitlab_quality/test_tooling/failed_jobs_table.rb
gitlab_quality-test_tooling-2.5.0 lib/gitlab_quality/test_tooling/failed_jobs_table.rb
gitlab_quality-test_tooling-2.4.0 lib/gitlab_quality/test_tooling/failed_jobs_table.rb
gitlab_quality-test_tooling-2.3.0 lib/gitlab_quality/test_tooling/failed_jobs_table.rb
gitlab_quality-test_tooling-2.2.0 lib/gitlab_quality/test_tooling/failed_jobs_table.rb
gitlab_quality-test_tooling-2.1.0 lib/gitlab_quality/test_tooling/failed_jobs_table.rb
gitlab_quality-test_tooling-2.0.0 lib/gitlab_quality/test_tooling/failed_jobs_table.rb
gitlab_quality-test_tooling-1.39.0 lib/gitlab_quality/test_tooling/failed_jobs_table.rb
gitlab_quality-test_tooling-1.38.1 lib/gitlab_quality/test_tooling/failed_jobs_table.rb
gitlab_quality-test_tooling-1.38.0 lib/gitlab_quality/test_tooling/failed_jobs_table.rb
gitlab_quality-test_tooling-1.37.0 lib/gitlab_quality/test_tooling/failed_jobs_table.rb
gitlab_quality-test_tooling-1.36.0 lib/gitlab_quality/test_tooling/failed_jobs_table.rb
gitlab_quality-test_tooling-1.35.0 lib/gitlab_quality/test_tooling/failed_jobs_table.rb
gitlab_quality-test_tooling-1.34.0 lib/gitlab_quality/test_tooling/failed_jobs_table.rb
gitlab_quality-test_tooling-1.33.0 lib/gitlab_quality/test_tooling/failed_jobs_table.rb
gitlab_quality-test_tooling-1.32.1 lib/gitlab_quality/test_tooling/failed_jobs_table.rb
gitlab_quality-test_tooling-1.32.0 lib/gitlab_quality/test_tooling/failed_jobs_table.rb
gitlab_quality-test_tooling-1.31.0 lib/gitlab_quality/test_tooling/failed_jobs_table.rb
gitlab_quality-test_tooling-1.30.0 lib/gitlab_quality/test_tooling/failed_jobs_table.rb
gitlab_quality-test_tooling-1.29.1 lib/gitlab_quality/test_tooling/failed_jobs_table.rb