Skip to content

latest

Pre-release
Pre-release
Compare
Choose a tag to compare
@github-actions github-actions released this 13 Apr 15:18
· 0 commits to c755dc088b5fc15b65f7b5537c34f7a90b228e2c since this release
Implement exclusions for custom soft errors

Summary:
Context: As part of "safer compatible with", we are rolling out enforcements of `dep_only_incompatible` errors to targets in the repo to prevent them from losing CI coverage due to a bad compatible_with definition change. Unfortunately, sometimes these rollout diffs break things and need to be reverted. I recently implemented custom soft errors as a way to more effectively source these issues before we roll things out. Each soft error has a set of target patterns attached and if any of those patterns violates `dep_only_incompatible`, then we fire the corresponding soft error that we can read in Scuba.

This diff adds exclusions to custom soft errors to exclude a subset of target patterns specified from having soft errors. The exclusions help us get more targeted soft errors and match what we do for rollouts of `dep_only_incompatible`  in having both inclusion and exclusion patterns.

To support exclusions, I added a new provider `DepOnlyIncompatibleRollout` that supports a `target_patterns` field and an `exclusions` field. To make this backwards compatible with existing definitions, `DepOnlyIncompatibleInfo` now accepts either a list of strings or a `DepOnlyIncompatibleRollout` type in the `custom_soft_errors` field. Once version bump is out and the provider is migrated over, I will delete the existing support for list of target patterns.

Reviewed By: Nero5023

Differential Revision: D71592839

fbshipit-source-id: 9c8e26cf4d92128f12b60f3a2253af03830b0ab2