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

Use Circle CI container parallelization to speed up building/deployment #117

Closed
kba opened this issue Jun 25, 2020 · 7 comments
Closed

Use Circle CI container parallelization to speed up building/deployment #117

kba opened this issue Jun 25, 2020 · 7 comments

Comments

@kba
Copy link
Member

kba commented Jun 25, 2020

I just came across https://circleci.com/docs/2.0/parallelism-faster-jobs IIUC we could spend part of the 2500 credits in the free tier (which is basically equivalent to 2500 minutes of computing) to parallelize some steps in our CI pipeline. Esp. when we start working on integration tests and for building at least the git/non-git variants, this might be worth investigating.

@stweil
Copy link
Collaborator

stweil commented Jun 25, 2020

GitHub actions also allows parallel actions. I use that to build 32 and 64 bit Tesseract installers at the same time.

@bertsky
Copy link
Collaborator

bertsky commented Jun 25, 2020

IIUC we could spend part of the 2500 credits in the free tier (which is basically equivalent to 2500 minutes of computing) to parallelize some steps in our CI pipeline.

So is this about getting us faster builds, or investing credits better? (I didn't read anything about a credit-parallelism relationship.) Doesn't it save us credits that we fail earlier due to sequential build (if CI fails)?

@kba
Copy link
Member Author

kba commented Jun 26, 2020

GitHub actions also allows parallel actions. I use that to build 32 and 64 bit Tesseract installers at the same time.

Nice, I'm also open to GitHub actions, I'll look into it.

I didn't read anything about a credit-parallelism relationship

IIUC n parallelism of a build (as opposed to concurrent builds which is a different feature) results in n times as many credits (i.e. computing time in minutes). Saving credits was not my point, I'm not in the business of promoting CircleCI and if we reach a limit on the free tier, there are alternatives like GH action, Travis, Semaphore, Buddy or possibly mirroring to gitlab.com or bitbucket and use their jobs/pipelines systems...

@kba
Copy link
Member Author

kba commented Jun 26, 2020

Pro GitHub actions: We could work together on the CI/CD pipeline. How Circle CI ACL maps to GitHub's ACL is intransparent and only I can currently manage environment variables and configuration outside the CI config YAML.

@cneud
Copy link
Member

cneud commented Sep 26, 2020

GitHub actions only offers 2000 minutes in the free tier in comparison though - otherwise it would seem very beneficial switching?

(LOL)

Jobs that run on Windows and macOS runners that GitHub hosts consume minutes at 2 and 10 times the rate that jobs on Linux runners consume.

@bertsky
Copy link
Collaborator

bertsky commented Jan 11, 2022

I don't think we still need parallelism after 9e1dd88 already makes the various variants build in parallel. We could use make -j for each job to harvest more of its CPU resources – but there's always a risk that subtle errors in the dependency declarations fail or race such parallel builds.

Build time for the largest variant is still under 1h now. I'd say we can close this.

@bertsky
Copy link
Collaborator

bertsky commented Feb 21, 2022

Since we crossed the 1h barrier recently and subsequently had to add -j as default, let's close.

@bertsky bertsky closed this as completed Feb 21, 2022
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

4 participants