Add a pagefile fix which for windows workflows #146
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.
For context of this change, read sirthias/parboiled2#434 (comment) and scala-native/scala-native#3195 (comment).
The tl;dr is that Windows is a lot more strict than *unix when it comes to how it treats its pagefile usage and because of this its possible to get out of memory memories when running
scala-native
jobs on Windows CI. This PR adds a workflow step that works similarly as the Windows relatedcore.autocrlf
workaround but in addition also has agithubWorkflowWindowsPagefileFix
key which either lets you disable this workaround or override themin
/max
size.The only open question here is whether it should be enabled by default if you have a windows workflow. The argument against having it enabled by default is that its only relevant if you are running scala-native (and depending on what you do with scala-native it may not even be necessary). The argument for having this as a default is that it doesn't appear to do any harm unless you use an excessive amount of disk storage (in which case you can always disable it). See scala-native/scala-native#3195 (comment) for the discussion on this.
Also note that scala-native itself uses this fix for its Windows related workflows.