Sha256: 017890d60b77113ee2b072fc38c5b087aa42b0bc9078836a7ba33f59bf5fc046

Contents?: true

Size: 1.72 KB

Versions: 6

Compression:

Stored size: 1.72 KB

Contents

#!/usr/bin/env ruby
# frozen_string_literal: true

require "bundler/setup"
require "optparse"

require_relative "../lib/gitlab_quality/test_tooling"

params = {}

options = OptionParser.new do |opts|
  opts.banner = "Usage: #{$PROGRAM_NAME} [options]"

  opts.on('-i', '--input-files INPUT_FILES', String, 'JSON rspec-retry report files') do |input_files|
    params[:input_files] = input_files
  end

  opts.on('-p', '--project PROJECT', String, 'Can be an integer or a group/project string') do |project|
    params[:project] = project
  end

  opts.on('-m', '--merge_request_iid MERGE_REQUEST_IID', String, 'An integer merge request IID') do |merge_request_iid|
    params[:merge_request_iid] = merge_request_iid
  end

  opts.on('--base-issue-labels BASE_ISSUE_LABELS', String,
    'Comma-separated labels (without tilde) to add to new flaky test issues') do |base_issue_labels|
    params[:base_issue_labels] = base_issue_labels.split(',')
  end

  opts.on('-t', '--token TOKEN', String, 'A valid access token with `api` scope and Maintainer permission in PROJECT') do |token|
    params[:token] = token
  end

  opts.on('--dry-run', "Perform a dry-run (don't create issues)") do
    params[:dry_run] = true
  end

  opts.on_tail('-v', '--version', 'Show the version') do
    require_relative "../lib/gitlab_quality/test_tooling/version"
    puts "#{$PROGRAM_NAME} : #{GitlabQuality::TestTooling::VERSION}"
    exit
  end

  opts.on_tail('-h', '--help', 'Show the usage') do
    puts "Purpose: Create flaky test issues for any passed test coming from rspec-retry JSON report files."
    puts opts
    exit
  end

  opts.parse(ARGV)
end

if params.any?
  GitlabQuality::TestTooling::Report::FlakyTestIssue.new(**params).invoke!
else
  puts options
  exit 1
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
gitlab_quality-test_tooling-1.15.0 exe/flaky-test-issues
gitlab_quality-test_tooling-1.14.2 exe/flaky-test-issues
gitlab_quality-test_tooling-1.14.1 exe/flaky-test-issues
gitlab_quality-test_tooling-1.14.0 exe/flaky-test-issues
gitlab_quality-test_tooling-1.13.0 exe/flaky-test-issues
gitlab_quality-test_tooling-1.12.0 exe/flaky-test-issues