[GH-ISSUE #676] Enhancement: Add copy-on-write overlay mount method option #435

Open
opened 2026-03-01 21:43:18 +03:00 by kerem · 2 comments
Owner

Originally created by @JustinGrote on GitHub (May 7, 2021).
Original GitHub issue: https://github.com/nektos/act/issues/676

Originally assigned to: @catthehacker on GitHub.

Describe feature

Currently the two options are to bind or mount volumes to work with data, or copy data into the container.

Bind is risky because it is read-write and if you do an action like checkout, you will blow away your data.

Copying data, especially with a large repository, can be slow to create and may produce a large temp file.

I would like to propose a third option, which is to read-only bind the folder and add a read-write overlay mount to tmpfs (Reference: https://stackoverflow.com/a/54465442/5511129). This results in an "instant" mount of the data but allows changes to occur in multiple containers simultaneously without actually changing the local data like bind does.

Preliminary tests on both Windows and Linux show this working really well and I'm happy to PR if tagged up-for-grabs.

This option is also ideal for non-root container scenarios implemented in https://github.com/nektos/act/pull/666

Originally created by @JustinGrote on GitHub (May 7, 2021). Original GitHub issue: https://github.com/nektos/act/issues/676 Originally assigned to: @catthehacker on GitHub. ## Describe feature Currently the two options are to bind or mount volumes to work with data, or copy data into the container. Bind is risky because it is read-write and if you do an action like checkout, you will blow away your data. Copying data, especially with a large repository, can be slow to create and may produce a large temp file. I would like to propose a third option, which is to read-only bind the folder and add a read-write overlay mount to tmpfs (Reference: https://stackoverflow.com/a/54465442/5511129). This results in an "instant" mount of the data but allows changes to occur in multiple containers simultaneously without actually changing the local data like bind does. Preliminary tests on both Windows and Linux show this working really well and I'm happy to PR if tagged up-for-grabs. This option is also ideal for non-root container scenarios implemented in https://github.com/nektos/act/pull/666
Author
Owner

@ukd1 commented on GitHub (May 22, 2021):

I'm also having issues with this, as I have a project with a gbs of data in git-lfs, which takes a while to copy.

<!-- gh-comment-id:846448703 --> @ukd1 commented on GitHub (May 22, 2021): I'm also having issues with this, as I have a project with a gbs of data in git-lfs, which takes a while to copy.
Author
Owner

@github-actions[bot] commented on GitHub (Jun 22, 2021):

Issue is stale and will be closed in 14 days unless there is new activity

<!-- gh-comment-id:865426792 --> @github-actions[bot] commented on GitHub (Jun 22, 2021): Issue is stale and will be closed in 14 days unless there is new activity
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/act#435
No description provided.