What happens when Knapsack Pro API is not available/not reachable temporarily?
for knapsack_pro regular mode
knapsack_pro
gem will retry requests to Knapsack Pro API multiple times every few seconds till it switches to fallback behavior (Fallback Mode) and it will split test files across CI nodes based on popular test directory names. When knapsack_pro
starts Fallback Mode then you will see a warning in the output.
Note there is an unlikely scenario when some of the CI nodes may start in Fallback Mode but others don't and then it could happen that some of test files might be skipped. You should read this to learn more and decide if you like to use Fallback Mode when running tests with knapsack_pro
Regular Mode.
If your CI provider allows to retry only one of parallel CI nodes then please read about KNAPSACK_PRO_FIXED_TEST_SUITE_SPLIT
.
for knapsack_pro queue mode
knapsack_pro
gem will retry requests to Knapsack Pro API multiple times every few seconds till it switches to fallback behavior (Fallback Mode) and it will split test files across CI nodes based on popular test directory names.
Note that if one of the CI nodes loses connection to Knapsack Pro API but others don't, then some of the test files may be executed on multiple CI nodes. Fallback Mode guarantees each of the test files is run at least once across CI nodes when you use knapsack_pro
in Queue Mode. Thanks to that we know if the whole test suite is green or not. When knapsack_pro
starts Fallback Mode then you will see a warning in the output.
If your CI provider allows to retry only one of parallel CI nodes then please read about Dynamic Split vs Fixed Split.