The source project of this merge request has been removed.
Try tmpfs for repository storage, etc
What does this MR do?
Mounts a tmpfs share on /tmp/tests in .gitlab-ci.yml jobs, and cleans the repository directory after each suite
Are there points in the code the reviewer needs to double check?
This represents increased RAM usage in the jobs, and I don't know what the upper bound of that is. However, cleaning after each job should prevent it from being multiple GiB, or even > 100MiB, so I'm not too worried.
Why was this MR needed?
Some tests make extensive use of filesystem access (e.g., git_access_spec.rb
does 400Mib of writes). Reads are naturally cached by the filesystem, but a tmpfs can speed up writes quite well.
This MR saves perhaps 10% on that set of specs, and benefits will accrue to any spec that does create(:project)
, etc.
Screenshots (if relevant)
Does this MR meet the acceptance criteria?
-
CHANGELOG entry added -
Documentation created/updated -
API support added - Tests
-
Added for this feature/bug -
All builds are passing
-
-
Conform by the merge request performance guides -
Conform by the style guides -
Branch has no merge conflicts with master
(if you do - rebase it please) -
Squashed related commits together
What are the relevant issue numbers?
Spawned from #23034 (closed)