Run with --jobs=2
automatically on CI
#924
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.
Steep invokes worker processes to type check files as many as the processors. But, computers running CI jobs typically have large number of processors, while the resources each CI job can use is limited.
Assume the CI computer has 32 cores, but only two of them are available for CI job. Steep spawns ~32 worker processes based on the number of cores. The problem is it often hits the memory limit by starting too many workers.
This PR is to fix the problem by setting the default
--jobs
number to2
(or # of cores if it's smaller) when:CI
environment variable is defined, and--jobs
option is not setThis can slow the type checking job during CI if more than two cores are available. In that case, specify
--jobs
option explicitly based on the number of the available cores.Another possible implementation
This is kind of a workaround and calculating actually available number of processors would be a better solution for this problem. This is left for future work. 😃