RegistryCI.jl icon indicating copy to clipboard operation
RegistryCI.jl copied to clipboard

Check that there are "enough" tests and documentation

Open MarkNahabedian opened this issue 1 year ago • 19 comments

These changes introduce the new Guideline guideline_linecounts_meet_thresholds that uses PackageAnalyzer to collect line counts from the candidate package and compare against specified thresholds. The thresholds are provided ad these keyword arguments to AutoMerge.run:

  • src_min_lines: Minimum number of lines of source code
  • readme_min_lines: % Minimum number of lines in the README file
  • test_min_lines: % Minimum number of lines of code in the test directory
  • doc_min_lines: # Minimum number of lines of documentation

Those marked with a % can be expressed as a count, or as a fraction of the number of lines of source code. For test_min_lines and doc_min_lines, the denominator of the fraction also includes the number of lines of test code.

Additional work:

All Guidelines are collected into ALL_GUIDELINES to make them easier to identify and count.

run creates a Dict with which to opaquely pass parameters for the various Guidelines down through pull_request_build and check!. That Dict parameter has beed added to all Guideline check functions, most of which ignore it for now.

Report which keyword arguments are missing from GitHubAutoMergeData using @warn.

The depot setup code from the AutoMerge.parse_registry_pkg_info testset has been extracted to the new function setup_depot so that it can be used in other tests.

MarkNahabedian avatar Jan 24 '23 20:01 MarkNahabedian