Replacement for IRC Github service?


#1

We’ve been using IRC service on GitHub, I assume it is to post any activities happening on GitHub to IRC.

Since service is being deprecated by GitHub;

  1. Is there a replacement for this service?
  2. Should we write our own replacement?
  3. Should we be using Zulip more instead of IRC?
  4. (Probably controversial question) Do we want to continue using IRC, now that we have many other communication channels?

I personally don’t use IRC myself, but I know several core devs do.


(Kushal Das) #2
  1. I don’t know yet.
  2. If nothing else is available, then I think yes.
    3 & 4. IRC is still the biggest communication medium of Free Software projects and is the primary communication medium for people like me. Almost all the projects I try to help are available over IRC.

#3

Fair enough.

I don’t want to go into IRC vs Zulip vs … war.

What does the IRC service do anyway? Any examples/ rest APi documentation? I can see about spinning up a bot for it.


#4

Or if anyone knows of an existing bot/app that we can use out of the box, that works too.


(Ammar Askar) #5

The irc service posts commits and updates from Github onto the #python-dev channel on freenode like this:

<github> cpython/master ffdf1c3 Raymond Hettinger: Consistently move the misses update to just before the user function call (GH-11715)
<github> [cpython] miss-islington opened pull request #11716: [3.7] Consistently move the misses update to just before the user function call (GH-11715) (3.7...backport-ffdf1c3-3.7) h

I’m pretty sure the PSF is running an irker instance that posts updates from the bug tracker onto the channel:

<irker583> gvanrossum #35877/parenthesis is mandatory for named expressions in while statement: Thanks, Karthikeyan! Can you submit that as a PR? https://bugs.python.org/issue35877

Thus, the easiest way would likely be to look into using Github with irker. Barring that, we can use a hosted service like http://n.tkte.ch/


(Ammar Askar) #6

Here’s where the irker instance lives btw: https://github.com/python/psf-salt/commit/c94d99ca1b4d87110d70fd35d6abca36196ab958#diff-109d7aa6f365b412c9454a6fc7cbbddc


(Sviatoslav Sydorenko (read: /sʋʲɑtɔˈslɑw/)) #7

Did Python gh org get access to GitHub Actions? If no, here’s a way to enroll: https://github.com/features/actions/signup/?account=python

If yes, I think it may be a way to go: GitHub would spin a container with Action on each push to master and you can run anything in that container, like an IRC client connecting to freenode and posting the thing there…

P.S. @Mariatta there’s no “REST API thing” in IRC, it doesn’t use HTTP at all (well maybe there’s some proxies I’m not aware of, but not in the original protocol). It’s quite an ancient technology for real-time chatting, it doesn’t even have server-side logging built-in so when people wanted to record the history of meetings or sometimes they’ve been “offline” they had to connect “bot” accounts which would log things.
So the basic way to connect is to use one of the IRC clients (irssi, for example) or “web” clients (like https://webchat.freenode.net). You can use those to “script” interaction with IRC.


#8

I think we are enrolled with GitHub actions, at least I am and @EWDurbin too.
Cool… since I’m not familiar with how IRC works, perhaps someone else needs to take lead on this effort :sweat_smile:


(Sviatoslav Sydorenko (read: /sʋʲɑtɔˈslɑw/)) #9

You can check it by going to https://github.com/python/cpython/actions
Enrollment for organizations is separate from enrollment of individual user accounts.

I’m not an expert in how IRC works but it looks like using n.tkte.ch suggested above is actually a much easier way to go which doesn’t require extra coding nor supporting it in the own infrastructure (which would inevitably cause extra maintenance burden/cost).


#10

That page is 404 for me.


(Sviatoslav Sydorenko (read: /sʋʲɑtɔˈslɑw/)) #11

So this probably means that python org isn’t enrolled. Only the administrator level users can request that I think.


(Victor Stinner) #12

Please keep IRC. It is my main source of notifications for GitHub PRs and bugs. Sometimes some people come for a quick chat. A few other core devs use it.


#13

If there is such hosted service, I would prefer that. @EWDurbin will you be able to evaluate if we can use http://n.tkte.ch/ to send GitHub notifications to IRC?


(Nathaniel J. Smith) #14

In case the IRC thing doesn’t get sorted immediately, there is also a Zulip channel that provides a live stream of github PR notifications: https://python.zulipchat.com/#narrow/stream/116692-core.2Fcommits

I don’t think we have anything similar for BPO though currently.


(Victor Stinner) #15

team_chat

(I’m using screen+irssi)


(Ned Deily) #16

For what it’s worth, there are currently 158 users (including bots) logged in to the #python-dev IRC channel on Freenode. It still is used fairly heavily.


(Ernest W. Durbin III) #17

First sniff tests of this service are not too great:

  • Doesn’t default to HTTPS
  • Requests extensive permissions.

That’s a bit extreme for my liking.


(Ernest W. Durbin III) #18

I think looking into GitHub webhooks => irker is probably more palatable. Let me take a look at #python-dev scrollback and see what GitHub notifications we need to recreate.


(Ammar Askar) #19

For what its worth you don’t actually need to connect it to Github, that’s just a convenience thing so it can set up the webhook automatically. You can just do the leg work yourself manually.


(Ernest W. Durbin III) #20

Awesome, I’ll take a look at that this evening.