jenkins-bot has submitted this change and it was merged. ( 
https://gerrit.wikimedia.org/r/396009 )

Change subject: Delete log/src as nobody via a docker container
......................................................................


Delete log/src as nobody via a docker container

log / src might have files not deletable by the Jenkins agent. For
examples:
* pip writing a pip/http which is only accessibly by nobody
* npm install node_modules with group 'nogroup', failling to honor the
  parent directory setgid.

That least to the next build failling to delete some files. Instead of
deleting as jenkins-deploy, use a Docker container to delete log and src
as the nobody user.

That is done by mounting the whole workspace as a volume and then
deleting the directories individually.

Update:
*tox-docker
*node-6-docker
pywikibot-core-tox-doc-docker
pywikibot-core-tox-nose34-docker
pywikibot-core-tox-nose-docker
composer-package-php70-docker
composer-php70-docker
lintr-docker
lintr-docker-non-voting
mediawiki-core-php70-phan-docker
mediawiki-core-phpcs-docker
mwext-php70-phan-docker
operations-puppet-tests-docker

Change-Id: I7171db1454c4dd52322ac031ad5c7cc39977c39e
---
M jjb/macro-docker.yaml
1 file changed, 18 insertions(+), 5 deletions(-)

Approvals:
  Hashar: Looks good to me, approved
  Addshore: Looks good to me, but someone else must approve
  jenkins-bot: Verified



diff --git a/jjb/macro-docker.yaml b/jjb/macro-docker.yaml
index d9ea506..24582ee 100644
--- a/jjb/macro-docker.yaml
+++ b/jjb/macro-docker.yaml
@@ -3,18 +3,31 @@
 - builder:
     name: docker-log-dir
     builders:
-     - shell: |
-        rm -rf log
-        mkdir -m 2777 -p "log"
+     - docker-wipe-dir:
+         dir: log
 
 # Create a src directory that will be
 # mounted into a container with --volume
 - builder:
     name: docker-src-dir
     builders:
+     - docker-wipe-dir:
+         dir: src
+
+# Delete content of a directory under $WORKSPACE as 'nobody'
+- builder:
+    name: docker-wipe-dir
+    builders:
      - shell: |
-        rm -rf src
-        mkdir -m 2777 -p "src"
+         set -eux
+         mkdir -m 2777 -p "{dir}"
+         docker run \
+             --rm \
+             --user=nobody \
+             -v "$WORKSPACE":/workspace \
+             --entrypoint=/usr/bin/find \
+             docker-registry.wikimedia.org/wikimedia-stretch:latest \
+             "/workspace/{dir}" -mindepth 1 -delete
 
 # Create a cache directory that will be
 # mounted into a container with --volume

-- 
To view, visit https://gerrit.wikimedia.org/r/396009
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: I7171db1454c4dd52322ac031ad5c7cc39977c39e
Gerrit-PatchSet: 2
Gerrit-Project: integration/config
Gerrit-Branch: master
Gerrit-Owner: Hashar <[email protected]>
Gerrit-Reviewer: Addshore <[email protected]>
Gerrit-Reviewer: Hashar <[email protected]>
Gerrit-Reviewer: Paladox <[email protected]>
Gerrit-Reviewer: jenkins-bot <>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to