Repo Search Checks

Verify that a service's repo does / does not contain a file matching some criteria.

With our Git Repository Integration, OpsLevel can continuously scan your code repositories and verify all of the operational best practices you’ve defined.

Previously, we’ve shown you a Repo File Check, which can be used to verify that a given file exists in your repo, or verify that it contains some specific text.

This article goes over something subtly different and equally powerful: a Repo Search Check.

The Repo Search Check

Instead of looking at a specific file, Repo Search Checks can be used to scan over all files in your repo to determine whether any of them contain (or do not contain) specific text. You can also restrict the search to files of a given extension.

Repo Search Check

Repo Search Check Examples

Verify that a deprecated Scala library is no longer in use

Scala’s sbt build system is very flexible, but due to this flexibility can be hard to parse. To be absolutely sure a deprecated package is no longer in use by any of your Scala services, you can use a Repo Search Check to look at all files. Omit the extension for extra coverage.

PredicateContents
does not containlib.platform.janky

When to use a Repo Search Check

Simply speaking, if you can use a Repo File Check instead of a Search Check, you should. The Search check is much more computationally expensive to run and is throttled on the integration’s side, so should be used sparingly.

There are some other limitations with the Repo Search Check:

  • It doesn’t work with forked repositories.
  • It can’t limit the search to a specific file. If you need that, use a Repo File Check.
  • It runs after a 2 minute delay for Github integrations due to limitations with their API.

If you have any questions, or just come up with some interesting checks you want to share, hit us up at [email protected].