Is your feature request related to a problem? Please describe.
We are currently using Prow for
- Managing pull request life cycles
- Executing tests and builds
Prow is relatively flexible. It's nothing more than an orchestrator for spinning up Kubernetes pods in a cluster. However, the CI experience can be improved.
- Prow is not intuitive to understand nor is it well documented. This means most contributors don't want to touch prow config nor CI in general.
- The Prow UI is simplistic and functional, but doesn't present logs in a way that is easy to read. Most modern CI/CD systems will aggregate logs as well as apply styling or colour coding. Most modern CI systems also make it easy to understand how a specific step in the pipeline is being executed without having to look at Kubernetes yaml.
- Prow is very low level. A lot of functionality that already exists in other CI systems needs to be manually implemented
- Different runner classes
- Protected variables
- Caching of builds steps and dependencies (this is a big one)
- Most CI systems have many integrations like Slack, Jira, email notifications, but Prow has none.
Describe the solution you'd like
I'd like to propose that we continue to use Prow for managing the PR life cycle, but that we also start to explore the integration of a model CI system like Circle CI, Drone CI, or Gitlab CI. We could introduce these systems for common tasks like linting, unit-tests or releases, and if they meet our needs we could move our integration/e2e tests off of Prow as well.
GitHub supports having multiple CI systems run on the same code, and Prow will wait for all of the CI checks to pass before allowing a merge. As a first cut I will attempt to add linting as through Gitlab-CI
Is your feature request related to a problem? Please describe.
We are currently using Prow for
Prow is relatively flexible. It's nothing more than an orchestrator for spinning up Kubernetes pods in a cluster. However, the CI experience can be improved.
Describe the solution you'd like
I'd like to propose that we continue to use Prow for managing the PR life cycle, but that we also start to explore the integration of a model CI system like Circle CI, Drone CI, or Gitlab CI. We could introduce these systems for common tasks like
linting,unit-testsorreleases, and if they meet our needs we could move our integration/e2e tests off of Prow as well.GitHub supports having multiple CI systems run on the same code, and Prow will wait for all of the CI checks to pass before allowing a merge. As a first cut I will attempt to add linting as through Gitlab-CI