forked from openlp/openlp
85 lines
4.1 KiB
YAML
85 lines
4.1 KiB
YAML
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:\\Python34
|
|
|
|
install:
|
|
# Install dependencies from pypi
|
|
- "%PYTHON%\\python.exe -m pip install sqlalchemy alembic chardet beautifulsoup4 Mako nose mock pyodbc==4.0.8 psycopg2 pypiwin32 pyenchant websockets asyncio waitress six webob requests"
|
|
# 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
|
|
- 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
|
|
- 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.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
|
|
|
|
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 get PyInstaller
|
|
- 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
|
|
- 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
|
|
- 7z e packaging.tar.gz
|
|
- 7z x packaging.tar
|
|
- mv ~openlp-core/openlp/packaging 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
|