What is the hardware requirement for Scully Build ?
Scully build process don't complete on small build server using docker build.
If you are running scully build on small machine (2 GB, 1 CPU), it just don't exit. I m building application using gitlab CI.
Docker running inside small VM. (2 GB, 1 CPU)
Angular Version:
Running latest (10.x) angular version.
Scully Version:
1.x
@kunjee17 Frankly, I have no idea.
Scully itself is a nodeJs program. It needs enough memory to keep your route-list with some additions in memory. It really depends on your setup here.
Then we need puppeteer. I checked, but could not find minimal requirements for that. As puppeteer itself is also mostly a nodeJs program, the memory requirements are probably not that big either.
However, puppeteer uses a headless chromium. That is again depending on what your app is doing, but this is a known CPU and memory hog. However (I did look) there are again no usable minimum requirements to be found.
I think the only way to get usable requirements is actually run and measure your setup. A lot is really depending on how your app is set up, and how it is managing its resources.
There are a lot of people building with Scully in CI/CD (we are running our own builds and test on GitHub Actions). I do get questions from people using gitlab on a slightly higher frequency, so they might be operating an the bare minimum. As far as I know all those people succeeded after setting a bigger --serverTimeOut number, and add the following settings for puppeteer in their config.
const config:ScullyConfig = {
/** more settings */
puppeteerLaunchOptions: { args: ['--no-sandbox', '--disable-setuid-sandbox'] },
}
As there is currently nothing actionable left, I'm going to close this issue for now.
Feel free to reopen a new issue, or keep on discussing in this one. If needed we will reopen it.
@kunjee17 Oh, as you mentioned docker, you might want to look into issue #924 too.
@SanderElias may be the case. Thanks a lot. I ll surely have a look. Will poke you again if stuck somewhere. Thanks a lot for reply.
Just for the future reference. If you are using buildkite/puppeteer image instead of node:12 everything works without any issue.
And obviously below in scully config file
puppeteerLaunchOptions: {
args: ['--no-sandbox', '--disable-setuid-sandbox'],
},