reftable: set up integration branch with green pipeline
In order to allow for collaboration regarding the reftable backend while continuing to use our usual merge request workflow we'll need to have a proper baseline integration branch. This integration branch will be used to track iterative changes and bugfixes that will ultimately either be upstreamed before landing the reftable backend or merged into the main patch once we're in an upstreamable state.
One prerequisite to properly track progress here is to have a green pipeline in this branch. Initially, many of the tests will still fail. We should thus build on top of the test_expect_failure
mechanism that already exists upstream and introduce a more specialized helper that can also take a prerequisite. Such a helper could then be used to tag all tests that are known to fail.
This approach has a bunch of advantages:
- Tests continue to run and expect success without the reftable backend.
- Tests will start to fail once limitations in the backend are fixed as they now succeed even though we expect failure.
- We can ensure that things don't regress but only make progress.
- Once we merge !57 (closed) we have all the benefits of a full CI pipeline including different sanitizers.