1
mirror of https://invent.kde.org/network/falkon.git synced 2024-12-24 12:46:35 +01:00
falkonOfficial/appveyor.yml
srazi b7fab1a21d AppVeyor: Use shallow_clone.
- i.e. download zip of current source folder using GitHub API instead of using "git clone"
2017-04-07 19:18:51 +04:30

156 lines
6.6 KiB
YAML

version: 2.1.99.{build}-{branch}
shallow_clone: true
cache:
- windows/dependencies
build:
parallel: true
verbosity: detailed
configuration:
- release
# - debug
branches:
except:
- v1.4
- v1.6
- v1.8
environment:
global:
QZ_VER: 2.1.99
VSVER: 14
ARCH: x86
QMAKESPEC: win32-msvc2015
MAKETOOL: jom
TOOLSDIR: C:\Qt\Tools\QtCreator
matrix:
- QTDIR: C:\Qt\5.8\msvc2015
- ARCH: x64
QTDIR: C:\Qt\5.8\msvc2015_64
- PORTABLE_BUILD: "true"
QTDIR: C:\Qt\5.8\msvc2015
install:
- set QZ_DIR=%CD%
- set CPU=32
- IF /I "%ARCH%" == "x64" (set CPU=64)
- set OPENSSL_DIR="C:\OpenSSL-Win%CPU%"
- set ICU_DIR_NAME=icu4c-54_1-Win%CPU%-msvc10
- set ICU_DOWNLOAD_URL="http://download.icu-project.org/files/icu4c/54.1/%ICU_DIR_NAME%.zip"
- call "C:\Program Files (x86)\Microsoft Visual Studio "%VSVER%".0\VC\vcvarsall.bat" %ARCH%
- set PATH=%QTDIR%\bin;%TOOLSDIR%\bin;%OPENSSL_DIR%\bin;%CD%\bin;%PATH%
build_script:
- echo "QupZilla BUILD %APPVEYOR_BUILD_VERSION%_%QMAKESPEC%_%CONFIGURATION%_%ARCH%"
- qmake -v
- qmake CONFIG+=%CONFIGURATION% INCLUDEPATH+="%OPENSSL_DIR%\include" LIBS+=-L%OPENSSL_DIR%\lib QupZilla.pro
- call %MAKETOOL%
test_script:
- cd %QZ_DIR%\tests\autotests
- qmake CONFIG+=%CONFIGURATION% INCLUDEPATH+="%OPENSSL_DIR%\include" LIBS+=-L%OPENSSL_DIR%\lib
- call %MAKETOOL%
- call %CONFIGURATION%\autotests.exe
after_build:
# prepare dependencies
- echo [Paths] > %QZ_DIR%\bin\qt.conf && echo Plugins="." >> %QZ_DIR%\bin\qt.conf
- copy %QZ_DIR%\COPYRIGHT %QZ_DIR%\bin\COPYRIGHT.txt
- cd %QZ_DIR%\windows
- IF NOT EXIST "dependencies" ( mkdir dependencies )
- cd dependencies
- IF NOT EXIST "%ICU_DIR_NAME%.zip" ( appveyor DownloadFile %ICU_DOWNLOAD_URL% ) else ( echo "Use cached %ICU_DIR_NAME%.zip")
# see: https://github.com/appveyor/ci/issues/1347
- ps: If (![System.IO.File]::Exists("$env:APPVEYOR_BUILD_FOLDER\windows\dependencies\KillProcDll&FindProcDll.zip")) { (New-Object Net.WebClient).DownloadFile("http://nsis.sourceforge.net/mediawiki/images/5/53/KillProcDll%26FindProcDll.zip", "$env:APPVEYOR_BUILD_FOLDER\windows\dependencies\KillProcDll&FindProcDll.zip") } ELse { echo "Use cached KillProcDll&FindProcDll.zip" }
- IF NOT EXIST "Registry.zip" (
appveyor DownloadFile "http://nsis.sourceforge.net/mediawiki/images/4/47/Registry.zip" ) else (echo "Use cached Registry.zip")
- IF NOT EXIST "AppAssocReg-0.4.zip" (
appveyor DownloadFile "http://nsis.sourceforge.net/mediawiki/images/d/d4/AppAssocReg-0.4.zip" ) else (echo "Use cached AppAssocReg-0.4.zip")
- IF NOT EXIST "StdUtils.2016-05-14.r2.zip" (
appveyor DownloadFile "http://github.com/lordmulder/stdutils/releases/download/1.10/StdUtils.2016-05-14.r2.zip" ) else (echo "Use cached StdUtils.2016-05-14.r2.zip")
- IF NOT EXIST "master.tar.gz" (
appveyor DownloadFile "http://chromium.googlesource.com/chromium/deps/hunspell_dictionaries/+archive/master.tar.gz" ) else (echo "Use cached master.tar.gz")
- mkdir ..\wininstall
- cd ..\wininstall
- copy ..\*.nsh .\
- copy ..\*.ico .\
- copy ..\*.bmp .\
# prepare nsis plugins
- 7z x "..\dependencies\KillProcDll&FindProcDll.zip"
- 7z x ..\dependencies\Registry.zip
- 7z x ..\dependencies\AppAssocReg-0.4.zip
- 7z x ..\dependencies\StdUtils.2016-05-14.r2.zip
- copy Desktop\Plugin\*.dll .\
- copy Plugins\Unicode\*.dll .\
- copy Include\*.nsh %QZ_DIR%\windows
# prepare icu
- 7z x "..\dependencies\%ICU_DIR_NAME%.zip"
# prepare qtwebengine_dictionaries
- mkdir qtwebengine_dictionaries
- cd qtwebengine_dictionaries
- IF /I "%APPVEYOR_REPO_TAG%" == "true" (
7z x "%QZ_DIR%\windows\dependencies\master.tar.gz" &&
7z x "master.tar" &&
mkdir "doc" &&
move README* "doc\" &&
move COPYING* "doc\"
)
- cd %QZ_DIR%\windows
# set paths
- set OPENSSL_BIN_DIR="%OPENSSL_DIR%\bin"
- set MSVC_REDIST_DIR="C:\Program Files (x86)\Microsoft Visual Studio "%VSVER%".0\VC\redist\%ARCH%\Microsoft.VC%VSVER%0.CRT"
- set ICU_BIN_DIR="%QZ_DIR%\windows\wininstall\icu\bin"
- IF /I "%ARCH%" == "x64" (set INSTALLER_VERSION="%QZ_VER% x64" && set ICU_BIN_DIR="%QZ_DIR%\windows\wininstall\icu\bin64") else (set INSTALLER_VERSION="%QZ_VER%")
- set QTWEBENGINE_DICTIONARIES_DIR="%QZ_DIR%\windows\wininstall\qtwebengine_dictionaries"
# make installer
- IF /I "%APPVEYOR_REPO_TAG%" == "true" (
IF /I "%PORTABLE_BUILD%" == "true" (
call "C:\Program Files (x86)\NSIS\makensis.exe" /X"Unicode true" /DCUSTOM=1 /DPORTABLE=1 /DVERSION="%QZ_VER% Portable" /DARCH=%ARCH% /DMSVC_VER=%VSVER%0 /DOPENSSL_BIN_DIR=%OPENSSL_BIN_DIR% /DMSVC_REDIST_DIR=%MSVC_REDIST_DIR% /DQZ_BIN_DIR=%QZ_DIR%\bin /DICU_BIN_DIR=%ICU_BIN_DIR% /DQT_DIR=%QTDIR% /DQT_BIN_DIR=%QTDIR%\bin /DQT_PLUGINS_DIR=%QTDIR%\plugins /DQTWEBENGINE_DICTIONARIES_DIR=%QTWEBENGINE_DICTIONARIES_DIR% installer.nsi
) else (
call "C:\Program Files (x86)\NSIS\makensis.exe" /X"Unicode true" /DCUSTOM=1 /DVERSION=%INSTALLER_VERSION% /DARCH=%ARCH% /DMSVC_VER=%VSVER%0 /DOPENSSL_BIN_DIR=%OPENSSL_BIN_DIR% /DMSVC_REDIST_DIR=%MSVC_REDIST_DIR% /DQZ_BIN_DIR=%QZ_DIR%\bin /DICU_BIN_DIR=%ICU_BIN_DIR% /DQT_DIR=%QTDIR% /DQT_BIN_DIR=%QTDIR%\bin /DQT_PLUGINS_DIR=%QTDIR%\plugins /DQTWEBENGINE_DICTIONARIES_DIR=%QTWEBENGINE_DICTIONARIES_DIR% installer.nsi
)
)
artifacts:
- path: windows\QupZilla*Installer*.exe
name: QupZilla Installer (%ARCH%)
- path: bin\*.exe
name: QupZilla Executable (%ARCH%)
- path: bin\*.dll
name: QupZilla DLL (%ARCH%)
deploy:
release: 'Version $(qz_ver)'
tag: $(appveyor_repo_tag_name) # don't remove or modify tag field
description: 'QupZilla $(qz_ver) Windows Installer Released'
provider: GitHub
auth_token:
secure: BumEo5ic9KIrhc8RxwsKFd/L6WwC0s5LpSef9uH+PtUKICZBZAcyqnPewKUqzEFi # your encrypted token from GitHub
artifact: /QupZilla.*Installer.*\.exe/ # QupZilla Installer
draft: false
prerelease: false
on:
appveyor_repo_tag: true # deploy on tag push only
# notifications:
# - provider: Email
# to:
# - nowrep@gmail.com
# - s.r.alavizadeh@gmail.com
# on_build_success: false
# on_build_failure: false
# on_build_status_changed: true
# # remote desktop connection on init
# init:
# - ps: iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1'))
# # remote desktop connection on finish and block build to not destroy VM
# on_finish:
# - ps: $blockRdp = $true; iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1'))