Skip to content
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

Compilation sometimes fails during CI due to excessive memory consumption #77

Closed
niclashedam opened this issue Oct 25, 2018 · 6 comments
Assignees

Comments

@niclashedam
Copy link
Contributor

This issue looks like it is caused by Semaphore timing out or crashing.

@niclashedam
Copy link
Contributor Author

A solution could be not to compile the Unicode dataset each time; it could be something to do in a version hook.
Also, packages/alfa-unicode/scripts/characters.js seemingly has a hardcoded Unicode version number, so downloading and compiling the same dataset on each commit is just a waste of CPU cycles.

@niclashedam niclashedam self-assigned this Oct 25, 2018
@kasperisager
Copy link
Contributor

The data set is only fetched when requested locally so the only time consuming task performed during CI is compilation. We however cannot naïvely skip compilation of select files even if they haven't changed as a change to any file within their import graph could affect type checking.

The best, and safest, approach to speeding up compilation would therefore be to traverse the import graph of all files that have changed within a given commit range during CI and then compile only those files. Off the top of my head, I can't think of better ways to go about incremental compilation at least.

@kasperisager kasperisager changed the title packages/alfa-unicode/src/characters.ts fails to compile arbitrarily on Semaphore Large files fail to compile arbitrarily on Semaphore Nov 6, 2018
@kasperisager
Copy link
Contributor

Semaphore actually output an error message for this one build: https://semaphoreci.com/siteimprove/alfa/branches/todo-list-fix/builds/19. Not surprisingly, the cause is that the process runs out of memory.

@kasperisager kasperisager changed the title Large files fail to compile arbitrarily on Semaphore Compilation sometimes fails during CI due to excessive memory consumption Dec 4, 2018
@niclashedam
Copy link
Contributor Author

That's new! Good to know though.

@kasperisager
Copy link
Contributor

Fat-fingered the close button 🤦‍♀️

@kasperisager
Copy link
Contributor

ff80be7 should hopefully provide a solution to this but we'll see 🤞

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants