Hi Wilfred

Thanks for the proposals. I am

+1 to

  e2e-tests:
    needs: build
    runs-on: ubuntu-latest

I feel a little concerned about the second proposal. Are we seeing any
issues with today's pipeline that inspire you with this proposal?

On Tue, Aug 23, 2022 at 8:02 AM Craig Condit <ccon...@apache.org> wrote:

> I think I would be +1 on the e2e-after-build proposal, but I’m a strong -1
> on pre-commit enforcement. Due to the interdependencies between our
> different modules, there have been (and likely will be again) scenarios
> where we need to push multiple changes to get a build back into a “healthy
> state” after some refactoring. This gets very complicated if we can’t
> commit to a branch without a passing build. Conversely, we have yet (to my
> knowledge) encountered a scenario where the build was broken for an
> extended (or even short?) time in the master branch - we already get
> notifications if a build fails after commit and in my experience these have
> been dealt with very swiftly.
>
> Craig
>
>
> > On Aug 22, 2022, at 11:42 PM, Wilfred Spiegelenburg <wilfr...@apache.org>
> wrote:
> >
> > While looking at the way we run our build jobs at the moment we start
> > the e2etest job in parallel with the build job of the k8shim. These
> > tests run for 25-30 minutes. They all get started even if the
> > compilation fails or we do not pass the unit tests.
> > Should we not wait for a successful build job before we start the e2e
> > tests? If the build job does not succeed we should never commit the
> > change anyway.
> >
> > Proposal is to change the flow and commit requirements.
> >
> > First proposal is to update the k8shim workflow [1] with the following
> > change that requires a successful build job before starting the
> > e2e-tests:
> > -------
> >  e2e-tests:
> >    needs: build
> >    runs-on: ubuntu-latest
> > -------
> > The build which includes a number of checks and the unit tests is
> > quick. We really do not want or need to proceed with running the e2e
> > tests if the build job has failed. The job build will run and on
> > successful completion the e2e-tests job will run automatically.
> >
> > Second proposal is that we also enforce a passed build job before
> > commit. Turning on branch protection and requiring the build job to
> > pass before a commit is manageable from the asf.yaml file we already
> > maintain. This makes sure that we have at least the base tests
> > passing. Not all e2e tests might pass but confidence is at least
> > higher.
> > -----
> > github:
> >  protected_branches:
> >    master:
> >      required_status_checks:
> >        strict: false
> >        contexts:
> >          - build
> >      required_pull_request_reviews:
> >        dismiss_stale_reviews: false
> >        required_approving_review_count: 1
> >      required_linear_history: true
> >      required_signatures: false
> >
> > # The following branch protections only ensure that force pushes are not
> allowed
> > branch-1.1: {}
> > branch-1.0: {}
> > branch-0.12: {}
> > branch-0.11: {}
> > branch-0.10: {}
> > branch-0.9: {}
> > branch-0.8: {}
> > -----
> >
> > This branch protection we can add to all code repos: core, k8shim,
> > scheduler-interface and web to stay consistent.
> >
> > Comments are welcome. If there are no comments in the next week I'll
> > log a jira and start the work to update the workflow and branch
> > protection early September.
> >
> > Wilfred
> >
> > [1]
> https://github.com/apache/yunikorn-k8shim/blob/master/.github/workflows/main.yml
> > [2]
> https://cwiki.apache.org/confluence/display/INFRA/Git+-+.asf.yaml+features#Git.asf.yamlfeatures-Branchprotection
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: dev-unsubscr...@yunikorn.apache.org
> > For additional commands, e-mail: dev-h...@yunikorn.apache.org
> >
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscr...@yunikorn.apache.org
> For additional commands, e-mail: dev-h...@yunikorn.apache.org
>
>

Reply via email to