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

Add makefile targets to run serials and parallel e2e tests #242

Conversation

rhmdnd
Copy link

@rhmdnd rhmdnd commented Mar 3, 2023

The e2e test framework keeps track of tests that are safe to run
concurrently and which must be run serially.

For example, tests that focus on scanning and don't interfere with each
other are safe to run in parallel. Tests that apply remediations to the
cluster impact other tests that assert specific checks or outcomes from
a scan.

We typically lump all these tests into a single run using make e2e and
ensure the concurrent tests are run first, followed by the serial tests.

By adding separate makefile targets, we're making it easier for
contributors to run a group of tests, instead of the whole suite,
shortening the feedback loop. We can also use this in CI and create
separate jobs, running parallel tests and serial tests on different
clusters, speeding up CI reporting time. It's also easier to see, at a
glance, if a particular set of tests is failing consistently.

This change also adds a layer of abstraction between contributors and
the internal details of the tests, giving us more flexibility to evolve
the tests and reorganize them as we see fit without as much disruption
to contributors.

The e2e test framework keeps track of tests that are safe to run
concurrently and which must be run serially.

For example, tests that focus on scanning and don't interfere with each
other are safe to run in parallel. Tests that apply remediations to the
cluster impact other tests that assert specific checks or outcomes from
a scan.

We typically lump all these tests into a single run using `make e2e` and
ensure the concurrent tests are run first, followed by the serial tests.

By adding separate makefile targets, we're making it easier for
contributors to run a group of tests, instead of the whole suite,
shortening the feedback loop. We can also use this in CI and create
separate jobs, running parallel tests and serial tests on different
clusters, speeding up CI reporting time. It's also easier to see, at a
glance, if a particular set of tests is failing consistently.

This change also adds a layer of abstraction between contributors and
the internal details of the tests, giving us more flexibility to evolve
the tests and reorganize them as we see fit without as much disruption
to contributors.
@rhmdnd
Copy link
Author

rhmdnd commented Mar 3, 2023

Proposing this in CI here - openshift/release#36941

Copy link

@Vincent056 Vincent056 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

/lgtm

let's merge this one so we can test e2e on the openshift/release#36941

@openshift-ci
Copy link

openshift-ci bot commented Mar 3, 2023

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: rhmdnd, Vincent056

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

@jhrozek
Copy link

jhrozek commented Mar 6, 2023

added the labels that prow wants

@openshift-merge-robot openshift-merge-robot merged commit 806df3f into ComplianceAsCode:master Mar 6, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants