This repository has been archived by the owner on Mar 1, 2019. It is now read-only.
(CI) Have a way to generate and verify exitence of golden tests #124
Labels
ACCEPTED
ADR has been accepted
Context
API breaking changes are bad and also tricky to identify somehow. Right now, there's nothing really helping us not breaking the API apart from our own discipline. Despite being disciplined, something can also slip through our attention and get merged, unnoticed. A simple step towards this would be to add a few golden tests to make sure that API types aren't actually changing in a non backward-compatible ways.
If a given API type has one or a few associated golden test, hopefully, upon making a change, the underlying change would fail. Then, we can assess whether this change is a breaking change or just a soft extension.
Decision
We want to write such golden tests for existing API types. But because tracking the existence of those tests can be tedious, we'd also like ideally, to have a way to enforce the existence of such tests in such way that the code wouldn't even compile without us specifying them.
Since the API is completely defined in terms of a single type by the mean of Servant combinators, we can work out some checks using a generic approach.
Acceptance Criteria
must
have one or more golden tests for its corresponding JSON or HttpApiData instances.should
be enforced for existing and future types automatically.PR
develop
QA
Retrospective
The text was updated successfully, but these errors were encountered: