Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
runner.singularity: Ensure HOME is taken from the image's default Singularity had been setting HOME to the user's HOME outside of the container which meant the image's default of /nextstrain wasn't getting used. This apparently wasn't an issue until we upgraded Snakemake¹ and it started expecting to be able to write files under HOME. HOME was practically guaranteed *not* to exist in the container because we disable mounting of the user's homedir with --no-home. We first observed this bug (alongside another, to be addressed next) in CI as: OSError: [Errno 30] Read-only file system: '/home/runner' The error comes from inside the container, but that homedir path comes from outside (on the CI runner). Since it isn't mounted due to --no-home, it's a non-existent path on the image filesystem. That could be ok since Snakemake will create the missing parts (without a boundary! orz), but it isn't ok in practice since the image filesystem is by default read-only (and the next bug to address). Note that even though our Docker image sets HOME=/nextstrain, the conversion to a Singularity image makes that a *default* value, e.g. HOME=${HOME:-/nextstrain}. It's unsurprising this semantic shift is a source of a subtle bugs! Resolves: <#274> ¹ <nextstrain/docker-base#136>
- Loading branch information