{"action":"created","issue":{"url":"https://api.github.com/repos/KSP-KOS/KOS/issues/874","labels_url":"https://api.github.com/repos/KSP-KOS/KOS/issues/874/labels{/name}","comments_url":"https://api.github.com/repos/KSP-KOS/KOS/issues/874/comments","events_url":"https://api.github.com/repos/KSP-KOS/KOS/issues/874/events","html_url":"https://github.com/KSP-KOS/KOS/issues/874","id":69478118,"number":874,"title":"When CI builds release, automatically publish notifications EVERYWHERE ","user":{"login":"erendrake","id":486486,"avatar_url":"https://avatars.githubusercontent.com/u/486486?v=3","gravatar_id":"","url":"https://api.github.com/users/erendrake","html_url":"https://github.com/erendrake","followers_url":"https://api.github.com/users/erendrake/followers","following_url":"https://api.github.com/users/erendrake/following{/other_user}","gists_url":"https://api.github.com/users/erendrake/gists{/gist_id}","starred_url":"https://api.github.com/users/erendrake/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/erendrake/subscriptions","organizations_url":"https://api.github.com/users/erendrake/orgs","repos_url":"https://api.github.com/users/erendrake/repos","events_url":"https://api.github.com/users/erendrake/events{/privacy}","received_events_url":"https://api.github.com/users/erendrake/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/KSP-KOS/KOS/labels/discussion","name":"discussion","color":"bfe5bf"}],"state":"open","locked":false,"assignee":null,"milestone":{"url":"https://api.github.com/repos/KSP-KOS/KOS/milestones/14","html_url":"https://github.com/KSP-KOS/KOS/milestones/Continuous%20Integration%20and%20Deployment","labels_url":"https://api.github.com/repos/KSP-KOS/KOS/milestones/14/labels","id":1074253,"number":14,"title":"Continuous Integration and Deployment","description":"We have a need for some serious infrastructure work. right now every release is a super manual and error prone process.","creator":{"login":"erendrake","id":486486,"avatar_url":"https://avatars.githubusercontent.com/u/486486?v=3","gravatar_id":"","url":"https://api.github.com/users/erendrake","html_url":"https://github.com/erendrake","followers_url":"https://api.github.com/users/erendrake/followers","following_url":"https://api.github.com/users/erendrake/following{/other_user}","gists_url":"https://api.github.com/users/erendrake/gists{/gist_id}","starred_url":"https://api.github.com/users/erendrake/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/erendrake/subscriptions","organizations_url":"https://api.github.com/users/erendrake/orgs","repos_url":"https://api.github.com/users/erendrake/repos","events_url":"https://api.github.com/users/erendrake/events{/privacy}","received_events_url":"https://api.github.com/users/erendrake/received_events","type":"User","site_admin":false},"open_issues":4,"closed_issues":0,"state":"open","created_at":"2015-04-19T22:14:33Z","updated_at":"2015-04-20T00:02:30Z","due_on":null,"closed_at":null},"comments":1,"created_at":"2015-04-19T23:57:58Z","updated_at":"2015-04-20T00:12:30Z","closed_at":null,"body":"Right now, after we build a release we have to publish it to:\r\n\r\n* github - always first  https://github.com/KSP-KOS/KOS/releases\r\n* curseforge  http://kerbal.curseforge.com/ksp-mods/220265-kos-scriptable-autopilot-system\r\n* kerbal stuff  https://kerbalstuff.com/mod/86/kOS:%20Scriptable%20Autopilot%20System\r\n* kOS subreddit  https://www.reddit.com/r/kos\r\n* kOS release thread http://forum.kerbalspaceprogram.com/threads/68089-0-23-5-kOS-Scriptable-Autopilot-System-v0-12-1-2014-5-18\r\n\r\nin a perfect world, we could set a CI system to wait for the master branch to get changes then we:\r\n\r\n1. build/test/package\r\n2. wait for developer action\r\n3. when someone presses the 'do it' button. publish it everywhere."},"comment":{"url":"https://api.github.com/repos/KSP-KOS/KOS/issues/comments/94327390","html_url":"https://github.com/KSP-KOS/KOS/issues/874#issuecomment-94327390","issue_url":"https://api.github.com/repos/KSP-KOS/KOS/issues/874","id":94327390,"user":{"login":"Dunbaratu","id":5216848,"avatar_url":"https://avatars.githubusercontent.com/u/5216848?v=3","gravatar_id":"","url":"https://api.github.com/users/Dunbaratu","html_url":"https://github.com/Dunbaratu","followers_url":"https://api.github.com/users/Dunbaratu/followers","following_url":"https://api.github.com/users/Dunbaratu/following{/other_user}","gists_url":"https://api.github.com/users/Dunbaratu/gists{/gist_id}","starred_url":"https://api.github.com/users/Dunbaratu/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Dunbaratu/subscriptions","organizations_url":"https://api.github.com/users/Dunbaratu/orgs","repos_url":"https://api.github.com/users/Dunbaratu/repos","events_url":"https://api.github.com/users/Dunbaratu/events{/privacy}","received_events_url":"https://api.github.com/users/Dunbaratu/received_events","type":"User","site_admin":false},"created_at":"2015-04-20T00:12:30Z","updated_at":"2015-04-20T00:12:30Z","body":"Ideally, we'd have two \"make targets\" (yeah I know it won't be using makefiles but that sort of thing), one for building the package and a different one for publishing it.  It would be important not to accidentally auto-publish when we didn't mean to.\r\n\r\nI figure the first step to an auto-publisher would be to read the changelog and spit it out in the various markup systems out there.  (i.e. Convert Changelog.md to bbcode, to .. uh... whatever the thing Reddit uses is called, etc,)  Just dump the output of those into files at first, for cut and pasting into the publishing posts, and then as pass two, set up the auto-posting of them.\r\n\r\nThe reason I say this is that once you start talking about automatically interfacing with a web site designed for human interaction, you get into a hell of regression breaking whenever they change the human interface slightly.  Something like Reddit may have a web API for it, but I'm not so sure about forum software and the like.  It may be that automating that last step of it is a case of 50 hours of programming work to save a total of about 2 hours of time per year.  \r\n\r\nThe formatting of the post - in different markups, that will save a lot of time - but to *actually* publish, that may be simpler to just leave up to a human doing cut and pasting into the posts in 3 different places.\r\n"}}