Github integration service for the #juce IRC channel and Discord group

Dear JUCE devs,

I am the maintainer of a bot on the Freenode IRC channel #juce. The bot notifies the channel each new commit pushed on the JUCE Github repository. The IRC channel is bridged to the Discord Juce group, so the bot is de facto mirrored on Discord.

May I suggest that this IRC bot be replaced by the GitHub integration service? This would require less maintenance from my side (connection loss, crashes, hosting) while just needing the initial config on your side?

Here is the step-by-step guide to do so, on GitHub:

Settings > Integrations & services > Add service > IRC >

  • Fields to fill (others are optional)
  • Server: chat.freenode.net
  • Room: #juce
  • Branches: master,develop
    -> Add service

Let me know what you think about this. Also, if you know any integration service from the forum to IRC, I’d be happy to know too, as another bot currently hammers the JUCE forum every 5 minutes to detect new threads.

Thanks!

1 Like

Hi,

on request I started the bot bridging from freenode #juce to the discord #juce channel and vice versa.
I don’t see too much traffic there (apart from forwarding the freenode bots), and since I plan to get rid of my virtual server and moving to a hosted service, I wouldn’t mind getting rid of the bot.
Maybe somebody enjoys creating integrations on the discord…

If somebody thinks he needs that bot and wants to take it over, please let me know, otherwise I would kill it end of March.

Cheers,
daniel

GitHub/Discord integration can be handled in via WebHooks, see https://gist.github.com/jagrosh/5b1761213e33fc5b54ec7f6379034a22

JUCE devs: is this something that could be set up or should I just forget it?

I’m wary of configuring any of the ROLI repositories to interact with any services that are not owned by the company, even if they’re read-only. I’m sure you can appreciate the reasons, even if it’s pretty disappointing.

2 Likes

Thanks. Even if I don’t really understand how Github hooks & services are not owned by the company whereas Github would be, I appreciate you’ve answered and I can go forward with that.

On GitHub we have a reasonable amount of control over how company data is presented - if we don’t like something, or there is some kind of legal obligation we need to fulfil, we can change things. If we set up a hook we are sending our data elsewhere and implicitly endorsing the destination, which in this case would be beyond our control.

Would it not work to setup a mirror repo and add the webhooks to that mirror? I’ve not done it before myself but just as a test I setup a private mirror of the JUCE repo in gitlab - I would have to wait for some new commits to let you know if it is working as expected.

https://docs.gitlab.com/ee/workflow/repository_mirroring.html

That’s what I’ve done on my fork, however as Github does not provide fork sync (like your GitLab link mentions it can), the fork needs to be kept in sync via a cron job on a hosted server as an intermediate. Would have liked to avoid this server energy consumption, but well, …

gitlab is free and I’ve no doubt you’ll find webhooks for it too. Plus if you need to run some job every so often you can use the free 2000 minutes you get running pipelines on their shared runners.

https://docs.gitlab.com/ce/user/project/pipelines/schedules.html
https://docs.gitlab.com/ce/ci/runners/README.html