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

Avoid running functional tests for PRs whenever it makes sense #2839

Open
iholder101 opened this issue Jun 21, 2023 · 14 comments
Open

Avoid running functional tests for PRs whenever it makes sense #2839

iholder101 opened this issue Jun 21, 2023 · 14 comments
Assignees
Labels
area/prow Issues and PRs concerning KubeVirt Prow, i.e. configuration, setup etc. kind/enhancement lifecycle/frozen Indicates that an issue or PR should not be auto-closed due to staleness.

Comments

@iholder101
Copy link
Contributor

iholder101 commented Jun 21, 2023

Currently in Kubevirt, every PR needs to run and pass the complete test suite in order to merge.

However, for some PRs (e.g. non-code PRs) there's no value in running any functional tests at all, therefore CI resources are being wasted with no value whatsoever. As an example, a PR making someone an approver [1], which only requires changing a text file, should be tested. This leads to a waste of costly CI resources and should be avoided, which becomes even worse when tests are flakie and need to be re-tested for multiple times.

One possible approach to solving this is to trigger CI only if files under certain paths are being changed.

An even better situation would be to avoid running CI on more sophisticated scenarios, like changing a variable name, comments, file names, and other non-logical code refactoring.

[1] kubevirt/kubevirt#9900

@iholder101
Copy link
Contributor Author

/cc @dhiller @jean-edouard @fossedihelm

@dhiller
Copy link
Contributor

dhiller commented Jun 21, 2023

/assign

@dhiller
Copy link
Contributor

dhiller commented Jun 21, 2023

/kind enhancement

@dhiller
Copy link
Contributor

dhiller commented Jun 21, 2023

/area prow

@kubevirt-bot kubevirt-bot added the area/prow Issues and PRs concerning KubeVirt Prow, i.e. configuration, setup etc. label Jun 21, 2023
@kubevirt-bot
Copy link
Contributor

Issues go stale after 90d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.

If this issue is safe to close now please do so with /close.

/lifecycle stale

@kubevirt-bot kubevirt-bot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Sep 19, 2023
@iholder101
Copy link
Contributor Author

/remove-lifecycle stale

@kubevirt-bot kubevirt-bot removed the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Oct 2, 2023
@kubevirt-bot
Copy link
Contributor

Issues go stale after 90d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.

If this issue is safe to close now please do so with /close.

/lifecycle stale

@kubevirt-bot kubevirt-bot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Dec 31, 2023
@kubevirt-bot
Copy link
Contributor

Stale issues rot after 30d of inactivity.
Mark the issue as fresh with /remove-lifecycle rotten.
Rotten issues close after an additional 30d of inactivity.

If this issue is safe to close now please do so with /close.

/lifecycle rotten

@kubevirt-bot kubevirt-bot added lifecycle/rotten Denotes an issue or PR that has aged beyond stale and will be auto-closed. and removed lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. labels Jan 30, 2024
@kubevirt-bot
Copy link
Contributor

Rotten issues close after 30d of inactivity.
Reopen the issue with /reopen.
Mark the issue as fresh with /remove-lifecycle rotten.

/close

@kubevirt-bot
Copy link
Contributor

@kubevirt-bot: Closing this issue.

In response to this:

Rotten issues close after 30d of inactivity.
Reopen the issue with /reopen.
Mark the issue as fresh with /remove-lifecycle rotten.

/close

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/test-infra repository.

@dhiller
Copy link
Contributor

dhiller commented Feb 29, 2024

/reopen
/lifecycle frozen

@kubevirt-bot
Copy link
Contributor

@dhiller: Reopened this issue.

In response to this:

/reopen
/lifecycle frozen

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/test-infra repository.

@kubevirt-bot kubevirt-bot reopened this Feb 29, 2024
@kubevirt-bot kubevirt-bot added lifecycle/frozen Indicates that an issue or PR should not be auto-closed due to staleness. and removed lifecycle/rotten Denotes an issue or PR that has aged beyond stale and will be auto-closed. labels Feb 29, 2024
@dhiller
Copy link
Contributor

dhiller commented Feb 29, 2024

Short update: we are still investigating how to tackle this. @oshoval contributed the phased plugin recently, which enables us holding back on testing until the PR has reached merge queue state. We are still investigating how to find a proper solution wrt run_if_changed/skip_if_only_changed, since it currently interferes with how the phased plugin works. Instead, a pragmatic solution has been merged, aborting functests directly if only certain files have been changed.

@iholder101
Copy link
Contributor Author

Short update: we are still investigating how to tackle this. @oshoval contributed the phased plugin recently, which enables us holding back on testing until the PR has reached merge queue state. We are still investigating how to find a proper solution wrt run_if_changed/skip_if_only_changed, since it currently interferes with how the phased plugin works. Instead, a pragmatic solution has been merged, aborting functests directly if only certain files have been changed.

Great news! Thanks for the update and for pushing this subject forward!

Can we abort functests for files with certain suffixes? e.g. .md, .txt, etc?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/prow Issues and PRs concerning KubeVirt Prow, i.e. configuration, setup etc. kind/enhancement lifecycle/frozen Indicates that an issue or PR should not be auto-closed due to staleness.
Projects
None yet
Development

No branches or pull requests

3 participants