Permissions of /builds have changed from 777 to 755 after 12.9.0
Summary
In versions up to 12.9.0 the permission set of /builds in the Docker executor is 777. In version 12.10.1 that changed to 755. As my build images are running as non-root and write to /builds, the upgrade broke my builds. As the change is not listed in the change log, I consider this a bug.
I am not sure, if 12.10.0 is also affected, as it is not working at all because of the /cache issues.
Steps to reproduce
Upgrade to v12.10.1 and try to write to /builds
.gitlab-ci.yml
somejob:
scripts:
- touch /builds/newfile
Actual behavior
Build fails because the write to /builds/newfile is not permitted
Expected behavior
The file/directory gets created because of the world writable permission scheme
Relevant logs and/or screenshots
job log
$ mkdir ~/.ssh
mkdir: cannot create directory ‘/builds/.ssh’: Permission denied
Environment description
We are using the Docker executor.
config.toml contents
concurrent = 1
check_interval = 0
[session_server]
session_timeout = 1800
[[runners]]
name = "foobar"
url = "https://git.example.com/"
token = "AASDADSADADSADASDSADASDASD"
executor = "docker"
[runners.docker]
tls_verify = false
image = "alpine:3"
privileged = false
disable_entrypoint_overwrite = false
oom_kill_disable = false
disable_cache = true
volumes = ["/cache"]
shm_size = 0
[runners.cache]
[runners.cache.s3]
[runners.cache.gcs]
Used GitLab Runner version
Running with gitlab-runner 12.10.1 (ce065b93)
on docker-runner (ansible) aZX4HWo5