Is there a way to run pipeline builds/tests before a push or merge is accepted to the main repo and depending on the build status accept or reject it?