{"action":"created","comment":{"url":"https://api.github.com/repos/common-workflow-language/cwltool/pulls/comments/184136155","pull_request_review_id":115269542,"id":184136155,"diff_hunk":"@@ -1,4 +1,3 @@\n #!/bin/sh\n set -e\n-docker build --file=cwltool_module.Dockerfile --tag=commonworkflowlanguage/cwltool_module .","path":"build-cwl-docker.sh","position":3,"original_position":3,"commit_id":"13b7079479daef5dc48d46d25b719555e84f3f87","original_commit_id":"fb259082a0049bd8c76ee9deb3ffd4714b4cc6c8","user":{"login":"tetron","id":1316612,"avatar_url":"https://avatars3.githubusercontent.com/u/1316612?v=4","gravatar_id":"","url":"https://api.github.com/users/tetron","html_url":"https://github.com/tetron","followers_url":"https://api.github.com/users/tetron/followers","following_url":"https://api.github.com/users/tetron/following{/other_user}","gists_url":"https://api.github.com/users/tetron/gists{/gist_id}","starred_url":"https://api.github.com/users/tetron/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tetron/subscriptions","organizations_url":"https://api.github.com/users/tetron/orgs","repos_url":"https://api.github.com/users/tetron/repos","events_url":"https://api.github.com/users/tetron/events{/privacy}","received_events_url":"https://api.github.com/users/tetron/received_events","type":"User","site_admin":false},"body":"Yes, I think that would work.  The cwltool_module image is used to run \"python -mschema_salad.makedoc\", the key difference is that cwltool_module shouldn't have `WORKDIR /error` and `ENTRYPOINT`.  The simple solution is to layer the cwltool image on top of cwltool_module.","created_at":"2018-04-25T17:03:21Z","updated_at":"2018-04-25T17:03:21Z","html_url":"https://github.com/common-workflow-language/cwltool/pull/690#discussion_r184136155","pull_request_url":"https://api.github.com/repos/common-workflow-language/cwltool/pulls/690","author_association":"OWNER","_links":{"self":{"href":"https://api.github.com/repos/common-workflow-language/cwltool/pulls/comments/184136155"},"html":{"href":"https://github.com/common-workflow-language/cwltool/pull/690#discussion_r184136155"},"pull_request":{"href":"https://api.github.com/repos/common-workflow-language/cwltool/pulls/690"}},"in_reply_to_id":183426099},"pull_request":{"url":"https://api.github.com/repos/common-workflow-language/cwltool/pulls/690","id":175461899,"html_url":"https://github.com/common-workflow-language/cwltool/pull/690","diff_url":"https://github.com/common-workflow-language/cwltool/pull/690.diff","patch_url":"https://github.com/common-workflow-language/cwltool/pull/690.patch","issue_url":"https://api.github.com/repos/common-workflow-language/cwltool/issues/690","number":690,"state":"open","locked":false,"title":"Stop using Docker in Docker for container image","user":{"login":"undu","id":578125,"avatar_url":"https://avatars0.githubusercontent.com/u/578125?v=4","gravatar_id":"","url":"https://api.github.com/users/undu","html_url":"https://github.com/undu","followers_url":"https://api.github.com/users/undu/followers","following_url":"https://api.github.com/users/undu/following{/other_user}","gists_url":"https://api.github.com/users/undu/gists{/gist_id}","starred_url":"https://api.github.com/users/undu/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/undu/subscriptions","organizations_url":"https://api.github.com/users/undu/orgs","repos_url":"https://api.github.com/users/undu/repos","events_url":"https://api.github.com/users/undu/events{/privacy}","received_events_url":"https://api.github.com/users/undu/received_events","type":"User","site_admin":false},"body":"Docker in docker has been frowned upon for quite some time since it requires elevated privileges: http://jpetazzo.github.io/2015/09/03/do-not-use-docker-in-docker-for-ci/\r\nFurthermore, it didn't work with newer versions as the wrapper script was giving errors (problems about mounting special folders, meaning it could not connect to the docker daemon)\r\nThe image was also missing nodejs, so the inline expressions were failing.\r\n\r\nWe can avoid dind :)\r\nThe only caveat is that a new mountpoint needs to be define between the host and the cwltool container, so cwltool has visibility of the files produced by the tools. (usually /tmp)\r\n\r\nThis changes allow us to drop one of the two images that were being used, as well as the wrapper script.\r\nI also took it upon myself to use multi-stage dockerfiles to try and reduce the image file.\r\nNow the base image is Alpine instead of Ubuntu and has nodejs included.\r\nThese changes mean the image is now 227 MB instead of the hefty 781MB\r\n\r\n\r\nWhat would be missing still would be to check if the shell scripts still work, and changing the documentation to update it as this new image could mean braking some use-cases.\r\n\r\nI almost forgot: I dodn't see a regression, but apparently the libc used  in alpine can be slower than glibc, if it's a problem I can try making a build from a Debian base.","created_at":"2018-03-16T07:52:37Z","updated_at":"2018-04-25T17:03:21Z","closed_at":null,"merged_at":null,"merge_commit_sha":"9072ff00c56696d766551265211a057ed78fe0b4","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/common-workflow-language/cwltool/pulls/690/commits","review_comments_url":"https://api.github.com/repos/common-workflow-language/cwltool/pulls/690/comments","review_comment_url":"https://api.github.com/repos/common-workflow-language/cwltool/pulls/comments{/number}","comments_url":"https://api.github.com/repos/common-workflow-language/cwltool/issues/690/comments","statuses_url":"https://api.github.com/repos/common-workflow-language/cwltool/statuses/13b7079479daef5dc48d46d25b719555e84f3f87","head":{"label":"undu:dockerfiles","ref":"dockerfiles","sha":"13b7079479daef5dc48d46d25b719555e84f3f87","user":{"login":"undu","id":578125,"avatar_url":"https://avatars0.githubusercontent.com/u/578125?v=4","gravatar_id":"","url":"https://api.github.com/users/undu","html_url":"https://github.com/undu","followers_url":"https://api.github.com/users/undu/followers","following_url":"https://api.github.com/users/undu/following{/other_user}","gists_url":"https://api.github.com/users/undu/gists{/gist_id}","starred_url":"https://api.github.com/users/undu/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/undu/subscriptions","organizations_url":"https://api.github.com/users/undu/orgs","repos_url":"https://api.github.com/users/undu/repos","events_url":"https://api.github.com/users/undu/events{/privacy}","received_events_url":"https://api.github.com/users/undu/received_events","type":"User","site_admin":false},"repo":{"id":93793584,"name":"cwltool","full_name":"undu/cwltool","owner":{"login":"undu","id":578125,"avatar_url":"https://avatars0.githubusercontent.com/u/578125?v=4","gravatar_id":"","url":"https://api.github.com/users/undu","html_url":"https://github.com/undu","followers_url":"https://api.github.com/users/undu/followers","following_url":"https://api.github.com/users/undu/following{/other_user}","gists_url":"https://api.github.com/users/undu/gists{/gist_id}","starred_url":"https://api.github.com/users/undu/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/undu/subscriptions","organizations_url":"https://api.github.com/users/undu/orgs","repos_url":"https://api.github.com/users/undu/repos","events_url":"https://api.github.com/users/undu/events{/privacy}","received_events_url":"https://api.github.com/users/undu/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/undu/cwltool","description":"Common Workflow Language reference implementation","fork":true,"url":"https://api.github.com/repos/undu/cwltool","forks_url":"https://api.github.com/repos/undu/cwltool/forks","keys_url":"https://api.github.com/repos/undu/cwltool/keys{/key_id}","collaborators_url":"https://api.github.com/repos/undu/cwltool/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/undu/cwltool/teams","hooks_url":"https://api.github.com/repos/undu/cwltool/hooks","issue_events_url":"https://api.github.com/repos/undu/cwltool/issues/events{/number}","events_url":"https://api.github.com/repos/undu/cwltool/events","assignees_url":"https://api.github.com/repos/undu/cwltool/assignees{/user}","branches_url":"https://api.github.com/repos/undu/cwltool/branches{/branch}","tags_url":"https://api.github.com/repos/undu/cwltool/tags","blobs_url":"https://api.github.com/repos/undu/cwltool/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/undu/cwltool/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/undu/cwltool/git/refs{/sha}","trees_url":"https://api.github.com/repos/undu/cwltool/git/trees{/sha}","statuses_url":"https://api.github.com/repos/undu/cwltool/statuses/{sha}","languages_url":"https://api.github.com/repos/undu/cwltool/languages","stargazers_url":"https://api.github.com/repos/undu/cwltool/stargazers","contributors_url":"https://api.github.com/repos/undu/cwltool/contributors","subscribers_url":"https://api.github.com/repos/undu/cwltool/subscribers","subscription_url":"https://api.github.com/repos/undu/cwltool/subscription","commits_url":"https://api.github.com/repos/undu/cwltool/commits{/sha}","git_commits_url":"https://api.github.com/repos/undu/cwltool/git/commits{/sha}","comments_url":"https://api.github.com/repos/undu/cwltool/comments{/number}","issue_comment_url":"https://api.github.com/repos/undu/cwltool/issues/comments{/number}","contents_url":"https://api.github.com/repos/undu/cwltool/contents/{+path}","compare_url":"https://api.github.com/repos/undu/cwltool/compare/{base}...{head}","merges_url":"https://api.github.com/repos/undu/cwltool/merges","archive_url":"https://api.github.com/repos/undu/cwltool/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/undu/cwltool/downloads","issues_url":"https://api.github.com/repos/undu/cwltool/issues{/number}","pulls_url":"https://api.github.com/repos/undu/cwltool/pulls{/number}","milestones_url":"https://api.github.com/repos/undu/cwltool/milestones{/number}","notifications_url":"https://api.github.com/repos/undu/cwltool/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/undu/cwltool/labels{/name}","releases_url":"https://api.github.com/repos/undu/cwltool/releases{/id}","deployments_url":"https://api.github.com/repos/undu/cwltool/deployments","created_at":"2017-06-08T21:32:10Z","updated_at":"2018-03-13T21:55:30Z","pushed_at":"2018-04-25T16:52:24Z","git_url":"git://github.com/undu/cwltool.git","ssh_url":"git@github.com:undu/cwltool.git","clone_url":"https://github.com/undu/cwltool.git","svn_url":"https://github.com/undu/cwltool","homepage":null,"size":4938,"stargazers_count":0,"watchers_count":0,"language":"Python","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":0,"license":{"key":"apache-2.0","name":"Apache License 2.0","spdx_id":"Apache-2.0","url":"https://api.github.com/licenses/apache-2.0"},"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"common-workflow-language:master","ref":"master","sha":"c9704f5705eeeab7cfdf982e1e0a10ce02f2c1f3","user":{"login":"common-workflow-language","id":9947495,"avatar_url":"https://avatars2.githubusercontent.com/u/9947495?v=4","gravatar_id":"","url":"https://api.github.com/users/common-workflow-language","html_url":"https://github.com/common-workflow-language","followers_url":"https://api.github.com/users/common-workflow-language/followers","following_url":"https://api.github.com/users/common-workflow-language/following{/other_user}","gists_url":"https://api.github.com/users/common-workflow-language/gists{/gist_id}","starred_url":"https://api.github.com/users/common-workflow-language/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/common-workflow-language/subscriptions","organizations_url":"https://api.github.com/users/common-workflow-language/orgs","repos_url":"https://api.github.com/users/common-workflow-language/repos","events_url":"https://api.github.com/users/common-workflow-language/events{/privacy}","received_events_url":"https://api.github.com/users/common-workflow-language/received_events","type":"Organization","site_admin":false},"repo":{"id":43816051,"name":"cwltool","full_name":"common-workflow-language/cwltool","owner":{"login":"common-workflow-language","id":9947495,"avatar_url":"https://avatars2.githubusercontent.com/u/9947495?v=4","gravatar_id":"","url":"https://api.github.com/users/common-workflow-language","html_url":"https://github.com/common-workflow-language","followers_url":"https://api.github.com/users/common-workflow-language/followers","following_url":"https://api.github.com/users/common-workflow-language/following{/other_user}","gists_url":"https://api.github.com/users/common-workflow-language/gists{/gist_id}","starred_url":"https://api.github.com/users/common-workflow-language/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/common-workflow-language/subscriptions","organizations_url":"https://api.github.com/users/common-workflow-language/orgs","repos_url":"https://api.github.com/users/common-workflow-language/repos","events_url":"https://api.github.com/users/common-workflow-language/events{/privacy}","received_events_url":"https://api.github.com/users/common-workflow-language/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/common-workflow-language/cwltool","description":"Common Workflow Language reference implementation","fork":false,"url":"https://api.github.com/repos/common-workflow-language/cwltool","forks_url":"https://api.github.com/repos/common-workflow-language/cwltool/forks","keys_url":"https://api.github.com/repos/common-workflow-language/cwltool/keys{/key_id}","collaborators_url":"https://api.github.com/repos/common-workflow-language/cwltool/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/common-workflow-language/cwltool/teams","hooks_url":"https://api.github.com/repos/common-workflow-language/cwltool/hooks","issue_events_url":"https://api.github.com/repos/common-workflow-language/cwltool/issues/events{/number}","events_url":"https://api.github.com/repos/common-workflow-language/cwltool/events","assignees_url":"https://api.github.com/repos/common-workflow-language/cwltool/assignees{/user}","branches_url":"https://api.github.com/repos/common-workflow-language/cwltool/branches{/branch}","tags_url":"https://api.github.com/repos/common-workflow-language/cwltool/tags","blobs_url":"https://api.github.com/repos/common-workflow-language/cwltool/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/common-workflow-language/cwltool/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/common-workflow-language/cwltool/git/refs{/sha}","trees_url":"https://api.github.com/repos/common-workflow-language/cwltool/git/trees{/sha}","statuses_url":"https://api.github.com/repos/common-workflow-language/cwltool/statuses/{sha}","languages_url":"https://api.github.com/repos/common-workflow-language/cwltool/languages","stargazers_url":"https://api.github.com/repos/common-workflow-language/cwltool/stargazers","contributors_url":"https://api.github.com/repos/common-workflow-language/cwltool/contributors","subscribers_url":"https://api.github.com/repos/common-workflow-language/cwltool/subscribers","subscription_url":"https://api.github.com/repos/common-workflow-language/cwltool/subscription","commits_url":"https://api.github.com/repos/common-workflow-language/cwltool/commits{/sha}","git_commits_url":"https://api.github.com/repos/common-workflow-language/cwltool/git/commits{/sha}","comments_url":"https://api.github.com/repos/common-workflow-language/cwltool/comments{/number}","issue_comment_url":"https://api.github.com/repos/common-workflow-language/cwltool/issues/comments{/number}","contents_url":"https://api.github.com/repos/common-workflow-language/cwltool/contents/{+path}","compare_url":"https://api.github.com/repos/common-workflow-language/cwltool/compare/{base}...{head}","merges_url":"https://api.github.com/repos/common-workflow-language/cwltool/merges","archive_url":"https://api.github.com/repos/common-workflow-language/cwltool/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/common-workflow-language/cwltool/downloads","issues_url":"https://api.github.com/repos/common-workflow-language/cwltool/issues{/number}","pulls_url":"https://api.github.com/repos/common-workflow-language/cwltool/pulls{/number}","milestones_url":"https://api.github.com/repos/common-workflow-language/cwltool/milestones{/number}","notifications_url":"https://api.github.com/repos/common-workflow-language/cwltool/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/common-workflow-language/cwltool/labels{/name}","releases_url":"https://api.github.com/repos/common-workflow-language/cwltool/releases{/id}","deployments_url":"https://api.github.com/repos/common-workflow-language/cwltool/deployments","created_at":"2015-10-07T13:03:05Z","updated_at":"2018-04-25T16:52:05Z","pushed_at":"2018-04-25T16:52:26Z","git_url":"git://github.com/common-workflow-language/cwltool.git","ssh_url":"git@github.com:common-workflow-language/cwltool.git","clone_url":"https://github.com/common-workflow-language/cwltool.git","svn_url":"https://github.com/common-workflow-language/cwltool","homepage":null,"size":5819,"stargazers_count":95,"watchers_count":95,"language":"Python","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":95,"mirror_url":null,"archived":false,"open_issues_count":172,"license":{"key":"apache-2.0","name":"Apache License 2.0","spdx_id":"Apache-2.0","url":"https://api.github.com/licenses/apache-2.0"},"forks":95,"open_issues":172,"watchers":95,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/common-workflow-language/cwltool/pulls/690"},"html":{"href":"https://github.com/common-workflow-language/cwltool/pull/690"},"issue":{"href":"https://api.github.com/repos/common-workflow-language/cwltool/issues/690"},"comments":{"href":"https://api.github.com/repos/common-workflow-language/cwltool/issues/690/comments"},"review_comments":{"href":"https://api.github.com/repos/common-workflow-language/cwltool/pulls/690/comments"},"review_comment":{"href":"https://api.github.com/repos/common-workflow-language/cwltool/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/common-workflow-language/cwltool/pulls/690/commits"},"statuses":{"href":"https://api.github.com/repos/common-workflow-language/cwltool/statuses/13b7079479daef5dc48d46d25b719555e84f3f87"}},"author_association":"CONTRIBUTOR"}}
{"actor":{"display_login":"tetron"}}