{"action":"closed","number":436,"pull_request":{"url":"https://api.github.com/repos/OpenDataServices/cove/pulls/436","id":74474961,"html_url":"https://github.com/OpenDataServices/cove/pull/436","diff_url":"https://github.com/OpenDataServices/cove/pull/436.diff","patch_url":"https://github.com/OpenDataServices/cove/pull/436.patch","issue_url":"https://api.github.com/repos/OpenDataServices/cove/issues/436","number":436,"state":"closed","locked":false,"title":"End of June 2016 live deployment ","user":{"login":"Bjwebb","id":634,"avatar_url":"https://avatars.githubusercontent.com/u/634?v=3","gravatar_id":"","url":"https://api.github.com/users/Bjwebb","html_url":"https://github.com/Bjwebb","followers_url":"https://api.github.com/users/Bjwebb/followers","following_url":"https://api.github.com/users/Bjwebb/following{/other_user}","gists_url":"https://api.github.com/users/Bjwebb/gists{/gist_id}","starred_url":"https://api.github.com/users/Bjwebb/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Bjwebb/subscriptions","organizations_url":"https://api.github.com/users/Bjwebb/orgs","repos_url":"https://api.github.com/users/Bjwebb/repos","events_url":"https://api.github.com/users/Bjwebb/events{/privacy}","received_events_url":"https://api.github.com/users/Bjwebb/received_events","type":"User","site_admin":false},"body":"We didn't have a May release, so this is 2 months worth of changes.\r\n\r\nURL for testing: http://release-201606.dev.cove.opendataservices.coop/\r\n\r\nPlanned deployment date: Thursday 30th June\r\n\r\n#### Summary of changes for this deployment\r\n\r\n* Lots of changes to 360Giving results page, as part of Iteration 4 of the GrantNav work:\r\n    * Layout changes https://github.com/OpenDataServices/cove/issues/380\r\n    * Grouping errors, and links to a 360Giving common errors page https://github.com/OpenDataServices/cove/issues/367\r\n, and there's a click through to see all errors https://github.com/OpenDataServices/cove/issues/393\r\n    * Reporting which cell of a spreadsheet an error orinates https://github.com/OpenDataServices/cove/issues/356 (relies on flatten-tool source maps, see below)\r\n    * Recipient org prefixes https://github.com/OpenDataServices/cove/issues/349 and funding org prefixes https://github.com/OpenDataServices/cove/issues/404\r\n* Flatten-tool changes https://github.com/OpenDataServices/flatten-tool/compare/dceac82323271c4cc5956275481d762d81976eaf...1656a27b155c5ed9aa81340bc3fc179dfcfe612f\r\n    * Source maps https://github.com/OpenDataServices/flatten-tool/pull/106 to track back what cell causes a validation error\r\n    * Remove `main_sheet_name` for unflattening https://github.com/OpenDataServices/flatten-tool/issues/96, which means that we no longer care about sheet names of spreadsheets supplied to Cove https://github.com/OpenDataServices/cove/issues/377\r\n    * Changed some defaults to be more consistent https://github.com/OpenDataServices/flatten-tool/issues/69 and less OCDS specific https://github.com/OpenDataServices/flatten-tool/issues/34 https://github.com/OpenDataServices/flatten-tool/issues/40\r\n    * Fix 360Giving template generation https://github.com/OpenDataServices/flatten-tool/issues/100\r\n    * Python 2 is now explicitly less well supported https://github.com/OpenDataServices/flatten-tool/pull/112\r\n    * Strip out control characters that openpyxl doesn't support https://github.com/OpenDataServices/cove/issues/421\r\n* Add custom piwik dimensions https://github.com/OpenDataServices/cove/pull/430, as a start to trying to improve our deployment http://github.com/OpenDataServices/cove/issues/11\r\n* It's now possible to deploy Cove with a link to a dev schema, including one where the refs don't line up properly -  https://github.com/OpenDataServices/cove/issues/292 (this will be useful for OCDS 1.1 work)\r\n* Started some refactoring work necessary for making Cove Python library https://github.com/OpenDataServices/cove/issues/207\r\n* Minor bug fixes\r\n    * Display a timezone for the time a file was uploaded https://github.com/OpenDataServices/cove/issues/339\r\n    * Submitting an empty field for a link shouldn't get stuck at the spinner https://github.com/OpenDataServices/cove/issues/400\r\n    * Don't display warnings about spreadsheets conversion when JSON was supplied https://github.com/OpenDataServices/cove/issues/409\r\n    * Fix spelling in warning https://github.com/OpenDataServices/cove/pull/432\r\n    * null favicon removed https://github.com/OpenDataServices/cove/issues/47\r\n    * Django debug toolbar is disabled by default https://github.com/OpenDataServices/cove/issues/408\r\n* Improvments to tests, including making them faster:\r\n    * Reduce unhelpful rerunning of functional tests https://github.com/OpenDataServices/cove/issues/413\r\n    * Tests can now be run in parallel https://github.com/OpenDataServices/cove/issues/347\r\n    * Environment variable to specify a different browser for selenium tests https://github.com/OpenDataServices/cove/pull/425\r\n\r\n\r\nOther changes we made that won't be deployed:\r\n\r\n* Cove docs https://github.com/OpenDataServices/cove/issues/307 http://cove.readthedocs.io/en/latest/\r\n* Lots of updates to flatten-tool README, and new documentation.\r\n* Cleaning up issues, changing huboard columns\r\n* Fixed crontab issues https://github.com/OpenDataServices/cove/issues/406, and added notifications for future failures https://github.com/OpenDataServices/cove/issues/427\r\n* Updated the roadmap - https://github.com/OpenDataServices/cove/blob/master/ROADMAP.rst#april---july-2016\r\n* Contributing document - https://github.com/OpenDataServices/cove/blob/master/CONTRIBUTING.md\r\n\r\n\r\n#### Tasks in deploy process\r\n\r\nStanding tasks:\r\n- [x] Re-run translations if any text has changed\r\n- [x] Create a new branch `release-201606` if it doesn't exist.\r\n- [x] Deploy to a subdomain on the dev server http://release-201606.dev.cove.opendataservices.coop/ - redo this for any additional commits\r\n- [x] Check that the correct commit has been deployed using the link in the footer http://release-201606.dev.cove.opendataservices.coop/\r\n- [x] Run `CUSTOM_SERVER_URL=http://release-201606.dev.cove.opendataservices.coop/ py.test fts` - redo this for each redeploy to the subomdain\r\n\r\nAfter merge:\r\n- [ ] Run salt highstate on `cove-live`\r\n- [ ] Check that the correct commit has been deployed using the link in the footer http://cove.opendataservices.coop/\r\n- [ ] Run `CUSTOM_SERVER_URL=http://cove.opendataservices.coop/ py.test fts` on a local copy of the updated live branch\r\n- [ ] Run salt highstate on `cove-live-ocds`\r\n- [ ] Check that the correct commit has been deployed using the link in the footer http://standard.open-contracting.org/validator/\r\n- [ ] Run `CUSTOM_SERVER_URL=http://standard.open-contracting.org PREFIX_OCDS=/validator/ py.test fts ` on a local copy of the updated live branch\r\n- [ ] Check that changes on live are merged back into master too\r\n","created_at":"2016-06-20T16:45:23Z","updated_at":"2016-06-30T14:55:11Z","closed_at":"2016-06-30T14:55:10Z","merged_at":"2016-06-30T14:55:10Z","merge_commit_sha":"72bd2501d33d51bb96560d7a3aedb16e3e6ea392","assignee":{"login":"Bjwebb","id":634,"avatar_url":"https://avatars.githubusercontent.com/u/634?v=3","gravatar_id":"","url":"https://api.github.com/users/Bjwebb","html_url":"https://github.com/Bjwebb","followers_url":"https://api.github.com/users/Bjwebb/followers","following_url":"https://api.github.com/users/Bjwebb/following{/other_user}","gists_url":"https://api.github.com/users/Bjwebb/gists{/gist_id}","starred_url":"https://api.github.com/users/Bjwebb/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Bjwebb/subscriptions","organizations_url":"https://api.github.com/users/Bjwebb/orgs","repos_url":"https://api.github.com/users/Bjwebb/repos","events_url":"https://api.github.com/users/Bjwebb/events{/privacy}","received_events_url":"https://api.github.com/users/Bjwebb/received_events","type":"User","site_admin":false},"assignees":[{"login":"Bjwebb","id":634,"avatar_url":"https://avatars.githubusercontent.com/u/634?v=3","gravatar_id":"","url":"https://api.github.com/users/Bjwebb","html_url":"https://github.com/Bjwebb","followers_url":"https://api.github.com/users/Bjwebb/followers","following_url":"https://api.github.com/users/Bjwebb/following{/other_user}","gists_url":"https://api.github.com/users/Bjwebb/gists{/gist_id}","starred_url":"https://api.github.com/users/Bjwebb/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Bjwebb/subscriptions","organizations_url":"https://api.github.com/users/Bjwebb/orgs","repos_url":"https://api.github.com/users/Bjwebb/repos","events_url":"https://api.github.com/users/Bjwebb/events{/privacy}","received_events_url":"https://api.github.com/users/Bjwebb/received_events","type":"User","site_admin":false}],"milestone":null,"commits_url":"https://api.github.com/repos/OpenDataServices/cove/pulls/436/commits","review_comments_url":"https://api.github.com/repos/OpenDataServices/cove/pulls/436/comments","review_comment_url":"https://api.github.com/repos/OpenDataServices/cove/pulls/comments{/number}","comments_url":"https://api.github.com/repos/OpenDataServices/cove/issues/436/comments","statuses_url":"https://api.github.com/repos/OpenDataServices/cove/statuses/ec12762e854b88947e710090911805e42604ae7f","head":{"label":"OpenDataServices:release-201606","ref":"release-201606","sha":"ec12762e854b88947e710090911805e42604ae7f","user":{"login":"OpenDataServices","id":11521922,"avatar_url":"https://avatars.githubusercontent.com/u/11521922?v=3","gravatar_id":"","url":"https://api.github.com/users/OpenDataServices","html_url":"https://github.com/OpenDataServices","followers_url":"https://api.github.com/users/OpenDataServices/followers","following_url":"https://api.github.com/users/OpenDataServices/following{/other_user}","gists_url":"https://api.github.com/users/OpenDataServices/gists{/gist_id}","starred_url":"https://api.github.com/users/OpenDataServices/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/OpenDataServices/subscriptions","organizations_url":"https://api.github.com/users/OpenDataServices/orgs","repos_url":"https://api.github.com/users/OpenDataServices/repos","events_url":"https://api.github.com/users/OpenDataServices/events{/privacy}","received_events_url":"https://api.github.com/users/OpenDataServices/received_events","type":"Organization","site_admin":false},"repo":{"id":34786289,"name":"cove","full_name":"OpenDataServices/cove","owner":{"login":"OpenDataServices","id":11521922,"avatar_url":"https://avatars.githubusercontent.com/u/11521922?v=3","gravatar_id":"","url":"https://api.github.com/users/OpenDataServices","html_url":"https://github.com/OpenDataServices","followers_url":"https://api.github.com/users/OpenDataServices/followers","following_url":"https://api.github.com/users/OpenDataServices/following{/other_user}","gists_url":"https://api.github.com/users/OpenDataServices/gists{/gist_id}","starred_url":"https://api.github.com/users/OpenDataServices/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/OpenDataServices/subscriptions","organizations_url":"https://api.github.com/users/OpenDataServices/orgs","repos_url":"https://api.github.com/users/OpenDataServices/repos","events_url":"https://api.github.com/users/OpenDataServices/events{/privacy}","received_events_url":"https://api.github.com/users/OpenDataServices/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/OpenDataServices/cove","description":"CoVE is an web application to Convert, Validate and Explore data following certain open data standards - currently 360Giving and the Open Contracting Data standard.","fork":false,"url":"https://api.github.com/repos/OpenDataServices/cove","forks_url":"https://api.github.com/repos/OpenDataServices/cove/forks","keys_url":"https://api.github.com/repos/OpenDataServices/cove/keys{/key_id}","collaborators_url":"https://api.github.com/repos/OpenDataServices/cove/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/OpenDataServices/cove/teams","hooks_url":"https://api.github.com/repos/OpenDataServices/cove/hooks","issue_events_url":"https://api.github.com/repos/OpenDataServices/cove/issues/events{/number}","events_url":"https://api.github.com/repos/OpenDataServices/cove/events","assignees_url":"https://api.github.com/repos/OpenDataServices/cove/assignees{/user}","branches_url":"https://api.github.com/repos/OpenDataServices/cove/branches{/branch}","tags_url":"https://api.github.com/repos/OpenDataServices/cove/tags","blobs_url":"https://api.github.com/repos/OpenDataServices/cove/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/OpenDataServices/cove/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/OpenDataServices/cove/git/refs{/sha}","trees_url":"https://api.github.com/repos/OpenDataServices/cove/git/trees{/sha}","statuses_url":"https://api.github.com/repos/OpenDataServices/cove/statuses/{sha}","languages_url":"https://api.github.com/repos/OpenDataServices/cove/languages","stargazers_url":"https://api.github.com/repos/OpenDataServices/cove/stargazers","contributors_url":"https://api.github.com/repos/OpenDataServices/cove/contributors","subscribers_url":"https://api.github.com/repos/OpenDataServices/cove/subscribers","subscription_url":"https://api.github.com/repos/OpenDataServices/cove/subscription","commits_url":"https://api.github.com/repos/OpenDataServices/cove/commits{/sha}","git_commits_url":"https://api.github.com/repos/OpenDataServices/cove/git/commits{/sha}","comments_url":"https://api.github.com/repos/OpenDataServices/cove/comments{/number}","issue_comment_url":"https://api.github.com/repos/OpenDataServices/cove/issues/comments{/number}","contents_url":"https://api.github.com/repos/OpenDataServices/cove/contents/{+path}","compare_url":"https://api.github.com/repos/OpenDataServices/cove/compare/{base}...{head}","merges_url":"https://api.github.com/repos/OpenDataServices/cove/merges","archive_url":"https://api.github.com/repos/OpenDataServices/cove/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/OpenDataServices/cove/downloads","issues_url":"https://api.github.com/repos/OpenDataServices/cove/issues{/number}","pulls_url":"https://api.github.com/repos/OpenDataServices/cove/pulls{/number}","milestones_url":"https://api.github.com/repos/OpenDataServices/cove/milestones{/number}","notifications_url":"https://api.github.com/repos/OpenDataServices/cove/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/OpenDataServices/cove/labels{/name}","releases_url":"https://api.github.com/repos/OpenDataServices/cove/releases{/id}","deployments_url":"https://api.github.com/repos/OpenDataServices/cove/deployments","created_at":"2015-04-29T09:58:03Z","updated_at":"2016-05-07T00:33:49Z","pushed_at":"2016-06-30T14:55:10Z","git_url":"git://github.com/OpenDataServices/cove.git","ssh_url":"git@github.com:OpenDataServices/cove.git","clone_url":"https://github.com/OpenDataServices/cove.git","svn_url":"https://github.com/OpenDataServices/cove","homepage":"http://cove.opendataservices.coop","size":2717,"stargazers_count":5,"watchers_count":5,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":2,"mirror_url":null,"open_issues_count":71,"forks":2,"open_issues":71,"watchers":5,"default_branch":"master"}},"base":{"label":"OpenDataServices:live","ref":"live","sha":"11d1802e63f2bb487fc9f72337498e1d754e1528","user":{"login":"OpenDataServices","id":11521922,"avatar_url":"https://avatars.githubusercontent.com/u/11521922?v=3","gravatar_id":"","url":"https://api.github.com/users/OpenDataServices","html_url":"https://github.com/OpenDataServices","followers_url":"https://api.github.com/users/OpenDataServices/followers","following_url":"https://api.github.com/users/OpenDataServices/following{/other_user}","gists_url":"https://api.github.com/users/OpenDataServices/gists{/gist_id}","starred_url":"https://api.github.com/users/OpenDataServices/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/OpenDataServices/subscriptions","organizations_url":"https://api.github.com/users/OpenDataServices/orgs","repos_url":"https://api.github.com/users/OpenDataServices/repos","events_url":"https://api.github.com/users/OpenDataServices/events{/privacy}","received_events_url":"https://api.github.com/users/OpenDataServices/received_events","type":"Organization","site_admin":false},"repo":{"id":34786289,"name":"cove","full_name":"OpenDataServices/cove","owner":{"login":"OpenDataServices","id":11521922,"avatar_url":"https://avatars.githubusercontent.com/u/11521922?v=3","gravatar_id":"","url":"https://api.github.com/users/OpenDataServices","html_url":"https://github.com/OpenDataServices","followers_url":"https://api.github.com/users/OpenDataServices/followers","following_url":"https://api.github.com/users/OpenDataServices/following{/other_user}","gists_url":"https://api.github.com/users/OpenDataServices/gists{/gist_id}","starred_url":"https://api.github.com/users/OpenDataServices/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/OpenDataServices/subscriptions","organizations_url":"https://api.github.com/users/OpenDataServices/orgs","repos_url":"https://api.github.com/users/OpenDataServices/repos","events_url":"https://api.github.com/users/OpenDataServices/events{/privacy}","received_events_url":"https://api.github.com/users/OpenDataServices/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/OpenDataServices/cove","description":"CoVE is an web application to Convert, Validate and Explore data following certain open data standards - currently 360Giving and the Open Contracting Data standard.","fork":false,"url":"https://api.github.com/repos/OpenDataServices/cove","forks_url":"https://api.github.com/repos/OpenDataServices/cove/forks","keys_url":"https://api.github.com/repos/OpenDataServices/cove/keys{/key_id}","collaborators_url":"https://api.github.com/repos/OpenDataServices/cove/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/OpenDataServices/cove/teams","hooks_url":"https://api.github.com/repos/OpenDataServices/cove/hooks","issue_events_url":"https://api.github.com/repos/OpenDataServices/cove/issues/events{/number}","events_url":"https://api.github.com/repos/OpenDataServices/cove/events","assignees_url":"https://api.github.com/repos/OpenDataServices/cove/assignees{/user}","branches_url":"https://api.github.com/repos/OpenDataServices/cove/branches{/branch}","tags_url":"https://api.github.com/repos/OpenDataServices/cove/tags","blobs_url":"https://api.github.com/repos/OpenDataServices/cove/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/OpenDataServices/cove/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/OpenDataServices/cove/git/refs{/sha}","trees_url":"https://api.github.com/repos/OpenDataServices/cove/git/trees{/sha}","statuses_url":"https://api.github.com/repos/OpenDataServices/cove/statuses/{sha}","languages_url":"https://api.github.com/repos/OpenDataServices/cove/languages","stargazers_url":"https://api.github.com/repos/OpenDataServices/cove/stargazers","contributors_url":"https://api.github.com/repos/OpenDataServices/cove/contributors","subscribers_url":"https://api.github.com/repos/OpenDataServices/cove/subscribers","subscription_url":"https://api.github.com/repos/OpenDataServices/cove/subscription","commits_url":"https://api.github.com/repos/OpenDataServices/cove/commits{/sha}","git_commits_url":"https://api.github.com/repos/OpenDataServices/cove/git/commits{/sha}","comments_url":"https://api.github.com/repos/OpenDataServices/cove/comments{/number}","issue_comment_url":"https://api.github.com/repos/OpenDataServices/cove/issues/comments{/number}","contents_url":"https://api.github.com/repos/OpenDataServices/cove/contents/{+path}","compare_url":"https://api.github.com/repos/OpenDataServices/cove/compare/{base}...{head}","merges_url":"https://api.github.com/repos/OpenDataServices/cove/merges","archive_url":"https://api.github.com/repos/OpenDataServices/cove/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/OpenDataServices/cove/downloads","issues_url":"https://api.github.com/repos/OpenDataServices/cove/issues{/number}","pulls_url":"https://api.github.com/repos/OpenDataServices/cove/pulls{/number}","milestones_url":"https://api.github.com/repos/OpenDataServices/cove/milestones{/number}","notifications_url":"https://api.github.com/repos/OpenDataServices/cove/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/OpenDataServices/cove/labels{/name}","releases_url":"https://api.github.com/repos/OpenDataServices/cove/releases{/id}","deployments_url":"https://api.github.com/repos/OpenDataServices/cove/deployments","created_at":"2015-04-29T09:58:03Z","updated_at":"2016-05-07T00:33:49Z","pushed_at":"2016-06-30T14:55:10Z","git_url":"git://github.com/OpenDataServices/cove.git","ssh_url":"git@github.com:OpenDataServices/cove.git","clone_url":"https://github.com/OpenDataServices/cove.git","svn_url":"https://github.com/OpenDataServices/cove","homepage":"http://cove.opendataservices.coop","size":2717,"stargazers_count":5,"watchers_count":5,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":2,"mirror_url":null,"open_issues_count":71,"forks":2,"open_issues":71,"watchers":5,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/OpenDataServices/cove/pulls/436"},"html":{"href":"https://github.com/OpenDataServices/cove/pull/436"},"issue":{"href":"https://api.github.com/repos/OpenDataServices/cove/issues/436"},"comments":{"href":"https://api.github.com/repos/OpenDataServices/cove/issues/436/comments"},"review_comments":{"href":"https://api.github.com/repos/OpenDataServices/cove/pulls/436/comments"},"review_comment":{"href":"https://api.github.com/repos/OpenDataServices/cove/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/OpenDataServices/cove/pulls/436/commits"},"statuses":{"href":"https://api.github.com/repos/OpenDataServices/cove/statuses/ec12762e854b88947e710090911805e42604ae7f"}},"merged":true,"mergeable":null,"mergeable_state":"unknown","merged_by":{"login":"Bjwebb","id":634,"avatar_url":"https://avatars.githubusercontent.com/u/634?v=3","gravatar_id":"","url":"https://api.github.com/users/Bjwebb","html_url":"https://github.com/Bjwebb","followers_url":"https://api.github.com/users/Bjwebb/followers","following_url":"https://api.github.com/users/Bjwebb/following{/other_user}","gists_url":"https://api.github.com/users/Bjwebb/gists{/gist_id}","starred_url":"https://api.github.com/users/Bjwebb/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Bjwebb/subscriptions","organizations_url":"https://api.github.com/users/Bjwebb/orgs","repos_url":"https://api.github.com/users/Bjwebb/repos","events_url":"https://api.github.com/users/Bjwebb/events{/privacy}","received_events_url":"https://api.github.com/users/Bjwebb/received_events","type":"User","site_admin":false},"comments":0,"review_comments":0,"commits":89,"additions":4025,"deletions":1221,"changed_files":47}}
{"actor":{"display_login":"Bjwebb"}}