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

Initial flaky test mitigation #2625

Merged

Conversation

perdasilva
Copy link
Collaborator

@perdasilva perdasilva commented Feb 14, 2022

Description of the change:
This PR makes the following changes and resolved aspects of #2589:

  • Adds a method to mark e2e tests as flaky
  • Separates flaky test execution into its own, non-required, gh action
  • Adds an issue template for flaky tests
  • Identifies some flaky tests (maybe most, but I fear not all)
  • Adds contributor documentation around filing flaky tests
  • Updates the PR template with additional reviewer criteria
  • Adds an utility function to the e2e tests to make strings k8s friendly

Note
With Ginkgo v2.0 we can actually label tests, which might make this system less brittle. I just don't know what the upfront work required would be to make the upgrade. So, let's use this as a stop gap solution until we migrate and it should be easy enough to then migrate the flaky tests to use labels instead.

Motivation for the change:
Merging PRs is a PITA atm because of flakes. This gives us a way to mark flakes and remove them from the critical path while they get fixed
Reviewer Checklist

  • Implementation matches the proposed design, or proposal is updated to match implementation
  • Sufficient unit test coverage
  • Sufficient end-to-end test coverage
  • Docs updated or added to /doc
  • Commit messages sensible and descriptive

Targets aspects of #2589

@openshift-ci openshift-ci bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Feb 14, 2022
@perdasilva perdasilva mentioned this pull request Feb 14, 2022
5 tasks
@perdasilva perdasilva force-pushed the mark_flaky_e2e branch 2 times, most recently from c75a68b to c78626f Compare February 14, 2022 18:21
@perdasilva
Copy link
Collaborator Author

/hold

@openshift-ci openshift-ci bot added the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Feb 14, 2022
@perdasilva perdasilva changed the title Mark flaky e2e Mark flaky e2e tests Feb 14, 2022
@njhale
Copy link
Member

njhale commented Feb 14, 2022

Reference: Using label decorators in Ginkgo 2.0

@njhale
Copy link
Member

njhale commented Feb 14, 2022

/lgtm

@openshift-ci openshift-ci bot added the lgtm Indicates that a PR is ready to be merged. label Feb 14, 2022
@openshift-ci openshift-ci bot removed the lgtm Indicates that a PR is ready to be merged. label Feb 14, 2022
@njhale
Copy link
Member

njhale commented Feb 14, 2022

/lgtm

@openshift-ci openshift-ci bot added the lgtm Indicates that a PR is ready to be merged. label Feb 14, 2022
@openshift-ci openshift-ci bot removed the lgtm Indicates that a PR is ready to be merged. label Feb 15, 2022
@perdasilva perdasilva force-pushed the mark_flaky_e2e branch 6 times, most recently from ed3e5c8 to c90ccd8 Compare February 15, 2022 15:17
@tylerslaton
Copy link
Contributor

/lgtm

@openshift-ci openshift-ci bot added the lgtm Indicates that a PR is ready to be merged. label Feb 15, 2022
@njhale
Copy link
Member

njhale commented Feb 15, 2022

@perdasilva Looks like the tests are generating invalid label values ATM:

unable to parse requirement: values[0][label]: Invalid value: "[FLAKY]cleanupcsvswithbadowneroperatorgroups": a valid label must be an empty string or consist of alphanumeric characters, '-', '_' or '.', and must start and end with an alphanumeric character (e.g. 'MyValue',  or 'my_value',  or '12345', regex used for validation is '(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])?')

see https://github.com/operator-framework/operator-lifecycle-manager/runs/5202410751?check_suite_focus=true

README.md Outdated Show resolved Hide resolved
@tylerslaton
Copy link
Contributor

/lgtm

@openshift-ci openshift-ci bot added the lgtm Indicates that a PR is ready to be merged. label Feb 16, 2022
@openshift-ci openshift-ci bot removed the lgtm Indicates that a PR is ready to be merged. label Feb 16, 2022
@timflannagan
Copy link
Contributor

/lgtm

@openshift-ci openshift-ci bot added the lgtm Indicates that a PR is ready to be merged. label Feb 16, 2022
@openshift-ci openshift-ci bot removed the lgtm Indicates that a PR is ready to be merged. label Feb 16, 2022
@openshift-ci
Copy link

openshift-ci bot commented Feb 16, 2022

New changes are detected. LGTM label has been removed.

@timflannagan timflannagan added the lgtm Indicates that a PR is ready to be merged. label Feb 16, 2022
@timflannagan
Copy link
Contributor

Looks like the filtering isn't working as intended?

Summarizing 2 Failures:

[Fail] Operator API [It] [FLAKE] should surface components in its status 
/home/runner/work/operator-lifecycle-manager/operator-lifecycle-manager/test/e2e/util.go:894

/hold

@openshift-ci openshift-ci bot added the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Feb 16, 2022
@openshift-ci openshift-ci bot removed the lgtm Indicates that a PR is ready to be merged. label Feb 16, 2022
@openshift-ci
Copy link

openshift-ci bot commented Feb 16, 2022

New changes are detected. LGTM label has been removed.

@openshift-ci
Copy link

openshift-ci bot commented Feb 16, 2022

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: perdasilva

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

The pull request process is described 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

@timflannagan timflannagan added lgtm Indicates that a PR is ready to be merged. and removed do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. labels Feb 16, 2022
Signed-off-by: perdasilva <perdasilva@redhat.com>

Signed-off-by: perdasilva <perdasilva@redhat.com>
@openshift-ci openshift-ci bot removed the lgtm Indicates that a PR is ready to be merged. label Feb 16, 2022
@openshift-ci
Copy link

openshift-ci bot commented Feb 16, 2022

New changes are detected. LGTM label has been removed.

@perdasilva perdasilva added the lgtm Indicates that a PR is ready to be merged. label Feb 16, 2022
@openshift-merge-robot openshift-merge-robot merged commit 87bd5a7 into operator-framework:master Feb 16, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approved Indicates a PR has been approved by an approver from all required OWNERS files. lgtm Indicates that a PR is ready to be merged.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants