version: OpenLP-win-ci-b{build} init: - choco install -y --force bzr - set PATH=C:\Program Files (x86)\Bazaar;%PATH% clone_script: - bzr checkout --lightweight BRANCHNAME openlp-branch environment: PYTHON: C:\\Python36 install: # Install dependencies from pypi - "%PYTHON%\\python.exe -m pip install sqlalchemy alembic chardet beautifulsoup4 Mako nose mock pyodbc psycopg2 pypiwin32 pyenchant websockets asyncio waitress six webob requests pyqt5 lxml" # Install mysql dependency - appveyor DownloadFile http://cdn.mysql.com/Downloads/Connector-Python/mysql-connector-python-2.1.7.zip - 7z x mysql-connector-python-2.1.7.zip - cd mysql-connector-python-2.1.7 - "%PYTHON%\\python.exe setup.py -q install" - cd .. # Download and install pyicu (originally from http://www.lfd.uci.edu/~gohlke/pythonlibs/) - "%PYTHON%\\python.exe -m pip install https://get.openlp.org/win-sdk/PyICU-1.9.7-cp36-cp36m-win32.whl" # Download and unpack mupdf - 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 - appveyor DownloadFile https://mediaarea.net/download/binary/mediainfo/0.7.99/MediaInfo_CLI_0.7.99_Windows_i386.zip - mkdir MediaInfo - 7z x -oMediaInfo MediaInfo_CLI_0.7.99_Windows_i386.zip - cp MediaInfo\\MediaInfo.exe openlp-branch\\MediaInfo.exe build: off test_script: - cd openlp-branch # Run the tests #- "%PYTHON%\\python.exe -m nose -v tests" # Go back to the user root folder - cd.. after_test: # This is where we create a package using PyInstaller # First install PyInstaller - "%PYTHON%\\python.exe -m pip install PyInstaller" # Download and install Inno Setup - used for packaging - appveyor DownloadFile http://www.jrsoftware.org/download.php/is-unicode.exe - is-unicode.exe /VERYSILENT /SUPPRESSMSGBOXES /SP- # Download and unpack portable-bundle - 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 # - PortableApps.comInstaller_3.4.4.paf.exe /S # - curl -L -O http://downloads.sourceforge.net/project/portableapps/PortableApps.com%20Launcher/PortableApps.comLauncher_2.2.1.paf.exe # - PortableApps.comLauncher_2.2.1.paf.exe /S # - 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 #- appveyor DownloadFile http://bazaar.launchpad.net/~openlp-core/openlp/packaging/tarball -FileName packaging.tar.gz - appveyor DownloadFile http://bazaar.launchpad.net/~tomasgroth/openlp/packaging-webengine/tarball -FileName packaging.tar.gz - 7z e packaging.tar.gz - 7z x packaging.tar #- mv ~openlp-core/openlp/packaging packaging - mv ~tomasgroth/openlp/packaging-webengine packaging # If this is trunk we should also build the manual - ps: >- If (BUILD_DOCS) { &"$env:PYTHON\python.exe" -m pip install sphinx Invoke-WebRequest -Uri "http://bazaar.launchpad.net/~openlp-core/openlp/documentation/tarball" -OutFile documentation.tar.gz 7z e documentation.tar.gz 7z x documentation.tar mv ~openlp-core/openlp/documentation documentation cd packaging &"$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 } artifacts: - path: openlp-branch\dist\*.exe