← Back to team overview

openlp-core team mailing list archive

[Merge] lp:~tomasgroth/openlp/appveyor-update into lp:openlp

 

Tomas Groth has proposed merging lp:~tomasgroth/openlp/appveyor-update into lp:openlp.

Requested reviews:
  OpenLP Core (openlp-core)

For more details, see:
https://code.launchpad.net/~tomasgroth/openlp/appveyor-update/+merge/323642

Integrate the Jenkins setup with the AppVeyor setup, so that Jenkins fails if AppVeyor fails.
-- 
Your team OpenLP Core is requested to review the proposed merge of lp:~tomasgroth/openlp/appveyor-update into lp:openlp.
=== modified file 'scripts/appveyor-webhook.py'
--- scripts/appveyor-webhook.py	2016-12-31 11:01:36 +0000
+++ scripts/appveyor-webhook.py	2017-05-04 22:01:29 +0000
@@ -35,8 +35,9 @@
 import time
 from subprocess import Popen, PIPE
 
-appveyor_build_url = 'https://ci.appveyor.com/project/TomasGroth/openlp/build'
-appveyor_api_url = 'https://ci.appveyor.com/api/projects/TomasGroth/openlp'
+appveyor_build_url = 'https://ci.appveyor.com/project/OpenLP/{project}/build'
+appveyor_api_url = 'https://ci.appveyor.com/api/projects/OpenLP/{project}'
+appveyor_log_url = 'https://ci.appveyor.com/api/buildjobs/{buildid}/log'
 
 webhook_element = \
     {
@@ -84,7 +85,7 @@
     return version_string, version
 
 
-def get_yml(branch):
+def get_yml(branch, build_type):
     """
     Returns the content of appveyor.yml and inserts the branch to be build
     """
@@ -92,7 +93,7 @@
     yml_text = f.read()
     f.close()
     yml_text = yml_text.replace('BRANCHNAME', branch)
-    if 'openlp-core/openlp/trunk' in branch:
+    if build_type in ['openlp', 'trunk']:
         yml_text = yml_text.replace('BUILD_DOCS', '$TRUE')
     else:
         yml_text = yml_text.replace('BUILD_DOCS', '$FALSE')
@@ -115,23 +116,28 @@
         print(responce.read().decode('utf-8'))
 
 
-def get_appveyor_build_url(branch):
+def get_appveyor_build_url(build_type):
     """
     Get the url of the build.
     """
-    responce = urllib.request.urlopen(appveyor_api_url)
+    responce = urllib.request.urlopen(appveyor_api_url.format(project=build_type))
     json_str = responce.read().decode('utf-8')
     build_json = json.loads(json_str)
-    build_url = '%s/%s' % (appveyor_build_url, build_json['build']['version'])
-    print('Check this URL for build status: %s' % build_url)
-
-
-if len(sys.argv) != 3:
-    print('Usage: %s <webhook-url> <branch>' % sys.argv[0])
+    build_url = '%s/%s' % (appveyor_build_url.format(project=build_type), build_json['build']['version'])
+    print(build_url.format(project=build_type))
+    print(appveyor_log_url.format(buildid=build_json['build']['jobs'][0]['jobId']))
+
+
+if len(sys.argv) != 4:
+    print('Invalid number of arguments\nUsage: %s <webhook-url> <branch> <dev|trunk|openlp>' % sys.argv[0])
 else:
     webhook_url = sys.argv[1]
     branch = sys.argv[2]
-    hook(webhook_url, get_yml(branch))
+    build_type = sys.argv[3]
+    if build_type not in ['dev', 'trunk', 'openlp']:
+        print('Invalid build type\nUsage: %s <webhook-url> <branch> <dev|trunk|openlp>' % sys.argv[0])
+        exit()
+    hook(webhook_url, get_yml(branch, build_type))
     # Wait 5 seconds to make sure the hook has been triggered
     time.sleep(5)
-    get_appveyor_build_url(branch)
+    get_appveyor_build_url(build_type)

=== modified file 'scripts/appveyor.yml'
--- scripts/appveyor.yml	2016-12-15 19:26:18 +0000
+++ scripts/appveyor.yml	2017-05-04 22:01:29 +0000
@@ -12,21 +12,21 @@
 
 install:
   # Install dependencies from pypi
-  - "%PYTHON%\\python.exe -m pip install sqlalchemy alembic chardet beautifulsoup4 Mako nose mock pyodbc psycopg2 pypiwin32 pyenchant"
+  - "%PYTHON%\\python.exe -m pip install sqlalchemy alembic chardet beautifulsoup4 Mako nose mock pyodbc==4.0.8 psycopg2 pypiwin32 pyenchant"
   # Install mysql dependency
   - "%PYTHON%\\python.exe -m pip install http://cdn.mysql.com/Downloads/Connector-Python/mysql-connector-python-2.0.4.zip#md5=3df394d89300db95163f17c843ef49df";
   # Download and install lxml and pyicu (originally from http://www.lfd.uci.edu/~gohlke/pythonlibs/)
   - "%PYTHON%\\python.exe -m pip install https://get.openlp.org/win-sdk/lxml-3.6.4-cp34-cp34m-win32.whl";
   - "%PYTHON%\\python.exe -m pip install https://get.openlp.org/win-sdk/PyICU-1.9.5-cp34-cp34m-win32.whl";
   # Download and install PyQt5
-  - curl -L -O http://downloads.sourceforge.net/project/pyqt/PyQt5/PyQt-5.5.1/PyQt5-5.5.1-gpl-Py3.4-Qt5.5.1-x32.exe
+  - appveyor DownloadFile http://downloads.sourceforge.net/project/pyqt/PyQt5/PyQt-5.5.1/PyQt5-5.5.1-gpl-Py3.4-Qt5.5.1-x32.exe
   - PyQt5-5.5.1-gpl-Py3.4-Qt5.5.1-x32.exe /S
   # Download and unpack mupdf
-  - curl -O http://mupdf.com/downloads/archive/mupdf-1.9a-windows.zip
+  - appveyor DownloadFile http://mupdf.com/downloads/archive/mupdf-1.9a-windows.zip
   - 7z x mupdf-1.9a-windows.zip
   - cp mupdf-1.9a-windows/mupdf.exe openlp-branch/mupdf.exe
   # Download and unpack mediainfo
-  - curl -O https://mediaarea.net/download/binary/mediainfo/0.7.90/MediaInfo_CLI_0.7.90_Windows_i386.zip
+  - appveyor DownloadFile https://mediaarea.net/download/binary/mediainfo/0.7.90/MediaInfo_CLI_0.7.90_Windows_i386.zip
   - mkdir MediaInfo
   - 7z x -oMediaInfo MediaInfo_CLI_0.7.90_Windows_i386.zip
   - cp MediaInfo\\MediaInfo.exe openlp-branch\\MediaInfo.exe
@@ -43,15 +43,15 @@
 after_test:
   # This is where we create a package using PyInstaller
   # First get PyInstaller
-  - curl -L -O https://github.com/pyinstaller/pyinstaller/releases/download/v3.2/PyInstaller-3.2.zip
+  - appveyor DownloadFile  https://github.com/pyinstaller/pyinstaller/releases/download/v3.2/PyInstaller-3.2.zip
   - 7z x PyInstaller-3.2.zip
   # Install PyInstaller dependencies
   - "%PYTHON%\\python.exe -m pip install future pefile"
   # Download and install Inno Setup - used for packaging
-  - curl -L -O http://www.jrsoftware.org/download.php/is-unicode.exe
+  - appveyor DownloadFile http://www.jrsoftware.org/download.php/is-unicode.exe
   - is-unicode.exe /VERYSILENT /SUPPRESSMSGBOXES /SP-
   # Download and unpack portable-bundle
-  - curl -O https://get.openlp.org/win-sdk/portable-setup.7z
+  - appveyor DownloadFile https://get.openlp.org/win-sdk/portable-setup.7z
   - 7z x portable-setup.7z
   # Disabled portable installers - can't figure out how to make them silent
   # - curl -L -O http://downloads.sourceforge.net/project/portableapps/PortableApps.com%20Installer/PortableApps.comInstaller_3.4.4.paf.exe
@@ -61,7 +61,7 @@
   # - curl -L -O http://downloads.sourceforge.net/project/portableapps/NSIS%20Portable/NSISPortable_3.0_English.paf.exe
   # - NSISPortable_3.0_English.paf.exe /S
   # Get the packaging code
-  - curl -L http://bazaar.launchpad.net/~openlp-core/openlp/packaging/tarball -o packaging.tar.gz
+  - appveyor DownloadFile http://bazaar.launchpad.net/~openlp-core/openlp/packaging/tarball -FileName packaging.tar.gz
   - 7z e packaging.tar.gz
   - 7z x packaging.tar
   - mv ~openlp-core/openlp/packaging packaging
@@ -74,7 +74,7 @@
         7z x documentation.tar
         mv ~openlp-core/openlp/documentation documentation
         cd packaging
-        &"$env:PYTHON\python.exe" builders/windows-builder.py --skip-update --skip-translations -c windows/config-appveyor.ini -b ../openlp-branch -d ../documentation --portable
+        &"$env:PYTHON\python.exe" builders/windows-builder.py --skip-update -c windows/config-appveyor.ini -b ../openlp-branch -d ../documentation --portable
       } else {
         cd packaging
         &"$env:PYTHON\python.exe" builders/windows-builder.py --skip-update --skip-translations -c windows/config-appveyor.ini -b ../openlp-branch --portable

=== modified file 'scripts/jenkins_script.py'
--- scripts/jenkins_script.py	2016-12-31 11:01:36 +0000
+++ scripts/jenkins_script.py	2017-05-04 22:01:29 +0000
@@ -59,14 +59,13 @@
     Branch_Pull = 'Branch-01-Pull'
     Branch_Functional = 'Branch-02-Functional-Tests'
     Branch_Interface = 'Branch-03-Interface-Tests'
-    Branch_Windows_Functional = 'Branch-04a-Windows_Functional_Tests'
-    Branch_Windows_Interface = 'Branch-04b-Windows_Interface_Tests'
-    Branch_PEP = 'Branch-05a-Code_Analysis'
-    Branch_Coverage = 'Branch-05b-Test_Coverage'
-    Branch_Pylint = 'Branch-05c-Code_Analysis2'
+    Branch_PEP = 'Branch-04a-Code_Analysis'
+    Branch_Coverage = 'Branch-04b-Test_Coverage'
+    Branch_Pylint = 'Branch-04c-Code_Analysis2'
+    Branch_AppVeyor = 'Branch-05-AppVeyor-Tests'
 
-    Jobs = [Branch_Pull, Branch_Functional, Branch_Interface, Branch_Windows_Functional, Branch_Windows_Interface,
-            Branch_PEP, Branch_Coverage, Branch_Pylint]
+    Jobs = [Branch_Pull, Branch_Functional, Branch_Interface, Branch_PEP, Branch_Coverage, Branch_Pylint,
+            Branch_AppVeyor]
 
 
 class Colour(object):

=== added file 'tests/interfaces/openlp_plugins/bibles/forms/__init__.py'
=== removed file 'tests/interfaces/openlp_plugins/bibles/forms/__init__.py'

Follow ups