Skip to content

Commit dbd3c8b

Browse files
committed
Work around tmpfs default permissions regression in runc 1.33
The Python classic repo's CI just started failing in the container-test job with: `mkdir: cannot create directory '/app/.heroku': Permission denied` eg: https://github.com/heroku/heroku-buildpack-python/actions/runs/19368179568/job/55418539741 After updating Docker locally, I was able to reproduce the error, and have found it's due to the recent runc 1.33 release: https://github.com/opencontainers/runc/releases/tag/v1.3.3 This runc release includes a number of security fixes - however, one of which has a regression: opencontainers/runc#4971 There is a fix for this upstream: opencontainers/runc#4973 ...but it's not released yet. However, we can work around the issue by explicitly setting the previous tmpfs permissions using `:mode=1777`: https://docs.docker.com/engine/storage/tmpfs/#options-for---tmpfs GUS-W-20221627.
1 parent b732e6f commit dbd3c8b

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ format:
2525

2626
run:
2727
@echo "Running buildpack using: STACK=$(STACK) FIXTURE=$(FIXTURE)"
28-
@docker run --rm -v $(PWD):/src:ro --tmpfs /app -e "HOME=/app" -e "STACK=$(STACK)" "$(STACK_IMAGE_TAG)" \
28+
@docker run --rm -v $(PWD):/src:ro --tmpfs /app:mode=1777 -e "HOME=/app" -e "STACK=$(STACK)" "$(STACK_IMAGE_TAG)" \
2929
bash -euo pipefail -O dotglob -c '\
3030
mkdir /tmp/buildpack /tmp/cache /tmp/env; \
3131
cp -r /src/{bin,lib,requirements,vendor} /tmp/buildpack; \

0 commit comments

Comments
 (0)