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

CI: make integration tests run faster #1432

Open
zaro0508 opened this issue Feb 3, 2024 · 5 comments
Open

CI: make integration tests run faster #1432

zaro0508 opened this issue Feb 3, 2024 · 5 comments

Comments

@zaro0508
Copy link
Contributor

zaro0508 commented Feb 3, 2024

Subject of the issue

The integration tests took about 20mins to complete when it was run on circleci. Now that Sceptre has been moved to github actions it is taking nearly 40mins to complete. We should try to make it faster on github actions.

On circleci we ran the tests in parallel by splitting them up using the native split test feature. Github actions doesn't seem to have an equivalent feature.

@zaro0508 zaro0508 changed the title make integration tests run faster CI: make integration tests run faster Feb 3, 2024
@zaro0508
Copy link
Contributor Author

zaro0508 commented Feb 3, 2024

example of splitting ruby tests with a custom script, https://rubyyagi.com/how-to-run-tests-in-parallel-in-github-actions/

or maybe run tests in parallel with behave-parallel or behavex, behave/behave#930

@alexharv074
Copy link
Contributor

@zaro0508 you have added a comment in the code here suggesting that the tests are not designed to run in parallel. I had a bit of a look at this and seems like parallelising each feature file in a matrix could be a way forward, but not if the tests themselves can't run in parallel.

@zaro0508
Copy link
Contributor Author

zaro0508 commented Apr 1, 2024

parallelising each feature file in a matrix could be a way forward, but not if the tests themselves can't run in parallel.

I'm not sure what that would look like but i think it would be worth investigating.

I'm not even sure parallelization is the best solution anymore. I think a better solution is to investigate running integration tests with something like localstack so that any contributor can execute the integration tests on their own machine.

@zaro0508
Copy link
Contributor Author

I took an initial stab at running integration tests using localstack however I quickly ran into problems where localstack cloudformation and AWS cloudforamtion do not behave the same which causes a bunch of the Sceptre integration tests to fail. The issue has been reported at localstack/localstack#10674. I also asked about this issue in the localstack slack community however I did not get any replies, https://localstack-community.slack.com/archives/CMAFN2KSP/p1712955872693799

@HarshCasper
Copy link

Hi @zaro0508 — I am Harsh from the LocalStack team. Sorry about the experience! One of our team members will soon check in with you.

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