-
Notifications
You must be signed in to change notification settings - Fork 45
Add the matrix strategy to workflow to make integration tests faster #137
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
Conversation
scripts/run_integration_tests.sh
Outdated
run_id=$(xxd -l 4 -c 4 -p < /dev/random) | ||
|
||
# Always remove the stack before exiting, no matter what | ||
# Always remove the stacks before exiting, no matter what |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nit: I see you changed stack -> stacks here, was that intentional? Isn't this still going to deploy one stack at a time?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I guess it should now be stack(s)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
✅
.github/workflows/build.yml
Outdated
|
||
strategy: | ||
matrix: | ||
runtime-param: [27, 36, 37, 38] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nit: Can we use strings with decimals, i.e. "2.7" and "3.6", for these params? I always do a double take when I read "Python 37". Also, that will be more consistent with our unit test task. If it's not possible then no big deal.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
✅
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks great! 🚀 Just a couple of tiny nits.
scripts/run_integration_tests.sh
Outdated
PARAMETERS_SETS=(python${RUNTIME_PARAM}) | ||
BUILD_LAYER_VERSION=python$RUNTIME_PARAM[1] | ||
RUNTIME_PARAM_NO_DOT=$(echo $RUNTIME_PARAM | sed 's/\.//') | ||
echo "Python version is specified: $RUNTIME_PARAM_NO_DOT" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nit: I think we would probably want to log the version number with the dot here, right? Python version is specified: 3.7
rather than Python version is specified: 37
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
✅
What does this PR do?
This PR makes the integration testing step faster by using the matrix strategy, it will run tests in parallel.
Current average workflow time for the integration tests step : around 10 minutes
With this PR, the new time is about 4minutes
Motivation
Increase productivity by reducing waiting time
Testing Guidelines
Codebase was not change but a refactoring for integration testing has been made. This should not break the integration tests and should be fully backward compatible
Types of Changes
Check all that apply