{"action":"created","comment":{"url":"https://api.github.com/repos/deislabs/porter/pulls/comments/329166791","pull_request_review_id":294450984,"id":329166791,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDMyOTE2Njc5MQ==","diff_hunk":"@@ -6,6 +6,7 @@ const (\n \tActionInstall   Action = \"install\"\n \tActionUpgrade   Action = \"upgrade\"\n \tActionUninstall Action = \"uninstall\"\n+\tActionCustom    Action = \"custom\"","path":"pkg/config/actions.go","position":null,"original_position":4,"commit_id":"750d12ba109e7574242bb806c85525ecac338856","original_commit_id":"1861a138bed3d14140c495b6c0e3405aace2d46d","user":{"login":"vdice","id":9322017,"node_id":"MDQ6VXNlcjkzMjIwMTc=","avatar_url":"https://avatars3.githubusercontent.com/u/9322017?v=4","gravatar_id":"","url":"https://api.github.com/users/vdice","html_url":"https://github.com/vdice","followers_url":"https://api.github.com/users/vdice/followers","following_url":"https://api.github.com/users/vdice/following{/other_user}","gists_url":"https://api.github.com/users/vdice/gists{/gist_id}","starred_url":"https://api.github.com/users/vdice/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vdice/subscriptions","organizations_url":"https://api.github.com/users/vdice/orgs","repos_url":"https://api.github.com/users/vdice/repos","events_url":"https://api.github.com/users/vdice/events{/privacy}","received_events_url":"https://api.github.com/users/vdice/received_events","type":"User","site_admin":false},"body":"Agreed; updated.","created_at":"2019-09-27T17:03:12Z","updated_at":"2019-09-27T17:03:12Z","html_url":"https://github.com/deislabs/porter/pull/643#discussion_r329166791","pull_request_url":"https://api.github.com/repos/deislabs/porter/pulls/643","author_association":"MEMBER","_links":{"self":{"href":"https://api.github.com/repos/deislabs/porter/pulls/comments/329166791"},"html":{"href":"https://github.com/deislabs/porter/pull/643#discussion_r329166791"},"pull_request":{"href":"https://api.github.com/repos/deislabs/porter/pulls/643"}},"in_reply_to_id":328795156},"pull_request":{"url":"https://api.github.com/repos/deislabs/porter/pulls/643","id":320849895,"node_id":"MDExOlB1bGxSZXF1ZXN0MzIwODQ5ODk1","html_url":"https://github.com/deislabs/porter/pull/643","diff_url":"https://github.com/deislabs/porter/pull/643.diff","patch_url":"https://github.com/deislabs/porter/pull/643.patch","issue_url":"https://api.github.com/repos/deislabs/porter/issues/643","number":643,"state":"open","locked":false,"title":"ref(*): refactor Porter's outputs logic to use the cnab-go library where possible","user":{"login":"vdice","id":9322017,"node_id":"MDQ6VXNlcjkzMjIwMTc=","avatar_url":"https://avatars3.githubusercontent.com/u/9322017?v=4","gravatar_id":"","url":"https://api.github.com/users/vdice","html_url":"https://github.com/vdice","followers_url":"https://api.github.com/users/vdice/followers","following_url":"https://api.github.com/users/vdice/following{/other_user}","gists_url":"https://api.github.com/users/vdice/gists{/gist_id}","starred_url":"https://api.github.com/users/vdice/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vdice/subscriptions","organizations_url":"https://api.github.com/users/vdice/orgs","repos_url":"https://api.github.com/users/vdice/repos","events_url":"https://api.github.com/users/vdice/events{/privacy}","received_events_url":"https://api.github.com/users/vdice/received_events","type":"User","site_admin":false},"body":"# What does this change\r\nThis PR refactors logic in Porter around fetching bundle outputs.  The main theme is the removal of custom Porter code, which was written before support was added in the canonical golang library in https://github.com/deislabs/cnab-go.  Specifically, instead of Porter cache-ing/maintaining an outputs store on the user's local machine in between actions, we read outputs from the updated claims (cnab-go does the work of adding/updating outputs on a claim).\r\n\r\n# What issue does it fix\r\nCloses https://github.com/deislabs/porter/issues/634\r\nCloses https://github.com/deislabs/porter/issues/520\r\n\r\n# Notes for the reviewer\r\n\r\nIt is worth calling out that this is a breaking change.  Bundles with dependencies may encounter issues if all dependent bundles aren't updated/rebuilt with the same (future) release of Porter, as the output data structure has changed (drastically simplified).  As this aligns us with the official golang library and enables streamlined support for future outputs functionality and driver support down the line, we've determined it to be a necessary trade-off.  \r\n\r\nOne subtle change in behavior to consider is this: previously, outputs would be written (locally, as mentioned above) for any/all custom actions (and provided to the user accordingly.)  However, now that we are fetching values from the claim, and outputs are only added/updated on a claim if/when a custom action has `modifies: true` (the non-default), as seen [here](https://github.com/deislabs/cnab-go/blob/master/action/run_custom.go#L57-L61), outputs will only be shown/updated (via `porter instance outputs list` or `porter instance show`) for custom actions with this attribute set to `true`; hence the update to one of the integration test bundles as seen [here](https://github.com/vdice/porter/blob/ref/outputs-cnab-go/examples/exec-outputs/porter.yaml#L10-L16)\r\n\r\n# Checklist\r\n- [x] Unit Tests\r\n- [ ] Documentation\r\n  - [x] Documentation Not Impacted\r\n","created_at":"2019-09-24T16:08:37Z","updated_at":"2019-09-27T17:03:12Z","closed_at":null,"merged_at":null,"merge_commit_sha":"17c506b4b9c2ad9ea5c01bfb8f4ffba98b329350","assignee":null,"assignees":[],"requested_reviewers":[{"login":"jeremyrickard","id":33884483,"node_id":"MDQ6VXNlcjMzODg0NDgz","avatar_url":"https://avatars1.githubusercontent.com/u/33884483?v=4","gravatar_id":"","url":"https://api.github.com/users/jeremyrickard","html_url":"https://github.com/jeremyrickard","followers_url":"https://api.github.com/users/jeremyrickard/followers","following_url":"https://api.github.com/users/jeremyrickard/following{/other_user}","gists_url":"https://api.github.com/users/jeremyrickard/gists{/gist_id}","starred_url":"https://api.github.com/users/jeremyrickard/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jeremyrickard/subscriptions","organizations_url":"https://api.github.com/users/jeremyrickard/orgs","repos_url":"https://api.github.com/users/jeremyrickard/repos","events_url":"https://api.github.com/users/jeremyrickard/events{/privacy}","received_events_url":"https://api.github.com/users/jeremyrickard/received_events","type":"User","site_admin":false}],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/deislabs/porter/pulls/643/commits","review_comments_url":"https://api.github.com/repos/deislabs/porter/pulls/643/comments","review_comment_url":"https://api.github.com/repos/deislabs/porter/pulls/comments{/number}","comments_url":"https://api.github.com/repos/deislabs/porter/issues/643/comments","statuses_url":"https://api.github.com/repos/deislabs/porter/statuses/750d12ba109e7574242bb806c85525ecac338856","head":{"label":"vdice:ref/outputs-cnab-go","ref":"ref/outputs-cnab-go","sha":"750d12ba109e7574242bb806c85525ecac338856","user":{"login":"vdice","id":9322017,"node_id":"MDQ6VXNlcjkzMjIwMTc=","avatar_url":"https://avatars3.githubusercontent.com/u/9322017?v=4","gravatar_id":"","url":"https://api.github.com/users/vdice","html_url":"https://github.com/vdice","followers_url":"https://api.github.com/users/vdice/followers","following_url":"https://api.github.com/users/vdice/following{/other_user}","gists_url":"https://api.github.com/users/vdice/gists{/gist_id}","starred_url":"https://api.github.com/users/vdice/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vdice/subscriptions","organizations_url":"https://api.github.com/users/vdice/orgs","repos_url":"https://api.github.com/users/vdice/repos","events_url":"https://api.github.com/users/vdice/events{/privacy}","received_events_url":"https://api.github.com/users/vdice/received_events","type":"User","site_admin":false},"repo":{"id":161375458,"node_id":"MDEwOlJlcG9zaXRvcnkxNjEzNzU0NTg=","name":"porter","full_name":"vdice/porter","private":false,"owner":{"login":"vdice","id":9322017,"node_id":"MDQ6VXNlcjkzMjIwMTc=","avatar_url":"https://avatars3.githubusercontent.com/u/9322017?v=4","gravatar_id":"","url":"https://api.github.com/users/vdice","html_url":"https://github.com/vdice","followers_url":"https://api.github.com/users/vdice/followers","following_url":"https://api.github.com/users/vdice/following{/other_user}","gists_url":"https://api.github.com/users/vdice/gists{/gist_id}","starred_url":"https://api.github.com/users/vdice/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vdice/subscriptions","organizations_url":"https://api.github.com/users/vdice/orgs","repos_url":"https://api.github.com/users/vdice/repos","events_url":"https://api.github.com/users/vdice/events{/privacy}","received_events_url":"https://api.github.com/users/vdice/received_events","type":"User","site_admin":false},"html_url":"https://github.com/vdice/porter","description":"Porter makes CNAB bundles easier!","fork":true,"url":"https://api.github.com/repos/vdice/porter","forks_url":"https://api.github.com/repos/vdice/porter/forks","keys_url":"https://api.github.com/repos/vdice/porter/keys{/key_id}","collaborators_url":"https://api.github.com/repos/vdice/porter/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/vdice/porter/teams","hooks_url":"https://api.github.com/repos/vdice/porter/hooks","issue_events_url":"https://api.github.com/repos/vdice/porter/issues/events{/number}","events_url":"https://api.github.com/repos/vdice/porter/events","assignees_url":"https://api.github.com/repos/vdice/porter/assignees{/user}","branches_url":"https://api.github.com/repos/vdice/porter/branches{/branch}","tags_url":"https://api.github.com/repos/vdice/porter/tags","blobs_url":"https://api.github.com/repos/vdice/porter/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/vdice/porter/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/vdice/porter/git/refs{/sha}","trees_url":"https://api.github.com/repos/vdice/porter/git/trees{/sha}","statuses_url":"https://api.github.com/repos/vdice/porter/statuses/{sha}","languages_url":"https://api.github.com/repos/vdice/porter/languages","stargazers_url":"https://api.github.com/repos/vdice/porter/stargazers","contributors_url":"https://api.github.com/repos/vdice/porter/contributors","subscribers_url":"https://api.github.com/repos/vdice/porter/subscribers","subscription_url":"https://api.github.com/repos/vdice/porter/subscription","commits_url":"https://api.github.com/repos/vdice/porter/commits{/sha}","git_commits_url":"https://api.github.com/repos/vdice/porter/git/commits{/sha}","comments_url":"https://api.github.com/repos/vdice/porter/comments{/number}","issue_comment_url":"https://api.github.com/repos/vdice/porter/issues/comments{/number}","contents_url":"https://api.github.com/repos/vdice/porter/contents/{+path}","compare_url":"https://api.github.com/repos/vdice/porter/compare/{base}...{head}","merges_url":"https://api.github.com/repos/vdice/porter/merges","archive_url":"https://api.github.com/repos/vdice/porter/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/vdice/porter/downloads","issues_url":"https://api.github.com/repos/vdice/porter/issues{/number}","pulls_url":"https://api.github.com/repos/vdice/porter/pulls{/number}","milestones_url":"https://api.github.com/repos/vdice/porter/milestones{/number}","notifications_url":"https://api.github.com/repos/vdice/porter/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/vdice/porter/labels{/name}","releases_url":"https://api.github.com/repos/vdice/porter/releases{/id}","deployments_url":"https://api.github.com/repos/vdice/porter/deployments","created_at":"2018-12-11T18:18:53Z","updated_at":"2019-07-11T23:08:31Z","pushed_at":"2019-09-27T17:02:36Z","git_url":"git://github.com/vdice/porter.git","ssh_url":"git@github.com:vdice/porter.git","clone_url":"https://github.com/vdice/porter.git","svn_url":"https://github.com/vdice/porter","homepage":"","size":28266,"stargazers_count":0,"watchers_count":0,"language":"Go","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":0,"license":{"key":"mit","name":"MIT License","spdx_id":"MIT","url":"https://api.github.com/licenses/mit","node_id":"MDc6TGljZW5zZTEz"},"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"deislabs:master","ref":"master","sha":"c53d53528b104642d4bf85f61a4166e7950dd435","user":{"login":"deislabs","id":44041561,"node_id":"MDEyOk9yZ2FuaXphdGlvbjQ0MDQxNTYx","avatar_url":"https://avatars1.githubusercontent.com/u/44041561?v=4","gravatar_id":"","url":"https://api.github.com/users/deislabs","html_url":"https://github.com/deislabs","followers_url":"https://api.github.com/users/deislabs/followers","following_url":"https://api.github.com/users/deislabs/following{/other_user}","gists_url":"https://api.github.com/users/deislabs/gists{/gist_id}","starred_url":"https://api.github.com/users/deislabs/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/deislabs/subscriptions","organizations_url":"https://api.github.com/users/deislabs/orgs","repos_url":"https://api.github.com/users/deislabs/repos","events_url":"https://api.github.com/users/deislabs/events{/privacy}","received_events_url":"https://api.github.com/users/deislabs/received_events","type":"Organization","site_admin":false},"repo":{"id":155893691,"node_id":"MDEwOlJlcG9zaXRvcnkxNTU4OTM2OTE=","name":"porter","full_name":"deislabs/porter","private":false,"owner":{"login":"deislabs","id":44041561,"node_id":"MDEyOk9yZ2FuaXphdGlvbjQ0MDQxNTYx","avatar_url":"https://avatars1.githubusercontent.com/u/44041561?v=4","gravatar_id":"","url":"https://api.github.com/users/deislabs","html_url":"https://github.com/deislabs","followers_url":"https://api.github.com/users/deislabs/followers","following_url":"https://api.github.com/users/deislabs/following{/other_user}","gists_url":"https://api.github.com/users/deislabs/gists{/gist_id}","starred_url":"https://api.github.com/users/deislabs/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/deislabs/subscriptions","organizations_url":"https://api.github.com/users/deislabs/orgs","repos_url":"https://api.github.com/users/deislabs/repos","events_url":"https://api.github.com/users/deislabs/events{/privacy}","received_events_url":"https://api.github.com/users/deislabs/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/deislabs/porter","description":"Porter makes CNAB bundles easier!","fork":false,"url":"https://api.github.com/repos/deislabs/porter","forks_url":"https://api.github.com/repos/deislabs/porter/forks","keys_url":"https://api.github.com/repos/deislabs/porter/keys{/key_id}","collaborators_url":"https://api.github.com/repos/deislabs/porter/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/deislabs/porter/teams","hooks_url":"https://api.github.com/repos/deislabs/porter/hooks","issue_events_url":"https://api.github.com/repos/deislabs/porter/issues/events{/number}","events_url":"https://api.github.com/repos/deislabs/porter/events","assignees_url":"https://api.github.com/repos/deislabs/porter/assignees{/user}","branches_url":"https://api.github.com/repos/deislabs/porter/branches{/branch}","tags_url":"https://api.github.com/repos/deislabs/porter/tags","blobs_url":"https://api.github.com/repos/deislabs/porter/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/deislabs/porter/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/deislabs/porter/git/refs{/sha}","trees_url":"https://api.github.com/repos/deislabs/porter/git/trees{/sha}","statuses_url":"https://api.github.com/repos/deislabs/porter/statuses/{sha}","languages_url":"https://api.github.com/repos/deislabs/porter/languages","stargazers_url":"https://api.github.com/repos/deislabs/porter/stargazers","contributors_url":"https://api.github.com/repos/deislabs/porter/contributors","subscribers_url":"https://api.github.com/repos/deislabs/porter/subscribers","subscription_url":"https://api.github.com/repos/deislabs/porter/subscription","commits_url":"https://api.github.com/repos/deislabs/porter/commits{/sha}","git_commits_url":"https://api.github.com/repos/deislabs/porter/git/commits{/sha}","comments_url":"https://api.github.com/repos/deislabs/porter/comments{/number}","issue_comment_url":"https://api.github.com/repos/deislabs/porter/issues/comments{/number}","contents_url":"https://api.github.com/repos/deislabs/porter/contents/{+path}","compare_url":"https://api.github.com/repos/deislabs/porter/compare/{base}...{head}","merges_url":"https://api.github.com/repos/deislabs/porter/merges","archive_url":"https://api.github.com/repos/deislabs/porter/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/deislabs/porter/downloads","issues_url":"https://api.github.com/repos/deislabs/porter/issues{/number}","pulls_url":"https://api.github.com/repos/deislabs/porter/pulls{/number}","milestones_url":"https://api.github.com/repos/deislabs/porter/milestones{/number}","notifications_url":"https://api.github.com/repos/deislabs/porter/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/deislabs/porter/labels{/name}","releases_url":"https://api.github.com/repos/deislabs/porter/releases{/id}","deployments_url":"https://api.github.com/repos/deislabs/porter/deployments","created_at":"2018-11-02T16:34:04Z","updated_at":"2019-09-27T12:39:14Z","pushed_at":"2019-09-27T17:02:38Z","git_url":"git://github.com/deislabs/porter.git","ssh_url":"git@github.com:deislabs/porter.git","clone_url":"https://github.com/deislabs/porter.git","svn_url":"https://github.com/deislabs/porter","homepage":"https://porter.sh","size":28243,"stargazers_count":112,"watchers_count":112,"language":"Go","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":35,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":114,"license":{"key":"mit","name":"MIT License","spdx_id":"MIT","url":"https://api.github.com/licenses/mit","node_id":"MDc6TGljZW5zZTEz"},"forks":35,"open_issues":114,"watchers":112,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/deislabs/porter/pulls/643"},"html":{"href":"https://github.com/deislabs/porter/pull/643"},"issue":{"href":"https://api.github.com/repos/deislabs/porter/issues/643"},"comments":{"href":"https://api.github.com/repos/deislabs/porter/issues/643/comments"},"review_comments":{"href":"https://api.github.com/repos/deislabs/porter/pulls/643/comments"},"review_comment":{"href":"https://api.github.com/repos/deislabs/porter/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/deislabs/porter/pulls/643/commits"},"statuses":{"href":"https://api.github.com/repos/deislabs/porter/statuses/750d12ba109e7574242bb806c85525ecac338856"}},"author_association":"MEMBER"}}
{"actor":{"display_login":"vdice"}}