Skip to content
This repository has been archived by the owner on Feb 26, 2023. It is now read-only.

Override --jobs option value with an env var in build.rs #43

Merged
merged 1 commit into from May 21, 2019

Conversation

mozamimy
Copy link
Contributor

@mozamimy mozamimy commented May 7, 2019

This patch enables build.rs to override --jobs option value of
make command with MAKE_LIBSASS_JOBS environment variable.

In typical containerization system (e.g. Docker), the number of CPU cores
which are visible from a process jailed into a container can be greater than
the container limitation.

This change is useful in the above situation. (Of course, not only that!)


I am developing a my own static site generator named Salmon. That app uses this crate to compile Sass files. This wrapper library is great for me 馃槂! I appreciate maintainers' contributions.

I am trying automation of release the app, however, sometimes a building job is failed like https://circleci.com/gh/mozamimy/salmon/93 memory allocation error.

CircleCI is using Docker for containerization technology to isolate each build environment. The building process by build.rs finds the number of CPU is 36 with current implementaion. However, the actual given CPU cores are two and the memory limitation is 4096MB.

So I want to inject the parameter of --jobs from out of build.rs.

I guess MAKE_LIBSASS_JOBS is good naming and using environment variable is good solution... But I'm not too confident!

This patch enables build.rs to override --jobs option value of
make command with MAKE_LIBSASS_JOBS environment variable.

In typical containerization system (e.g. Docker), the number of CPU cores
which is visible from a process jailed into a container can be greater than
the container limitation.

This change is useful in the above situation. (Of course, not only that!)
mozamimy added a commit to mozamimy/salmon that referenced this pull request May 7, 2019
I have created a pull request to resolve the problem.
However, the PR is not accepted yet.

compass-rs/sass-rs#43
mozamimy added a commit to mozamimy/salmon that referenced this pull request May 11, 2019
Now we are using forked sass-rs.
https://github.com/mozamimy/sass-rs/tree/make-libsass-env

We can publish salmon crate after merge following PR.
compass-rs/sass-rs#43
@Keats Keats merged commit 949a448 into compass-rs:master May 21, 2019
@Keats
Copy link
Collaborator

Keats commented May 21, 2019

woops sorry, didn't notice that

@mozamimy mozamimy deleted the make-libsass-env branch May 23, 2019 12:32
mozamimy added a commit to mozamimy/salmon that referenced this pull request May 23, 2019
compass-rs/sass-rs#43 is merged. We can use
`MAKE_LIBSASS_JOBS` environment variable to control job count.
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants