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

[Feature request]: Speed-up the build by executing the mutation tests in a separate workflow #1755

Open
martintmk opened this issue Oct 30, 2023 · 4 comments

Comments

@martintmk
Copy link
Contributor

martintmk commented Oct 30, 2023

Is your feature request related to a specific problem? Or an existing feature?

I think we can speed-up the build by extracting the mutation steps from https://github.com/App-vNext/Polly/blob/main/.github/workflows/build.yml into separate workflows.

Describe the solution you'd like

I believe we can introduce two new workflows:

  • mutation-tests-core.yml - in this workflow we would test all new Polly v8 projects.
  • mutation-tests-legacy.yml - in this workflow we would test only Polly project.

This way the mutation tests is decreased by half on top of of reduced build times. With this change our PR builds could be done in less than 20 minutes.

Additional context

No response

@martincostello
Copy link
Member

Suggest core not v8, then we don't need to rename it if we get to Polly 9.

@rorypierce
Copy link

So I should probably familiarize myself with the code base first... But as somebody trying to get a 10k meter perspective: would you be able to clarify a mutation test in the context of this particular project/build pipeline? I've done a reasonable amount of TDD and or PDD (pain driven development lol ) but I haven't seen the word "mutation" used in software parlance since I was taking genetic algorithms in undergrad (just to clarify my context). Thanks.

@martincostello
Copy link
Member

martincostello commented Nov 1, 2023

The mutation tests are currently run by this cake task, which uses Stryker to run mutations on our different unit test projects:

Task("__RunMutationTests")

@martintmk
Copy link
Contributor Author

but I haven't seen the word "mutation" used in software parlance since I was taking genetic algorithms in undergrad (just to clarify my context). Thanks.

Essentially, mutation tests are tests for unit tests :D

Copied from official docs:

TL; DR: Mutation testing introduces changes to your code, then runs your unit tests against the changed code. It is expected that your unit tests will now fail. If they don't fail, it might indicate your tests do not sufficiently cover the code.

https://stryker-mutator.io/docs/

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants