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

feat: avoid hardcoded HOME for spawn-wrap working dir #957

Merged
merged 1 commit into from Jan 15, 2019

Conversation

Krinkle
Copy link
Contributor

@Krinkle Krinkle commented Jan 3, 2019

By default, spawn-wrap writes temporary files to HOME.
It used to be /tmp, but it changed that to HOME to support
environments that have 'noexec' flags set on their tmpfs mount.
Ref istanbuljs/spawn-wrap#3.

The problem with this is that nyc now no longer works in environments
without a (writable) home directory (e.g. the 'nobody' user on
Linux).

While it is fine to fallback to HOME, it should write elsewhere
if that is unavailable, and ideally in a way that doesn't require
every sysadmin or end-user to hardcode some environment variable
in their package.json specifically for nyc or spawn-wrap.

A common way to communicate this intent is with the XDG_CACHE_HOME
environment variable.

Fixes #951.

@Krinkle Krinkle force-pushed the sw-fail branch 2 times, most recently from afc13ec to 2df1f35 Compare January 3, 2019 00:27
@JaKXz
Copy link
Member

JaKXz commented Jan 15, 2019

@Krinkle would you mind rebasing this PR? We have since fixed the failing test that's broken here :)

@Krinkle
Copy link
Contributor Author

Krinkle commented Jan 15, 2019

@JaKXz Thanks. Rebased now.

bin/nyc.js Outdated Show resolved Hide resolved
By default, spawn-wrap writes temporary files to HOME.
It used to be /tmp, but it changed that to HOME to support
environments that have 'noexec' flags set on their tmpfs mount.
Ref istanbuljs/spawn-wrap#3.

The problem with this is that nyc now no longer works in environments
without a (writable) home directory (e.g. the 'nobody' user on
Linux).

While it is fine to fallback to HOME, it should write elsewhere
if that is unavailable, and ideally in a way that doesn't require
every sysadmin or end-user to hardcode some environment variable
in their package.json specifically for nyc or spawn-wrap.

A common way to communicate this intent is with the XDG_CACHE_HOME
environment variable.

Fixes istanbuljs#951.
@coveralls
Copy link

Coverage Status

Coverage remained the same at 96.389% when pulling 95bc8ee on Krinkle:sw-fail into 35710b1 on istanbuljs:master.

@coveralls
Copy link

coveralls commented Jan 15, 2019

Coverage Status

Coverage remained the same at 96.389% when pulling 95bc8ee on Krinkle:sw-fail into 35710b1 on istanbuljs:master.

Copy link
Member

@JaKXz JaKXz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This change makes sense to me! Thanks @coreyfarrell for catching the breaking change

@coreyfarrell coreyfarrell merged commit ff834aa into istanbuljs:master Jan 15, 2019
@coreyfarrell
Copy link
Member

@Krinkle thanks for this contribution!

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

Successfully merging this pull request may close these issues.

None yet

4 participants