For triggering and running tests from github, the Kubeflow org uses Prow, K8s' continuous integration tool.
Instructions for setting up Prow and for adding basic e2e tests can be found in the kubeflow/testing
repo.
When setting up permissions for a repository there a few things to note:
- When providing permissions for
Collaborators and teams
, only teams should be used. - Teams that should be added by default, with write access, are
ci-bots
andcore-approvers
. Additional teams can be added as necessary.
Make sure to enable the third-party apps used by the Kubeflow community.
These apps include:
- Reviewable
- For Reviewable, sign in with Github and in the
Repositories
tab, make sure to allow visibility to your other orgs. After the allowingKubeflow
you should be able to enable your repo. - Click on the enabled repo in Reviewable and make sure to disable
Review status in GitHub PR
because this causes problems for prow kubernetes/test-infra#7140
- For Reviewable, sign in with Github and in the
- TravisCI
- For TravisCI, any administrator of the repo should be able to enable tests. Just follow the TravisCI Getting Started Guide.
- Coveralls
- For instructions on enabling coveralls and integrating with travis, you can follow these instructions. If you aren't an org admin, you may need to request assistance in enabling coveralls.
When setting up the repo, the master
branch should be protected. Instructions on protection a branch can be found here.
A few things to note when setting up branch protection:
- Enable
Protect this branch
to protect the code in themaster
branch. - Be sure not to enable
Require pull request reviews before merging
. This setting conflicts with Tide as seen in this issue. - Don't enable
Require branches to be up to date before merging
- Enable
Require status checks to pass before merging