Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Experimental CI reviewer: codedog #62

Closed

Conversation

mtulio
Copy link
Contributor

@mtulio mtulio commented Aug 5, 2024

Draft built on top of #57

Refact the the `openshift-tests-plugin` (conformance step) from bash version to Golang.

This PR split core components for the main conformance plugin, implemented in bash, to Golang targeting to:
- decrease the maitenance burden in the project: the amount of tasks executed in this plugin have increased, and more complex while new requirements was added to the project, making the maintenance and stability very complex to a limited scripting language
- review the architecture to isolate components: the component/step responsible to schedule the conformance workflow have been isolated from artifacts collector, decreasing the requirements in the base image
- review the architecture to decrease the "interference" of OPCT environment to the conformance runtime: the `openshift-tests` utility implements the conformance tests shipped in OCP payload, the new tests are handled by the utility, following it's dependencies. It is impossible to track OPCT plugin workflow to resolve all the dependencies, so this change will introduce a workflow of making the plugin orchestrate the conformance suite execution in an isolated sidecard container (`tests`) shipped in OCP payload, monitoring the completion and reporting to aggregator server.
- introduce a new plugin in the pipeline to process failures from conformance suite and re-run it in serial mode, to decrease the possibility of flakes, and get more confidence in results when reviewing the artifacts.

Those changes resulted in an encapsulated conformance test execution by `openshift-tests` utility by keeping the flexibility of a modern language to orchestrate, monitor, report, and process results in the execution, decreasing the post-processing/manual steps
@openshift-ci openshift-ci bot added the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Aug 5, 2024
Copy link

openshift-ci bot commented Aug 5, 2024

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
Once this PR has been reviewed and has the lgtm label, please ask for approval from mtulio. For more information see the Kubernetes Code Review Process.

The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@mtulio mtulio force-pushed the feat-ci-reviewdog branch 4 times, most recently from 284d343 to 70515cc Compare August 7, 2024 04:47
@mtulio mtulio force-pushed the feat-ci-reviewdog branch from 70515cc to bf34c35 Compare August 7, 2024 04:55
@openshift-merge-robot openshift-merge-robot added the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Aug 9, 2024
@openshift-merge-robot
Copy link

PR needs rebase.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.

@mtulio
Copy link
Contributor Author

mtulio commented Jan 2, 2025

Closing as obsolete. PR is outdated and changes are out of the scope in the description.

@mtulio mtulio closed this Jan 2, 2025
@mtulio mtulio deleted the feat-ci-reviewdog branch January 2, 2025 18:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants