community_plugins
community_plugins copied to clipboard
FR: automatic deployment of plugins to Elgg community
I'd like to start developing a feature to add endpoints to the elgg community to be able to upload new versions of plugins. This should enable automatic uploads and release note updates from github for example...
I am not sure if we should support github webhooks (https://developer.github.com/webhooks/) or make a custom api that allows you to do this and use travis deploy scripts to push to the community...
Anyone with some feedback on this? Otherwise i am just going to start :)
/cc @Elgg/contributors
:+1: I was going to start on this, but never got a chance. Let me know if I can be of help. I think github webhooks is the way to go, but it would be a lot easier if community_plugins did not require an actual upload, and rather dispatched the download action to github tag/release download URL.
We already created some travis build scripts to auto create zips (ready for release on the community). More info here: https://github.com/coldtrick/releases (documentation will follow shortly)
Uploading to Elgg could also be a post-deployment or post-release webhook to notify Elgg to download the latest release, but the release url is not the same as the compiled zip... so how to differentiate...
I believe webhook deployed by github contains both release and tag information. I guess you need to see what info to parse under what conditions. On Jan 11, 2016 2:51 PM, "Jeroen Dalsem" [email protected] wrote:
We already created some travis build scripts to auto create zips (ready for release on the community). More info here: https://github.com/coldtrick/releases (documentation will follow shortly)
Uploading to Elgg could also be a post-deployment or post-release webhook to notify Elgg to download the latest release, but the release url is not the same as the compiled zip... so how to differentiate...
— Reply to this email directly or view it on GitHub https://github.com/Elgg/community_plugins/issues/134#issuecomment-170555432 .
I use npm and grunt for my automated releases: https://github.com/hypeJunction/hypeApps/blob/master/Gruntfile.js
PR #140