{"action":"created","issue":{"url":"https://api.github.com/repos/angular/angular/issues/23576","repository_url":"https://api.github.com/repos/angular/angular","labels_url":"https://api.github.com/repos/angular/angular/issues/23576/labels{/name}","comments_url":"https://api.github.com/repos/angular/angular/issues/23576/comments","events_url":"https://api.github.com/repos/angular/angular/issues/23576/events","html_url":"https://github.com/angular/angular/pull/23576","id":318419555,"number":23576,"title":"ci(aio): change AIO preview server stuff to use CircleCI","user":{"login":"petebacondarwin","id":15655,"avatar_url":"https://avatars0.githubusercontent.com/u/15655?v=4","gravatar_id":"","url":"https://api.github.com/users/petebacondarwin","html_url":"https://github.com/petebacondarwin","followers_url":"https://api.github.com/users/petebacondarwin/followers","following_url":"https://api.github.com/users/petebacondarwin/following{/other_user}","gists_url":"https://api.github.com/users/petebacondarwin/gists{/gist_id}","starred_url":"https://api.github.com/users/petebacondarwin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/petebacondarwin/subscriptions","organizations_url":"https://api.github.com/users/petebacondarwin/orgs","repos_url":"https://api.github.com/users/petebacondarwin/repos","events_url":"https://api.github.com/users/petebacondarwin/events{/privacy}","received_events_url":"https://api.github.com/users/petebacondarwin/received_events","type":"User","site_admin":false},"labels":[{"id":173296525,"url":"https://api.github.com/repos/angular/angular/labels/PR%20state:%20WIP","name":"PR state: WIP","color":"fbca04","default":false},{"id":149476251,"url":"https://api.github.com/repos/angular/angular/labels/cla:%20yes","name":"cla: yes","color":"009800","default":false},{"id":533874619,"url":"https://api.github.com/repos/angular/angular/labels/comp:%20aio","name":"comp: aio","color":"c7def8","default":false},{"id":193817683,"url":"https://api.github.com/repos/angular/angular/labels/comp:%20build%20&%20ci","name":"comp: build & ci","color":"c7def8","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2018-04-27T13:56:59Z","updated_at":"2018-05-10T12:57:47Z","closed_at":null,"author_association":"MEMBER","pull_request":{"url":"https://api.github.com/repos/angular/angular/pulls/23576","html_url":"https://github.com/angular/angular/pull/23576","diff_url":"https://github.com/angular/angular/pull/23576.diff","patch_url":"https://github.com/angular/angular/pull/23576.patch"},"body":"This is still a Work In Progress. But I thought, as it was getting a bit big, it might be time to get some more feedback.\r\n\r\nThe TS code for the upload server is mostly there; along with unit tests.\r\n\r\nThe system now waits for a CircleCI webhook to tell the upload server that a build has completed.\r\nThe upload server then pulls down the build artifact and passes it along as before to the rest of the preview creation logic.\r\n\r\nThis means that there is no need to store a secret on CircleCI for pushing the artifacts to the upload server; which means that we no longer rely upon JWT.\r\n\r\nThe downloaded artifact is stored in a temp location; this is cleared out along with the actual preview builds by the periodic cleanup task.\r\n\r\nThere are some (self-serving) changes to the testing of components that were not significantly changed for this PR. This includes more use of `async/await` for managing async tests; and also making some API public (rather than protected). This allows us to unit test, while maintaining type safety. Previously, we had to cast to `any` which meant that changes to the API may not be passed through to the unit tests.\r\n\r\nTODO:\r\n\r\n- [x] check for CI success before processing\r\n- [x] consider not downloading an artifact if it has been downloaded already\r\n- [ ] fix up / write more e2e tests\r\n- [x] update the docs\r\n- [ ] consider renaming \"upload server\" to \"preview server\"\r\n- [ ] configure the rest of the environment variables for the new processing\r\n- [ ] ascertain whether we need a CircleCI access token for making the GET requests\r\n- [ ] work out how (and when) to run the PWA-score test; probably by the preview-server triggering a specific CircleCI job via API"},"comment":{"url":"https://api.github.com/repos/angular/angular/issues/comments/388045585","html_url":"https://github.com/angular/angular/pull/23576#issuecomment-388045585","issue_url":"https://api.github.com/repos/angular/angular/issues/23576","id":388045585,"user":{"login":"petebacondarwin","id":15655,"avatar_url":"https://avatars0.githubusercontent.com/u/15655?v=4","gravatar_id":"","url":"https://api.github.com/users/petebacondarwin","html_url":"https://github.com/petebacondarwin","followers_url":"https://api.github.com/users/petebacondarwin/followers","following_url":"https://api.github.com/users/petebacondarwin/following{/other_user}","gists_url":"https://api.github.com/users/petebacondarwin/gists{/gist_id}","starred_url":"https://api.github.com/users/petebacondarwin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/petebacondarwin/subscriptions","organizations_url":"https://api.github.com/users/petebacondarwin/orgs","repos_url":"https://api.github.com/users/petebacondarwin/repos","events_url":"https://api.github.com/users/petebacondarwin/events{/privacy}","received_events_url":"https://api.github.com/users/petebacondarwin/received_events","type":"User","site_admin":false},"created_at":"2018-05-10T12:57:46Z","updated_at":"2018-05-10T12:57:46Z","author_association":"MEMBER","body":"@gkalpak I have addressed yourr comments and reordered the commits. But I still have some tidying up to do in the TypeScript files - later today."}}
{"actor":{"display_login":"petebacondarwin"}}