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

Run CI pipeline tests in parallel #3209

Open
4 tasks
KaloyanTanev opened this issue Jul 30, 2024 · 0 comments
Open
4 tasks

Run CI pipeline tests in parallel #3209

KaloyanTanev opened this issue Jul 30, 2024 · 0 comments
Assignees
Labels
protocol Protocol Team tickets

Comments

@KaloyanTanev
Copy link
Contributor

🎯 Problem to be solved

Currently the CI tests steps are really dependant on each other. To such extend that we cannot cancel a step (it is mandatory for all of them to finish), we also cannot retry a single step. This makes it really irritating having to retry a failed unit test step, as first you need to wait for integration and compose tests to finish (~20 minutes).

Upon quick research, it seems like the if: ${{ always() }} does not only make the job run if the jobs its dependent on fail, but it also makes it non cancellable.

If we make the test steps independent on each other and run in parallel, our issue will be solved. Also, by design, those tests should not depend on each other. One thing to keep in mind is that previously there were attempts to parallelise tests, but the machines on which the runners were on were incapable of handling that much load. However, now we run self-hosted runners, so there is a chance there is an improvement on that front.

🛠️ Proposed solution

  • Change the CI yaml to run unit, integration and compose tests independently of each other
  • Assure tests still pass and there is no effect on the sequence in which they are ran
  • Assure we can retry single test suite
  • Assure we can cancel a test suite
@KaloyanTanev KaloyanTanev added the protocol Protocol Team tickets label Jul 30, 2024
@KaloyanTanev KaloyanTanev self-assigned this Jul 30, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
protocol Protocol Team tickets
Projects
None yet
Development

No branches or pull requests

1 participant