appveyor / ci

AppVeyor community support repository
https://www.appveyor.com
344 stars 65 forks source link

IRC build notifications #88

Open FeodorFitsner opened 9 years ago

FeodorFitsner commented 9 years ago

Discussion: http://help.appveyor.com/discussions/suggestions/262-irc-notifications

http://www.nuget.org/packages?q=irc

ricardopolo commented 9 years ago

:+1:

mquinson commented 9 years ago

:+1:

retep998 commented 9 years ago

:+1:

jayvdb commented 9 years ago

:+1:

whitequark commented 8 years ago

:+1:

wbraswell commented 8 years ago

This is a CRITICAL missing feature. What is the ETA to implement this?

tierra commented 8 years ago

I really wouldn't call it "critical" since it's perfectly possible to implement a webhook that sends the appropriate IRC notifications for you, in fact, I wouldn't be surprised to find a service out there already that does it, and if there's not, you could even use GitHub's IRC bot code to build your own with minimal effort. It would be really convenient though.

Besides, when is anything in IRC considered "critical" infrastructure anyway? I run an channel on FN with 50+ users at most times, and we've had Travis CI builds running for years now, and we've still never even bothered to setup their IRC notifications still. Email directly to the committer responsible for breaking a build is really the most critical part, otherwise, no-one else really needs to be interrupted from their work with more notifications that aren't relevant to them.

pbek commented 8 years ago

I would also love to see this! 👍

maek commented 8 years ago

:+1:

MrSapps commented 8 years ago

:+1:

Aida-Enna commented 8 years ago

:+1:

pombredanne commented 7 years ago

I am going to try out this: https://raw.githubusercontent.com/gridsync/gridsync/def54f8166089b733d166665fdabcad4cdc526d8/misc/irc-notify.py and this https://github.com/gridsync/gridsync/blob/master/appveyor.yml by @crwood to use to solve the IRC part of https://github.com/nexB/scancode-toolkit/issues/330

pombredanne commented 7 years ago

You can see this is in action here: https://ci.appveyor.com/project/nexB/scancode-toolkit/build/23#L494

The code is here: https://github.com/nexB/scancode-toolkit/blob/48aeaf76ce9f53d02223c41c1b2ad1d1ad73b851/etc/scripts/irc-notify.py

The appveyor notification is set in the YAML there: https://github.com/nexB/scancode-toolkit/blob/48aeaf76ce9f53d02223c41c1b2ad1d1ad73b851/appveyor.yml#L12

There was also some licensing-related discussion with the original author of the script here: https://github.com/nexB/attributecode/commit/446c1753d6d9ab8b62726051c83a4ef1fe72d0fd#commitcomment-19510350

I will likely simplify the scripts such that it accepts a --pass and --fail option and comes with a default message format.

@FeodorFitsner and others: If there is some interest, I can package that in a separate repo with simple setup instructions.

MrSapps commented 7 years ago

It would probably be nice if chat.freenode.net port 6667 wasn't hard coded/default, not everyone uses free node :)

pombredanne commented 7 years ago

@paulsapps good point.... Pretty dumb of me!

FeodorFitsner commented 7 years ago

It will be great, thank you! Though we'd need to use some .NET library for sending to IRC channel. Your example could serve as a reference.

pombredanne commented 7 years ago

@FeodorFitsner why .NET would be needed? Python is part of all you images, right? (And if you insist on .NET, the same script likely runs as-is on IronPython)

FeodorFitsner commented 7 years ago

Yes, it's part of AppVeyor images. I mean "native" integration into AppVeyor UI.

Rondom commented 7 years ago

I also guess that a proper feature would need a higher standard in terms of robustness and features, which is best achieved when it is tightly integrated into the AppVeyor code. Also it might make sense to experiment with keeping the connection to IRC open for while and/or open it early to improve reaction times. There are not that many IRC networks, so one might even think about keeping several connections to the most popular ones open.

The current script is nice and I will likely use it, but using an IRC library might be helpful to deal with error situations, authentication to NickServ, etc.

MrSapps commented 7 years ago

Travis-CI IRC notification always create a new connection from the build VM

pombredanne commented 7 years ago

@paulsapps and this script takes the same approach. And create a notification, not a message

jyrkive commented 7 years ago

@pombredanne We (Battle for Wesnoth developers) have improved the notification script a bit. In particular, our version joins the channel instead of sending an external message, which means that the channel doesn't need to accept external messages.

https://github.com/wesnoth/wesnoth/blob/master/utils/appveyor/irc-notify.py

wbraswell commented 7 years ago

@FeodorFitsner Has there been any progress on releasing an official IRC notification feature? Thanks! :-)

Croydon commented 7 years ago

Notifico could help some people in the meantime.

https://github.com/notifico/notifico

wbraswell commented 7 years ago

@pombredanne Can you please send me a link to the installation & usage instructions for your IRC notification script? Thanks!

mquinson commented 6 years ago

@jyrkive I see you're not using your notification script anymore, and that you removed it from your tree. Could you post it in a gist or something? Thanks,

jyrkive commented 6 years ago

@mquinson Here is the final version of our script: https://github.com/wesnoth/wesnoth/blob/b28d8d469af047cbbb20b18757c07b1bfc6afa31/utils/appveyor/irc-notify.py