{"action":"created","comment":{"url":"https://api.github.com/repos/alphagov/paas-cf/pulls/comments/58081302","id":58081302,"diff_hunk":"@@ -71,7 +71,9 @@ EOF\n generate_manifest_file() {\n   # This exists because concourse does not support boolean value interpolation by design\n   enable_auto_deploy=$([ \"${ENABLE_AUTO_DEPLOY:-}\" ] && echo \"true\" || echo \"false\")\n+  [ \"${DISABLE_CONTINUOUS_SMOKE_TESTS}\" = \"true\" ] && continuous_smoke_tests_trigger=\"false\" || continuous_smoke_tests_trigger=\"true\"","path":"concourse/scripts/pipelines-bosh-cloudfoundry.sh","position":4,"original_position":4,"commit_id":"67682f0825dde96e236ae4b09b077118ad70eaac","original_commit_id":"67682f0825dde96e236ae4b09b077118ad70eaac","user":{"login":"saliceti","id":8416694,"avatar_url":"https://avatars.githubusercontent.com/u/8416694?v=3","gravatar_id":"","url":"https://api.github.com/users/saliceti","html_url":"https://github.com/saliceti","followers_url":"https://api.github.com/users/saliceti/followers","following_url":"https://api.github.com/users/saliceti/following{/other_user}","gists_url":"https://api.github.com/users/saliceti/gists{/gist_id}","starred_url":"https://api.github.com/users/saliceti/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/saliceti/subscriptions","organizations_url":"https://api.github.com/users/saliceti/orgs","repos_url":"https://api.github.com/users/saliceti/repos","events_url":"https://api.github.com/users/saliceti/events{/privacy}","received_events_url":"https://api.github.com/users/saliceti/received_events","type":"User","site_admin":false},"body":"We chose that form because it only allows value \"true\" to make it true. Any other value makes it false.\r\nThe previous form makes it true whatever the value, as long as the variable is not empty.","created_at":"2016-03-31T16:09:09Z","updated_at":"2016-03-31T16:09:09Z","html_url":"https://github.com/alphagov/paas-cf/pull/185#discussion_r58081302","pull_request_url":"https://api.github.com/repos/alphagov/paas-cf/pulls/185","_links":{"self":{"href":"https://api.github.com/repos/alphagov/paas-cf/pulls/comments/58081302"},"html":{"href":"https://github.com/alphagov/paas-cf/pull/185#discussion_r58081302"},"pull_request":{"href":"https://api.github.com/repos/alphagov/paas-cf/pulls/185"}}},"pull_request":{"url":"https://api.github.com/repos/alphagov/paas-cf/pulls/185","id":64779577,"html_url":"https://github.com/alphagov/paas-cf/pull/185","diff_url":"https://github.com/alphagov/paas-cf/pull/185.diff","patch_url":"https://github.com/alphagov/paas-cf/pull/185.patch","issue_url":"https://api.github.com/repos/alphagov/paas-cf/issues/185","number":185,"state":"open","locked":false,"title":"[#116047559] Notification when system unusable","user":{"login":"HenryTK","id":8709339,"avatar_url":"https://avatars.githubusercontent.com/u/8709339?v=3","gravatar_id":"","url":"https://api.github.com/users/HenryTK","html_url":"https://github.com/HenryTK","followers_url":"https://api.github.com/users/HenryTK/followers","following_url":"https://api.github.com/users/HenryTK/following{/other_user}","gists_url":"https://api.github.com/users/HenryTK/gists{/gist_id}","starred_url":"https://api.github.com/users/HenryTK/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/HenryTK/subscriptions","organizations_url":"https://api.github.com/users/HenryTK/orgs","repos_url":"https://api.github.com/users/HenryTK/repos","events_url":"https://api.github.com/users/HenryTK/events{/privacy}","received_events_url":"https://api.github.com/users/HenryTK/received_events","type":"User","site_admin":false},"body":"## What\r\n\r\nWe want to be able to run smoke tests continually in CI, Staging, and Production and be informed via email if any tests fail. We have left the existing smoke tests job in place as this is part of the end-to-end pipeline. We have moved the two tasks from the smoke-tests job to external task files in `paas-cf/concourse/pipelines/tasks` to avoid duplication of source code. \r\n\r\nTo disable the continuous smoke tests in development we interpolate a boolean as the `trigger` value of the timer resource. \r\n\r\nTo simplify the usage of AWS Simple Email Service we have used the AWS CLI tool. We did not use the email resource type as it does not support instance profiles. \r\n\r\n## How to review\r\n\r\nYou can change the email recipient in `concourse/scripts/smoke_tests_email.sh` to avoid spamming the team during tests. You need to log into AWS console SES service and [verify your email address](http://docs.aws.amazon.com/ses/latest/DeveloperGuide/verify-email-addresses.html) first. \r\n\r\nThe continuous smoke tests are enabled by default for CI, Staging, and Production. They are disabled during development by adding `$(eval export DISABLE_CONTINUOUS_SMOKE_TESTS=true)` to the `set_env_class_dev` target in the Makefile. Remove this line or change its value to `false` to review this Pull Request. \r\n\r\n* Using remote branch `116047559-system-notifications` set up the deployer Concourse. \r\n* Run the pipeline from the start and check:\r\n\t* The continuous-smoke-tests job runs after cf-deploy (it will not run concurrently with the `smoke-tests` job). \r\n\t* The continuous-smoke-tests job runs repeatedly on a 5 minute interval.\r\n\t* The continuous-smoke-tests job does not send an email when the tests pass.\r\n* Make the smoke tests fail and check an email is sent. This is a chance to be creative. \r\n* Check the contents of the email. It should contain:\r\n\t* A working hyperlink to the correct Concourse instance.\r\n\t* A log of the last commit in the paas-cf repository\r\n\t* The log from the smoke tests. \r\n\r\n## Who\r\n\r\nAnyone but @saliceti or me\r\n","created_at":"2016-03-31T12:11:47Z","updated_at":"2016-03-31T16:09:09Z","closed_at":null,"merged_at":null,"merge_commit_sha":"f13271c918485ff124b31e0f4c8e8492e912ec34","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/alphagov/paas-cf/pulls/185/commits","review_comments_url":"https://api.github.com/repos/alphagov/paas-cf/pulls/185/comments","review_comment_url":"https://api.github.com/repos/alphagov/paas-cf/pulls/comments{/number}","comments_url":"https://api.github.com/repos/alphagov/paas-cf/issues/185/comments","statuses_url":"https://api.github.com/repos/alphagov/paas-cf/statuses/67682f0825dde96e236ae4b09b077118ad70eaac","head":{"label":"alphagov:116047559-system-notifications","ref":"116047559-system-notifications","sha":"67682f0825dde96e236ae4b09b077118ad70eaac","user":{"login":"alphagov","id":596977,"avatar_url":"https://avatars.githubusercontent.com/u/596977?v=3","gravatar_id":"","url":"https://api.github.com/users/alphagov","html_url":"https://github.com/alphagov","followers_url":"https://api.github.com/users/alphagov/followers","following_url":"https://api.github.com/users/alphagov/following{/other_user}","gists_url":"https://api.github.com/users/alphagov/gists{/gist_id}","starred_url":"https://api.github.com/users/alphagov/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/alphagov/subscriptions","organizations_url":"https://api.github.com/users/alphagov/orgs","repos_url":"https://api.github.com/users/alphagov/repos","events_url":"https://api.github.com/users/alphagov/events{/privacy}","received_events_url":"https://api.github.com/users/alphagov/received_events","type":"Organization","site_admin":false},"repo":{"id":46716359,"name":"paas-cf","full_name":"alphagov/paas-cf","owner":{"login":"alphagov","id":596977,"avatar_url":"https://avatars.githubusercontent.com/u/596977?v=3","gravatar_id":"","url":"https://api.github.com/users/alphagov","html_url":"https://github.com/alphagov","followers_url":"https://api.github.com/users/alphagov/followers","following_url":"https://api.github.com/users/alphagov/following{/other_user}","gists_url":"https://api.github.com/users/alphagov/gists{/gist_id}","starred_url":"https://api.github.com/users/alphagov/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/alphagov/subscriptions","organizations_url":"https://api.github.com/users/alphagov/orgs","repos_url":"https://api.github.com/users/alphagov/repos","events_url":"https://api.github.com/users/alphagov/events{/privacy}","received_events_url":"https://api.github.com/users/alphagov/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/alphagov/paas-cf","description":"Government PaaS - Cloud Foundry","fork":false,"url":"https://api.github.com/repos/alphagov/paas-cf","forks_url":"https://api.github.com/repos/alphagov/paas-cf/forks","keys_url":"https://api.github.com/repos/alphagov/paas-cf/keys{/key_id}","collaborators_url":"https://api.github.com/repos/alphagov/paas-cf/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/alphagov/paas-cf/teams","hooks_url":"https://api.github.com/repos/alphagov/paas-cf/hooks","issue_events_url":"https://api.github.com/repos/alphagov/paas-cf/issues/events{/number}","events_url":"https://api.github.com/repos/alphagov/paas-cf/events","assignees_url":"https://api.github.com/repos/alphagov/paas-cf/assignees{/user}","branches_url":"https://api.github.com/repos/alphagov/paas-cf/branches{/branch}","tags_url":"https://api.github.com/repos/alphagov/paas-cf/tags","blobs_url":"https://api.github.com/repos/alphagov/paas-cf/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/alphagov/paas-cf/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/alphagov/paas-cf/git/refs{/sha}","trees_url":"https://api.github.com/repos/alphagov/paas-cf/git/trees{/sha}","statuses_url":"https://api.github.com/repos/alphagov/paas-cf/statuses/{sha}","languages_url":"https://api.github.com/repos/alphagov/paas-cf/languages","stargazers_url":"https://api.github.com/repos/alphagov/paas-cf/stargazers","contributors_url":"https://api.github.com/repos/alphagov/paas-cf/contributors","subscribers_url":"https://api.github.com/repos/alphagov/paas-cf/subscribers","subscription_url":"https://api.github.com/repos/alphagov/paas-cf/subscription","commits_url":"https://api.github.com/repos/alphagov/paas-cf/commits{/sha}","git_commits_url":"https://api.github.com/repos/alphagov/paas-cf/git/commits{/sha}","comments_url":"https://api.github.com/repos/alphagov/paas-cf/comments{/number}","issue_comment_url":"https://api.github.com/repos/alphagov/paas-cf/issues/comments{/number}","contents_url":"https://api.github.com/repos/alphagov/paas-cf/contents/{+path}","compare_url":"https://api.github.com/repos/alphagov/paas-cf/compare/{base}...{head}","merges_url":"https://api.github.com/repos/alphagov/paas-cf/merges","archive_url":"https://api.github.com/repos/alphagov/paas-cf/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/alphagov/paas-cf/downloads","issues_url":"https://api.github.com/repos/alphagov/paas-cf/issues{/number}","pulls_url":"https://api.github.com/repos/alphagov/paas-cf/pulls{/number}","milestones_url":"https://api.github.com/repos/alphagov/paas-cf/milestones{/number}","notifications_url":"https://api.github.com/repos/alphagov/paas-cf/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/alphagov/paas-cf/labels{/name}","releases_url":"https://api.github.com/repos/alphagov/paas-cf/releases{/id}","deployments_url":"https://api.github.com/repos/alphagov/paas-cf/deployments","created_at":"2015-11-23T11:36:57Z","updated_at":"2016-03-01T11:37:19Z","pushed_at":"2016-03-31T14:49:51Z","git_url":"git://github.com/alphagov/paas-cf.git","ssh_url":"git@github.com:alphagov/paas-cf.git","clone_url":"https://github.com/alphagov/paas-cf.git","svn_url":"https://github.com/alphagov/paas-cf","homepage":null,"size":1427,"stargazers_count":9,"watchers_count":9,"language":"Ruby","has_issues":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":2,"mirror_url":null,"open_issues_count":3,"forks":2,"open_issues":3,"watchers":9,"default_branch":"master"}},"base":{"label":"alphagov:master","ref":"master","sha":"d4506f866ed84210e4254839910e73b4ac91a01a","user":{"login":"alphagov","id":596977,"avatar_url":"https://avatars.githubusercontent.com/u/596977?v=3","gravatar_id":"","url":"https://api.github.com/users/alphagov","html_url":"https://github.com/alphagov","followers_url":"https://api.github.com/users/alphagov/followers","following_url":"https://api.github.com/users/alphagov/following{/other_user}","gists_url":"https://api.github.com/users/alphagov/gists{/gist_id}","starred_url":"https://api.github.com/users/alphagov/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/alphagov/subscriptions","organizations_url":"https://api.github.com/users/alphagov/orgs","repos_url":"https://api.github.com/users/alphagov/repos","events_url":"https://api.github.com/users/alphagov/events{/privacy}","received_events_url":"https://api.github.com/users/alphagov/received_events","type":"Organization","site_admin":false},"repo":{"id":46716359,"name":"paas-cf","full_name":"alphagov/paas-cf","owner":{"login":"alphagov","id":596977,"avatar_url":"https://avatars.githubusercontent.com/u/596977?v=3","gravatar_id":"","url":"https://api.github.com/users/alphagov","html_url":"https://github.com/alphagov","followers_url":"https://api.github.com/users/alphagov/followers","following_url":"https://api.github.com/users/alphagov/following{/other_user}","gists_url":"https://api.github.com/users/alphagov/gists{/gist_id}","starred_url":"https://api.github.com/users/alphagov/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/alphagov/subscriptions","organizations_url":"https://api.github.com/users/alphagov/orgs","repos_url":"https://api.github.com/users/alphagov/repos","events_url":"https://api.github.com/users/alphagov/events{/privacy}","received_events_url":"https://api.github.com/users/alphagov/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/alphagov/paas-cf","description":"Government PaaS - Cloud Foundry","fork":false,"url":"https://api.github.com/repos/alphagov/paas-cf","forks_url":"https://api.github.com/repos/alphagov/paas-cf/forks","keys_url":"https://api.github.com/repos/alphagov/paas-cf/keys{/key_id}","collaborators_url":"https://api.github.com/repos/alphagov/paas-cf/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/alphagov/paas-cf/teams","hooks_url":"https://api.github.com/repos/alphagov/paas-cf/hooks","issue_events_url":"https://api.github.com/repos/alphagov/paas-cf/issues/events{/number}","events_url":"https://api.github.com/repos/alphagov/paas-cf/events","assignees_url":"https://api.github.com/repos/alphagov/paas-cf/assignees{/user}","branches_url":"https://api.github.com/repos/alphagov/paas-cf/branches{/branch}","tags_url":"https://api.github.com/repos/alphagov/paas-cf/tags","blobs_url":"https://api.github.com/repos/alphagov/paas-cf/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/alphagov/paas-cf/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/alphagov/paas-cf/git/refs{/sha}","trees_url":"https://api.github.com/repos/alphagov/paas-cf/git/trees{/sha}","statuses_url":"https://api.github.com/repos/alphagov/paas-cf/statuses/{sha}","languages_url":"https://api.github.com/repos/alphagov/paas-cf/languages","stargazers_url":"https://api.github.com/repos/alphagov/paas-cf/stargazers","contributors_url":"https://api.github.com/repos/alphagov/paas-cf/contributors","subscribers_url":"https://api.github.com/repos/alphagov/paas-cf/subscribers","subscription_url":"https://api.github.com/repos/alphagov/paas-cf/subscription","commits_url":"https://api.github.com/repos/alphagov/paas-cf/commits{/sha}","git_commits_url":"https://api.github.com/repos/alphagov/paas-cf/git/commits{/sha}","comments_url":"https://api.github.com/repos/alphagov/paas-cf/comments{/number}","issue_comment_url":"https://api.github.com/repos/alphagov/paas-cf/issues/comments{/number}","contents_url":"https://api.github.com/repos/alphagov/paas-cf/contents/{+path}","compare_url":"https://api.github.com/repos/alphagov/paas-cf/compare/{base}...{head}","merges_url":"https://api.github.com/repos/alphagov/paas-cf/merges","archive_url":"https://api.github.com/repos/alphagov/paas-cf/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/alphagov/paas-cf/downloads","issues_url":"https://api.github.com/repos/alphagov/paas-cf/issues{/number}","pulls_url":"https://api.github.com/repos/alphagov/paas-cf/pulls{/number}","milestones_url":"https://api.github.com/repos/alphagov/paas-cf/milestones{/number}","notifications_url":"https://api.github.com/repos/alphagov/paas-cf/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/alphagov/paas-cf/labels{/name}","releases_url":"https://api.github.com/repos/alphagov/paas-cf/releases{/id}","deployments_url":"https://api.github.com/repos/alphagov/paas-cf/deployments","created_at":"2015-11-23T11:36:57Z","updated_at":"2016-03-01T11:37:19Z","pushed_at":"2016-03-31T14:49:51Z","git_url":"git://github.com/alphagov/paas-cf.git","ssh_url":"git@github.com:alphagov/paas-cf.git","clone_url":"https://github.com/alphagov/paas-cf.git","svn_url":"https://github.com/alphagov/paas-cf","homepage":null,"size":1427,"stargazers_count":9,"watchers_count":9,"language":"Ruby","has_issues":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":2,"mirror_url":null,"open_issues_count":3,"forks":2,"open_issues":3,"watchers":9,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/alphagov/paas-cf/pulls/185"},"html":{"href":"https://github.com/alphagov/paas-cf/pull/185"},"issue":{"href":"https://api.github.com/repos/alphagov/paas-cf/issues/185"},"comments":{"href":"https://api.github.com/repos/alphagov/paas-cf/issues/185/comments"},"review_comments":{"href":"https://api.github.com/repos/alphagov/paas-cf/pulls/185/comments"},"review_comment":{"href":"https://api.github.com/repos/alphagov/paas-cf/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/alphagov/paas-cf/pulls/185/commits"},"statuses":{"href":"https://api.github.com/repos/alphagov/paas-cf/statuses/67682f0825dde96e236ae4b09b077118ad70eaac"}}}}