{"action":"created","comment":{"url":"https://api.github.com/repos/shopsys/shopsys/pulls/comments/219463978","pull_request_review_id":157647285,"id":219463978,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDIxOTQ2Mzk3OA==","diff_hunk":"@@ -70,3 +70,6 @@ USER www-data\n # allow configuring the GitHub OAuth token\n ARG github_oauth_token\n RUN if [ -n \"$github_oauth_token\" ]; then composer config -g github-oauth.github.com $github_oauth_token; fi\n+\n+# hirak/prestissimo makes the install of Composer dependencies faster by parallel downloading\n+RUN composer global require hirak/prestissimo","path":"project-base/docker/php-fpm/Dockerfile","position":6,"original_position":6,"commit_id":"f2cbfa5121d285d0c84268c16d98eeb616b1a415","original_commit_id":"f2cbfa5121d285d0c84268c16d98eeb616b1a415","user":{"login":"Miroslav-Stopka","id":35930284,"node_id":"MDQ6VXNlcjM1OTMwMjg0","avatar_url":"https://avatars1.githubusercontent.com/u/35930284?v=4","gravatar_id":"","url":"https://api.github.com/users/Miroslav-Stopka","html_url":"https://github.com/Miroslav-Stopka","followers_url":"https://api.github.com/users/Miroslav-Stopka/followers","following_url":"https://api.github.com/users/Miroslav-Stopka/following{/other_user}","gists_url":"https://api.github.com/users/Miroslav-Stopka/gists{/gist_id}","starred_url":"https://api.github.com/users/Miroslav-Stopka/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Miroslav-Stopka/subscriptions","organizations_url":"https://api.github.com/users/Miroslav-Stopka/orgs","repos_url":"https://api.github.com/users/Miroslav-Stopka/repos","events_url":"https://api.github.com/users/Miroslav-Stopka/events{/privacy}","received_events_url":"https://api.github.com/users/Miroslav-Stopka/received_events","type":"User","site_admin":false},"body":"But I'm thinking now, If this package will be placed into composer.json, that will be too late for faster composer install. Am I right? I need to be sure. ","created_at":"2018-09-21T11:19:48Z","updated_at":"2018-09-21T11:19:48Z","html_url":"https://github.com/shopsys/shopsys/pull/496#discussion_r219463978","pull_request_url":"https://api.github.com/repos/shopsys/shopsys/pulls/496","author_association":"CONTRIBUTOR","_links":{"self":{"href":"https://api.github.com/repos/shopsys/shopsys/pulls/comments/219463978"},"html":{"href":"https://github.com/shopsys/shopsys/pull/496#discussion_r219463978"},"pull_request":{"href":"https://api.github.com/repos/shopsys/shopsys/pulls/496"}},"in_reply_to_id":219463398},"pull_request":{"url":"https://api.github.com/repos/shopsys/shopsys/pulls/496","id":217066906,"node_id":"MDExOlB1bGxSZXF1ZXN0MjE3MDY2OTA2","html_url":"https://github.com/shopsys/shopsys/pull/496","diff_url":"https://github.com/shopsys/shopsys/pull/496.diff","patch_url":"https://github.com/shopsys/shopsys/pull/496.patch","issue_url":"https://api.github.com/repos/shopsys/shopsys/issues/496","number":496,"state":"open","locked":false,"title":"Require global package hirak/prestisimo in docker images","user":{"login":"MattCzerner","id":16896425,"node_id":"MDQ6VXNlcjE2ODk2NDI1","avatar_url":"https://avatars0.githubusercontent.com/u/16896425?v=4","gravatar_id":"","url":"https://api.github.com/users/MattCzerner","html_url":"https://github.com/MattCzerner","followers_url":"https://api.github.com/users/MattCzerner/followers","following_url":"https://api.github.com/users/MattCzerner/following{/other_user}","gists_url":"https://api.github.com/users/MattCzerner/gists{/gist_id}","starred_url":"https://api.github.com/users/MattCzerner/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/MattCzerner/subscriptions","organizations_url":"https://api.github.com/users/MattCzerner/orgs","repos_url":"https://api.github.com/users/MattCzerner/repos","events_url":"https://api.github.com/users/MattCzerner/events{/privacy}","received_events_url":"https://api.github.com/users/MattCzerner/received_events","type":"User","site_admin":false},"body":"| Q             | A\r\n| ------------- | ---\r\n|Description, reason for the PR| Our composer install takes too long because of number of dependencies. hirak/prestisimo package allows paralel installation of dependencies. This cause dramatic improvement of composer install performance\r\n|New feature| No\r\n|BC breaks| No\r\n|Fixes issues| #440\r\n|Standards and tests pass| Yes\r\n|Have you read and signed our [License Agreement for contributions](https://www.shopsys.com/license-agreement)?| Yes\r\n\r\nI did performance tests of our composer install after few optimalizations.\r\n\r\n\r\n\r\nI tested 4 scenarios and used this process to make sure that installation is clear without any cache:\r\n\r\n```\r\ngit checkout <větev>\r\ndocker-compose up -d --build --force-recreate\r\ndocker-exec -it shopsys-framework-php-fpm sh\r\n    rm -rf vendor/\r\n    rm composer.lock\r\n    composer clearcache\r\n    composer install\r\n```\r\n\r\nMaster - using forks\r\n9m12s\r\n\r\nMaster - using patches (one patch does not apply)\r\n4m 39s\r\n\r\nMaster with hirak/prestisimo package for paralel installetion of composer dependencies - using forks\r\n7m 31s\r\n\r\nMaster with hirak/prestisimo package for paralel installetion of composer dependencies - using patches (one patch does not apply)\r\n1m 17s\r\n","created_at":"2018-09-20T18:32:50Z","updated_at":"2018-09-21T11:19:48Z","closed_at":null,"merged_at":null,"merge_commit_sha":"06c77b790e9fc08dc7af6fd03f0c3e01ed7d0184","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/shopsys/shopsys/pulls/496/commits","review_comments_url":"https://api.github.com/repos/shopsys/shopsys/pulls/496/comments","review_comment_url":"https://api.github.com/repos/shopsys/shopsys/pulls/comments{/number}","comments_url":"https://api.github.com/repos/shopsys/shopsys/issues/496/comments","statuses_url":"https://api.github.com/repos/shopsys/shopsys/statuses/f2cbfa5121d285d0c84268c16d98eeb616b1a415","head":{"label":"shopsys:mc-prestisimo-composer","ref":"mc-prestisimo-composer","sha":"f2cbfa5121d285d0c84268c16d98eeb616b1a415","user":{"login":"shopsys","id":17828168,"node_id":"MDEyOk9yZ2FuaXphdGlvbjE3ODI4MTY4","avatar_url":"https://avatars3.githubusercontent.com/u/17828168?v=4","gravatar_id":"","url":"https://api.github.com/users/shopsys","html_url":"https://github.com/shopsys","followers_url":"https://api.github.com/users/shopsys/followers","following_url":"https://api.github.com/users/shopsys/following{/other_user}","gists_url":"https://api.github.com/users/shopsys/gists{/gist_id}","starred_url":"https://api.github.com/users/shopsys/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/shopsys/subscriptions","organizations_url":"https://api.github.com/users/shopsys/orgs","repos_url":"https://api.github.com/users/shopsys/repos","events_url":"https://api.github.com/users/shopsys/events{/privacy}","received_events_url":"https://api.github.com/users/shopsys/received_events","type":"Organization","site_admin":false},"repo":{"id":119832166,"node_id":"MDEwOlJlcG9zaXRvcnkxMTk4MzIxNjY=","name":"shopsys","full_name":"shopsys/shopsys","private":false,"owner":{"login":"shopsys","id":17828168,"node_id":"MDEyOk9yZ2FuaXphdGlvbjE3ODI4MTY4","avatar_url":"https://avatars3.githubusercontent.com/u/17828168?v=4","gravatar_id":"","url":"https://api.github.com/users/shopsys","html_url":"https://github.com/shopsys","followers_url":"https://api.github.com/users/shopsys/followers","following_url":"https://api.github.com/users/shopsys/following{/other_user}","gists_url":"https://api.github.com/users/shopsys/gists{/gist_id}","starred_url":"https://api.github.com/users/shopsys/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/shopsys/subscriptions","organizations_url":"https://api.github.com/users/shopsys/orgs","repos_url":"https://api.github.com/users/shopsys/repos","events_url":"https://api.github.com/users/shopsys/events{/privacy}","received_events_url":"https://api.github.com/users/shopsys/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/shopsys/shopsys","description":"Main repository for maintaining Shopsys Framework packages. Open for ISSUES and PULL REQUESTS. ","fork":false,"url":"https://api.github.com/repos/shopsys/shopsys","forks_url":"https://api.github.com/repos/shopsys/shopsys/forks","keys_url":"https://api.github.com/repos/shopsys/shopsys/keys{/key_id}","collaborators_url":"https://api.github.com/repos/shopsys/shopsys/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/shopsys/shopsys/teams","hooks_url":"https://api.github.com/repos/shopsys/shopsys/hooks","issue_events_url":"https://api.github.com/repos/shopsys/shopsys/issues/events{/number}","events_url":"https://api.github.com/repos/shopsys/shopsys/events","assignees_url":"https://api.github.com/repos/shopsys/shopsys/assignees{/user}","branches_url":"https://api.github.com/repos/shopsys/shopsys/branches{/branch}","tags_url":"https://api.github.com/repos/shopsys/shopsys/tags","blobs_url":"https://api.github.com/repos/shopsys/shopsys/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/shopsys/shopsys/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/shopsys/shopsys/git/refs{/sha}","trees_url":"https://api.github.com/repos/shopsys/shopsys/git/trees{/sha}","statuses_url":"https://api.github.com/repos/shopsys/shopsys/statuses/{sha}","languages_url":"https://api.github.com/repos/shopsys/shopsys/languages","stargazers_url":"https://api.github.com/repos/shopsys/shopsys/stargazers","contributors_url":"https://api.github.com/repos/shopsys/shopsys/contributors","subscribers_url":"https://api.github.com/repos/shopsys/shopsys/subscribers","subscription_url":"https://api.github.com/repos/shopsys/shopsys/subscription","commits_url":"https://api.github.com/repos/shopsys/shopsys/commits{/sha}","git_commits_url":"https://api.github.com/repos/shopsys/shopsys/git/commits{/sha}","comments_url":"https://api.github.com/repos/shopsys/shopsys/comments{/number}","issue_comment_url":"https://api.github.com/repos/shopsys/shopsys/issues/comments{/number}","contents_url":"https://api.github.com/repos/shopsys/shopsys/contents/{+path}","compare_url":"https://api.github.com/repos/shopsys/shopsys/compare/{base}...{head}","merges_url":"https://api.github.com/repos/shopsys/shopsys/merges","archive_url":"https://api.github.com/repos/shopsys/shopsys/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/shopsys/shopsys/downloads","issues_url":"https://api.github.com/repos/shopsys/shopsys/issues{/number}","pulls_url":"https://api.github.com/repos/shopsys/shopsys/pulls{/number}","milestones_url":"https://api.github.com/repos/shopsys/shopsys/milestones{/number}","notifications_url":"https://api.github.com/repos/shopsys/shopsys/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/shopsys/shopsys/labels{/name}","releases_url":"https://api.github.com/repos/shopsys/shopsys/releases{/id}","deployments_url":"https://api.github.com/repos/shopsys/shopsys/deployments","created_at":"2018-02-01T12:21:09Z","updated_at":"2018-09-21T10:25:17Z","pushed_at":"2018-09-21T10:56:34Z","git_url":"git://github.com/shopsys/shopsys.git","ssh_url":"git@github.com:shopsys/shopsys.git","clone_url":"https://github.com/shopsys/shopsys.git","svn_url":"https://github.com/shopsys/shopsys","homepage":"https://www.shopsys.com","size":45162,"stargazers_count":106,"watchers_count":106,"language":"PHP","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":20,"mirror_url":null,"archived":false,"open_issues_count":108,"license":{"key":"other","name":"Other","spdx_id":null,"url":null,"node_id":"MDc6TGljZW5zZTA="},"forks":20,"open_issues":108,"watchers":106,"default_branch":"master"}},"base":{"label":"shopsys:master","ref":"master","sha":"3df2623af876f5986d033070cdb00a41db310d71","user":{"login":"shopsys","id":17828168,"node_id":"MDEyOk9yZ2FuaXphdGlvbjE3ODI4MTY4","avatar_url":"https://avatars3.githubusercontent.com/u/17828168?v=4","gravatar_id":"","url":"https://api.github.com/users/shopsys","html_url":"https://github.com/shopsys","followers_url":"https://api.github.com/users/shopsys/followers","following_url":"https://api.github.com/users/shopsys/following{/other_user}","gists_url":"https://api.github.com/users/shopsys/gists{/gist_id}","starred_url":"https://api.github.com/users/shopsys/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/shopsys/subscriptions","organizations_url":"https://api.github.com/users/shopsys/orgs","repos_url":"https://api.github.com/users/shopsys/repos","events_url":"https://api.github.com/users/shopsys/events{/privacy}","received_events_url":"https://api.github.com/users/shopsys/received_events","type":"Organization","site_admin":false},"repo":{"id":119832166,"node_id":"MDEwOlJlcG9zaXRvcnkxMTk4MzIxNjY=","name":"shopsys","full_name":"shopsys/shopsys","private":false,"owner":{"login":"shopsys","id":17828168,"node_id":"MDEyOk9yZ2FuaXphdGlvbjE3ODI4MTY4","avatar_url":"https://avatars3.githubusercontent.com/u/17828168?v=4","gravatar_id":"","url":"https://api.github.com/users/shopsys","html_url":"https://github.com/shopsys","followers_url":"https://api.github.com/users/shopsys/followers","following_url":"https://api.github.com/users/shopsys/following{/other_user}","gists_url":"https://api.github.com/users/shopsys/gists{/gist_id}","starred_url":"https://api.github.com/users/shopsys/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/shopsys/subscriptions","organizations_url":"https://api.github.com/users/shopsys/orgs","repos_url":"https://api.github.com/users/shopsys/repos","events_url":"https://api.github.com/users/shopsys/events{/privacy}","received_events_url":"https://api.github.com/users/shopsys/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/shopsys/shopsys","description":"Main repository for maintaining Shopsys Framework packages. Open for ISSUES and PULL REQUESTS. ","fork":false,"url":"https://api.github.com/repos/shopsys/shopsys","forks_url":"https://api.github.com/repos/shopsys/shopsys/forks","keys_url":"https://api.github.com/repos/shopsys/shopsys/keys{/key_id}","collaborators_url":"https://api.github.com/repos/shopsys/shopsys/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/shopsys/shopsys/teams","hooks_url":"https://api.github.com/repos/shopsys/shopsys/hooks","issue_events_url":"https://api.github.com/repos/shopsys/shopsys/issues/events{/number}","events_url":"https://api.github.com/repos/shopsys/shopsys/events","assignees_url":"https://api.github.com/repos/shopsys/shopsys/assignees{/user}","branches_url":"https://api.github.com/repos/shopsys/shopsys/branches{/branch}","tags_url":"https://api.github.com/repos/shopsys/shopsys/tags","blobs_url":"https://api.github.com/repos/shopsys/shopsys/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/shopsys/shopsys/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/shopsys/shopsys/git/refs{/sha}","trees_url":"https://api.github.com/repos/shopsys/shopsys/git/trees{/sha}","statuses_url":"https://api.github.com/repos/shopsys/shopsys/statuses/{sha}","languages_url":"https://api.github.com/repos/shopsys/shopsys/languages","stargazers_url":"https://api.github.com/repos/shopsys/shopsys/stargazers","contributors_url":"https://api.github.com/repos/shopsys/shopsys/contributors","subscribers_url":"https://api.github.com/repos/shopsys/shopsys/subscribers","subscription_url":"https://api.github.com/repos/shopsys/shopsys/subscription","commits_url":"https://api.github.com/repos/shopsys/shopsys/commits{/sha}","git_commits_url":"https://api.github.com/repos/shopsys/shopsys/git/commits{/sha}","comments_url":"https://api.github.com/repos/shopsys/shopsys/comments{/number}","issue_comment_url":"https://api.github.com/repos/shopsys/shopsys/issues/comments{/number}","contents_url":"https://api.github.com/repos/shopsys/shopsys/contents/{+path}","compare_url":"https://api.github.com/repos/shopsys/shopsys/compare/{base}...{head}","merges_url":"https://api.github.com/repos/shopsys/shopsys/merges","archive_url":"https://api.github.com/repos/shopsys/shopsys/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/shopsys/shopsys/downloads","issues_url":"https://api.github.com/repos/shopsys/shopsys/issues{/number}","pulls_url":"https://api.github.com/repos/shopsys/shopsys/pulls{/number}","milestones_url":"https://api.github.com/repos/shopsys/shopsys/milestones{/number}","notifications_url":"https://api.github.com/repos/shopsys/shopsys/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/shopsys/shopsys/labels{/name}","releases_url":"https://api.github.com/repos/shopsys/shopsys/releases{/id}","deployments_url":"https://api.github.com/repos/shopsys/shopsys/deployments","created_at":"2018-02-01T12:21:09Z","updated_at":"2018-09-21T10:25:17Z","pushed_at":"2018-09-21T10:56:34Z","git_url":"git://github.com/shopsys/shopsys.git","ssh_url":"git@github.com:shopsys/shopsys.git","clone_url":"https://github.com/shopsys/shopsys.git","svn_url":"https://github.com/shopsys/shopsys","homepage":"https://www.shopsys.com","size":45162,"stargazers_count":106,"watchers_count":106,"language":"PHP","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":20,"mirror_url":null,"archived":false,"open_issues_count":108,"license":{"key":"other","name":"Other","spdx_id":null,"url":null,"node_id":"MDc6TGljZW5zZTA="},"forks":20,"open_issues":108,"watchers":106,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/shopsys/shopsys/pulls/496"},"html":{"href":"https://github.com/shopsys/shopsys/pull/496"},"issue":{"href":"https://api.github.com/repos/shopsys/shopsys/issues/496"},"comments":{"href":"https://api.github.com/repos/shopsys/shopsys/issues/496/comments"},"review_comments":{"href":"https://api.github.com/repos/shopsys/shopsys/pulls/496/comments"},"review_comment":{"href":"https://api.github.com/repos/shopsys/shopsys/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/shopsys/shopsys/pulls/496/commits"},"statuses":{"href":"https://api.github.com/repos/shopsys/shopsys/statuses/f2cbfa5121d285d0c84268c16d98eeb616b1a415"}},"author_association":"COLLABORATOR"}}
{"actor":{"display_login":"Miroslav-Stopka"}}