{"action":"created","issue":{"url":"https://api.github.com/repos/18F/identity-idp/issues/2069","repository_url":"https://api.github.com/repos/18F/identity-idp","labels_url":"https://api.github.com/repos/18F/identity-idp/issues/2069/labels{/name}","comments_url":"https://api.github.com/repos/18F/identity-idp/issues/2069/comments","events_url":"https://api.github.com/repos/18F/identity-idp/issues/2069/events","html_url":"https://github.com/18F/identity-idp/pull/2069","id":309464604,"number":2069,"title":"Refactor deploy/activate script","user":{"login":"monfresh","id":811150,"avatar_url":"https://avatars1.githubusercontent.com/u/811150?v=4","gravatar_id":"","url":"https://api.github.com/users/monfresh","html_url":"https://github.com/monfresh","followers_url":"https://api.github.com/users/monfresh/followers","following_url":"https://api.github.com/users/monfresh/following{/other_user}","gists_url":"https://api.github.com/users/monfresh/gists{/gist_id}","starred_url":"https://api.github.com/users/monfresh/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/monfresh/subscriptions","organizations_url":"https://api.github.com/users/monfresh/orgs","repos_url":"https://api.github.com/users/monfresh/repos","events_url":"https://api.github.com/users/monfresh/events{/privacy}","received_events_url":"https://api.github.com/users/monfresh/received_events","type":"User","site_admin":false},"labels":[{"id":355011342,"url":"https://api.github.com/repos/18F/identity-idp/labels/status%20-%20ready%20for%20review","name":"status - ready for review","color":"006b75","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":2,"created_at":"2018-03-28T17:42:49Z","updated_at":"2018-03-28T21:34:56Z","closed_at":null,"author_association":"MEMBER","pull_request":{"url":"https://api.github.com/repos/18F/identity-idp/pulls/2069","html_url":"https://github.com/18F/identity-idp/pull/2069","diff_url":"https://github.com/18F/identity-idp/pull/2069.diff","patch_url":"https://github.com/18F/identity-idp/pull/2069.patch"},"body":"**Why**: If the `deploy/activate` script is a shell script, it requires\r\ncalling `Bundler.setup` so that the files that the script depends on\r\nare loaded. The problem is that the `Bundler.setup` call was preventing\r\nus from running parallel builds in Circle CI.\r\n\r\nI removed the `Bundler.setup` call in #2060 to see if that would allow\r\nparallel builds, which it did, but I forgot to check if this would break\r\nbuild deployment, and it did.\r\n\r\nIn order to allow the script to run during deployment and also allow\r\nparallel builds to work, I defined a shell script that will fetch the\r\nconfig from S3 via a rake task. That way, Rails and gems will already\r\nbe loaded. This also separates concerns and makes it easier to test the\r\nS3 fetching in isolation. It also keeps things consistent with the other\r\nscripts in the `deploy` directory.\r\n\r\nHi! Before submitting your PR for review, and/or before merging it, please\r\ngo through the following checklist:\r\n\r\n- [x] For DB changes, check for missing indexes, check to see if the changes\r\naffect other apps (such as the dashboard), make sure the DB columns in the\r\nvarious environments are properly populated, coordinate with devops, plan\r\nmigrations in separate steps.\r\n\r\n- [x] For route changes, make sure GET requests don't change state or result in\r\ndestructive behavior. GET requests should only result in information being\r\nread, not written.\r\n\r\n- [x] For encryption changes, make sure it is compatible with data that was\r\nencrypted with the old code.\r\n\r\n- [x] For secrets changes, [make sure to update the S3 secrets bucket](https://github.com/18F/identity-private/wiki/Secrets-S3-buckets) with the \r\nnew configs in **all** environments. \r\n\r\n- [x] Do not disable Rubocop or Reek offenses unless you are absolutely sure\r\nthey are false positives. If you're not sure how to fix the offense, please\r\nask a teammate.\r\n\r\n- [x] When reading data, write tests for nil values, empty strings,\r\nand invalid formats.\r\n\r\n- [x] When calling `redirect_to` in a controller, use `_url`, not `_path`.\r\n\r\n- [x] When adding user data to the session, use the `user_session` helper\r\ninstead of the `session` helper so the data does not persist beyond the user's\r\nsession.\r\n\r\n- [x] When adding a new controller that requires the user to be fully\r\nauthenticated, make sure to add `before_action :confirm_two_factor_authenticated`.\r\n"},"comment":{"url":"https://api.github.com/repos/18F/identity-idp/issues/comments/377045064","html_url":"https://github.com/18F/identity-idp/pull/2069#issuecomment-377045064","issue_url":"https://api.github.com/repos/18F/identity-idp/issues/2069","id":377045064,"user":{"login":"monfresh","id":811150,"avatar_url":"https://avatars1.githubusercontent.com/u/811150?v=4","gravatar_id":"","url":"https://api.github.com/users/monfresh","html_url":"https://github.com/monfresh","followers_url":"https://api.github.com/users/monfresh/followers","following_url":"https://api.github.com/users/monfresh/following{/other_user}","gists_url":"https://api.github.com/users/monfresh/gists{/gist_id}","starred_url":"https://api.github.com/users/monfresh/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/monfresh/subscriptions","organizations_url":"https://api.github.com/users/monfresh/orgs","repos_url":"https://api.github.com/users/monfresh/repos","events_url":"https://api.github.com/users/monfresh/events{/privacy}","received_events_url":"https://api.github.com/users/monfresh/received_events","type":"User","site_admin":false},"created_at":"2018-03-28T21:34:56Z","updated_at":"2018-03-28T21:34:56Z","author_association":"MEMBER","body":"@mark-from-usds Can you try again? I forced pushed a change."}}
{"actor":{"display_login":"monfresh"}}