From 8903e1768c1ea6e349dd9fd870fc20d116351c85 Mon Sep 17 00:00:00 2001 From: whitequark Date: Thu, 28 Mar 2019 09:12:00 +0000 Subject: [PATCH] Travis, Appveyor: remove IRC notifications. These are now handled through GitHub status changes, and so the one notifico instance works just as well, and needs less configuration in the repository. --- .appveyor/irc-notify.py | 158 ---------------------------------------- .travis.yml | 6 -- appveyor.yml | 4 - 3 files changed, 168 deletions(-) delete mode 100644 .appveyor/irc-notify.py diff --git a/.appveyor/irc-notify.py b/.appveyor/irc-notify.py deleted file mode 100644 index 0d2aca31..00000000 --- a/.appveyor/irc-notify.py +++ /dev/null @@ -1,158 +0,0 @@ -""" -Based on: https://github.com/wesnoth/wesnoth/blob/b28d8d469af047cbbb20b18757c07b1bfc6afa31/utils/appveyor/irc-notify.py - -Authors: - * Christopher R. Wood - * Jyrki Vesterinen - * nexB - * whitequark - -This program is free software; you can redistribute it and/or modify it under the -terms of the GNU General Public License as published by the Free Software Foundation; -either version 2 of the License, or (at your option) any later version. - -This program is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A -PARTICULAR PURPOSE. See the GNU General Public License for more details. - -You should have received a copy of the GNU General Public License along with this -program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, -Fifth Floor, Boston, MA 02110-1301 USA. - -Simple AppVeyor IRC notification script. - -The first argument is a Freenode channel. Other arguments passed to the script will be -sent as notice messages content and any {var}-formatted environment variables will be -expanded automatically, replaced with a corresponding Appveyor environment variable -value. se commas to delineate multiple messages. - -Example: - - export APPVEYOR_URL=https://ci.appveyor.com - export APPVEYOR_PROJECT_NAME=attributecode - export APPVEYOR_REPO_COMMIT_AUTHOR=pombredanne - export APPVEYOR_REPO_COMMIT_TIMESTAMP=2016-10-31 - export APPVEYOR_REPO_PROVIDER=gihub - export APPVEYOR_REPO_BRANCH=repo_branch - export APPVEYOR_PULL_REQUEST_TITLE=pull_request_title - export APPVEYOR_BUILD_VERSION=1 - export APPVEYOR_REPO_COMMIT=22c95b72e29248dc4de9b85e590ee18f6f587de8 - export APPVEYOR_REPO_COMMIT_MESSAGE="some IRC test" - export APPVEYOR_ACCOUNT_NAME=nexB - export APPVEYOR_PULL_REQUEST_NUMBER=pull_request_number - export APPVEYOR_REPO_NAME=nexB/attributecode - python .appveyor/irc-notify.py '#solvespace-test' '{repo_name}#{build_version} ({branch} - {short_commit} : {author}): {color_green}The build passed.,Change view : {commit_url},Build details : {build_url} - -For use in Appveyor's YAML: - - on_success: - - 'python .appveyor/irc-notify.py ##appveyor-notify-test {repo_name}#{build_version} ({branch} - {short_commit} : {author}): {color_green}The build passed.,Change view : {commit_url},Build details : {build_url}' - on_failure: - - 'python .appveyor/irc-notify.py ##appveyor-notify-test {repo_name}#{build_version} ({branch} - {short_commit} : {author}): {color_red}The build failed.,Change view : {commit_url},Build details : {build_url}' - -""" - -import os, random, socket, ssl, sys, time - - -def appveyor_vars(): - """ - Return a dict of key value carfted from appveyor environment variables. - """ - from os import environ - - appveyor_url = environ.get('APPVEYOR_URL') - message_extended = environ.get('APPVEYOR_REPO_COMMIT_MESSAGE_EXTENDED') - configuration_name = environ.get('CONFIGURATION') - branch = environ.get('APPVEYOR_REPO_BRANCH') - author = environ.get('APPVEYOR_REPO_COMMIT_AUTHOR') - author_email = environ.get('APPVEYOR_REPO_COMMIT_AUTHOR_EMAIL') - timestamp = environ.get('APPVEYOR_REPO_COMMIT_TIMESTAMP') - repo_provider = environ.get('APPVEYOR_REPO_PROVIDER').lower() - project_name = environ.get('APPVEYOR_PROJECT_NAME') - project_slug = environ.get('APPVEYOR_PROJECT_SLUG') - pull_request_title = environ.get('APPVEYOR_PULL_REQUEST_TITLE') - build_version = environ.get('APPVEYOR_BUILD_VERSION') - commit = environ.get('APPVEYOR_REPO_COMMIT') - message = environ.get('APPVEYOR_REPO_COMMIT_MESSAGE') - account_name = environ.get('APPVEYOR_ACCOUNT_NAME') - pull_request_number = environ.get('APPVEYOR_PULL_REQUEST_NUMBER') - repo_name = environ.get('APPVEYOR_REPO_NAME') - - short_commit = commit[:7] - build_url = '{appveyor_url}/project/{account_name}/{project_slug}/build/{build_version}'.format(**locals()) - commit_url = 'https://{repo_provider}.com/{repo_name}/commit/{commit}'.format(**locals()) - - vars = dict( - appveyor_url=appveyor_url, - account_name=account_name, - project_name=project_name, - project_slug=project_slug, - build_version=build_version, - - build_url=build_url, - - repo_provider=repo_provider, - repo_name=repo_name, - branch=branch, - configuration_name=configuration_name, - author=author, - author_email=author_email, - timestamp=timestamp, - commit=commit, - short_commit=short_commit, - message=message, - message_extended=message_extended, - - pull_request_title=pull_request_title, - pull_request_number=pull_request_number, - - commit_url=commit_url, - - color_green='\x033', - color_red='\x034', - bold='\x02', - underline='\x1f', - plain='\x0f', - ) - return vars - - -if __name__ == '__main__': - apvy_vars = appveyor_vars() - - channel = sys.argv[1] - messages = sys.argv[2:] - messages = ' '.join(messages) - messages = messages.split(',') - messages = [msg.format(**apvy_vars).strip() for msg in messages] - - irc_username = 'appveyor-ci' - irc_nick = irc_username + str(random.randint(1, 9999)) - - try: - sock = ssl.wrap_socket(socket.socket(socket.AF_INET, socket.SOCK_STREAM)) - sock.connect((socket.gethostbyname('chat.freenode.net'), 6697)) - sock.send('NICK {0}\r\nUSER {0} * 0 :{0}\r\n'.format(irc_username).encode('utf_8')) - - file = sock.makefile() - while file: - line = file.readline() - response = line.split() - - if response[0] == 'ERROR': - break - - elif response[0] == 'PING': - file.send('PONG {}\r\n'.format(response[1]).encode('utf_8')) - - elif response[1] == '433': - sock.send('NICK {}\r\n'.format(irc_nick).encode('utf_8')) - - elif response[1] in ('376', '422'): - for msg in messages: - print('NOTICE {} :{}'.format(channel, msg)) - sock.send('NOTICE {} :{}\r\n'.format(channel, msg).encode('utf_8')) - sock.send('QUIT\r\n') - except e: - print(e) diff --git a/.travis.yml b/.travis.yml index a736f8db..93b331bc 100644 --- a/.travis.yml +++ b/.travis.yml @@ -22,9 +22,3 @@ deploy: repo: solvespace/solvespace tags: true condition: "$TRAVIS_OS_NAME == osx" -notifications: - irc: - channels: - - "chat.freenode.net#solvespace" - use_notice: true - skip_join: true diff --git a/appveyor.yml b/appveyor.yml index 704d51c1..bb4c6d9b 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -27,7 +27,3 @@ deploy: artifact: solvespace.exe,solvespace-cli.exe,solvespace.pdb on: appveyor_repo_tag: true -on_success: - - 'python .appveyor/irc-notify.py #solvespace {repo_name}#{build_version} ({branch} - {short_commit} : {author}): {color_green}The build passed.,Change view : {commit_url},Build details : {build_url}' -on_failure: - - 'python .appveyor/irc-notify.py #solvespace {repo_name}#{build_version} ({branch} - {short_commit} : {author}): {color_red}The build failed.,Change view : {commit_url},Build details : {build_url}'