fix(CI): Optimize Github CI workflows #526
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Instead of running a different job for each combination of os and feature flag (i.e. 24 jobs in total). It is changed so it run all the feature flag tests in the same job using cargo-hack (i.e. 3 jobs in total). Also use rust-cache to cache builds of dependencies.
Current runtime of CI could take anywhere from 45-60 mins. Optimized flow take around 25-30 min depending on if things are cached or not. This can be optimized further by removing things like doc tests and moving those to workflow of main branch because currently there are not alot of changes in doc tests and its something that can be fixed easily after PR is merged. But will do a separate PR for that.
Note: This workflow tests for more feature flags then previously tested.
Test run here: https://github.com/henil/rumqtt/actions