2018-12-26 10:41:31 +00:00
version : '1.7.3-git-{build}'
2017-10-03 12:42:31 +00:00
image : 'Visual Studio 2015'
clone_depth : 1
# Build configuration
configuration :
- Release
# Environment
environment :
2017-10-15 19:19:48 +00:00
NINJA_URL : https://github.com/ninja-build/ninja/releases/download/v1.8.2/ninja-win.zip
2018-12-11 18:22:45 +00:00
QT32PATH : 'C:\Qt\5.10.1\msvc2015'
QT64PATH : 'C:\Qt\5.10.1\msvc2015_64'
2017-10-15 19:19:48 +00:00
VSVARSALLPATH : 'C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat'
2017-10-15 20:53:09 +00:00
matrix :
2018-02-09 19:51:30 +00:00
# Build: qmake vs2015 x86 shared
2018-02-27 08:57:53 +00:00
- ARCH : x86
2018-02-25 19:17:03 +00:00
PYTHON : 'C:\Python36'
2018-02-09 19:51:30 +00:00
QMAKE : 1
2018-07-13 18:22:10 +00:00
DEPLOY : true
2018-02-09 19:51:30 +00:00
# Build: qmake vs2015 x64 shared
2018-02-27 08:57:53 +00:00
- ARCH : x64
2018-02-25 19:17:03 +00:00
PYTHON : 'C:\Python36-x64'
2018-02-09 19:51:30 +00:00
QMAKE : 1
2018-07-13 18:22:10 +00:00
DEPLOY : true
2018-02-09 19:51:30 +00:00
# Build: meson ninja x64 static
2018-02-27 08:57:53 +00:00
- ARCH : x64
2018-02-25 19:17:03 +00:00
PYTHON : 'C:\Python36-x64'
2018-02-09 19:51:30 +00:00
MESON : 1
BACKEND : ninja
2018-07-13 18:22:10 +00:00
DEPLOY : false
2018-02-09 19:51:30 +00:00
install :
2018-02-27 08:57:53 +00:00
- cmd : set "PATH=%CD%;%PYTHON%;%PATH%"
- cmd : call "%VSVARSALLPATH%" %ARCH%
2018-03-08 09:06:02 +00:00
- cmd : if "%ARCH%" == "x64" ( set "PATH=%QT64PATH%\bin;%PATH%" ) else ( set "PATH=%QT32PATH%\bin;%PATH%" )
2018-12-11 18:22:45 +00:00
- cmd : python -m pip install meson==0.48.2
2018-03-08 09:06:02 +00:00
- cmd : powershell -Command "[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; wget %NINJA_URL% -OutFile ninja.zip; Expand-Archive .\ninja.zip -DestinationPath ."
2018-02-09 19:51:30 +00:00
# Artifacts
2018-12-24 14:23:03 +00:00
- cmd : set "ARTIFACT_NAME=Cutter_win_%ARCH%"
- cmd : if not %APPVEYOR_REPO_TAG% equ true ( echo "This is not tagged as release, will deploy nightly..." )
2018-12-24 12:07:46 +00:00
- cmd : if not %APPVEYOR_REPO_TAG% equ true ( set "ARTIFACT_NAME=%ARTIFACT_NAME%-nightly" && set "DEPLOY_RELEASE=nightly" ) else ( set "DEPLOY_RELEASE=%APPVEYOR_REPO_TAG_NAME%" )
2018-04-05 08:05:00 +00:00
- cmd : if defined MESON ( set "ARTIFACT_PATH=dist_%ARCH%" ) else ( set "ARTIFACT_PATH=build_%ARCH%\cutter" )
2017-10-03 12:42:31 +00:00
before_build :
2018-02-27 08:57:53 +00:00
- cmd : git submodule update --init
2018-04-30 09:45:02 +00:00
- cmd : python scripts\compile_python_resources.py
2017-10-03 12:42:31 +00:00
# Build config
2017-10-15 19:19:48 +00:00
build_script :
2018-11-10 12:10:26 +00:00
- cmd : if defined QMAKE ( call prepare_r2.bat && call build.bat CUTTER_APPVEYOR_R2DEC=true )
2018-08-26 12:43:06 +00:00
- cmd : if defined MESON ( python meson.py --release --dist=%ARTIFACT_PATH% --backend=%BACKEND% --jupyter --webengine )
2018-03-08 09:06:02 +00:00
after_build :
2018-11-10 12:10:26 +00:00
- cmd : if defined QMAKE ( set "PATH=%CD%\r2_dist_%ARCH%;%PATH%" && powershell scripts\bundle_r2dec.ps1 "%CD%\%ARTIFACT_PATH%" )
2018-12-03 19:39:51 +00:00
- cmd : powershell scripts\bundle_openssl.ps1 %ARCH% "%CD%\%ARTIFACT_PATH%"
2018-03-08 09:06:02 +00:00
- ps : $env:py_version = (python --version).Split()[1]
- ps : $env:py_platform = If ($env:ARCH -eq "x64") {"amd64"} Else {"win32"}
- ps : $env:py_url = "https://www.python.org/ftp/python/${env:py_version}/python-${env:py_version}-embed-${env:py_platform}.zip"
2018-07-11 08:36:39 +00:00
- cmd : powershell -Command "[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; wget %py_url% -OutFile python_embed.zip; Expand-Archive .\python_embed.zip -DestinationPath .\python_embed"
2018-10-09 21:07:03 +00:00
- cmd : python -m pip install -I --no-compile -t "%ARTIFACT_PATH%\python36\site-packages" jupyter ipykernel==4.8.2
2018-04-16 17:02:24 +00:00
- cmd : if exist "%ARTIFACT_PATH%\python36\site-packages\test" ( rd /s /q "%ARTIFACT_PATH%\python36\site-packages\test" )
2018-03-08 09:06:02 +00:00
- cmd : for /d %%p in ("%ARTIFACT_PATH%\python36\site-packages\*.dist-info" "%ARTIFACT_PATH%\python36\site-packages\*.egg-info") do rd /s /q "%%p"
2018-03-19 20:26:46 +00:00
- cmd : python -O -m compileall -b -q "%ARTIFACT_PATH%\python36\site-packages"
- cmd : del /s "%ARTIFACT_PATH%\python36\site-packages\*.py"
2018-07-11 08:36:39 +00:00
- cmd : powershell -c "Get-ChildItem -Path \"%ARTIFACT_PATH%\python36\site-packages\" -Include '__pycache__' -Recurse -Force | Remove-Item -Force -Recurse"
- cmd : copy python_embed\python36.zip "%ARTIFACT_PATH%\python36\"
- cmd : copy python_embed\*.pyd "%ARTIFACT_PATH%\python36\"
- cmd : copy python_embed\sqlite3.dll "%ARTIFACT_PATH%\python36\"
- cmd : copy python_embed\python*.dll "%ARTIFACT_PATH%\"
- cmd : powershell -Command "[System.IO.File]::WriteAllLines(\"%ARTIFACT_PATH%\python36._pth\", \"python36`r`npython36\python36.zip`r`npython36\site-packages\")"
2017-10-08 06:23:22 +00:00
2017-10-03 12:42:31 +00:00
# Tests
test : off
2017-10-08 06:23:22 +00:00
# Artifacts
artifacts :
2018-02-27 08:57:53 +00:00
- path : "%ARTIFACT_PATH%"
2018-02-09 19:51:30 +00:00
name : "%ARTIFACT_NAME%"
2017-10-15 20:53:09 +00:00
deploy :
2018-07-13 18:22:10 +00:00
description : 'Cutter binaries'
2017-10-15 20:53:09 +00:00
provider : GitHub
2018-12-24 12:07:46 +00:00
release : "%DEPLOY_RELEASE%"
2017-10-15 20:53:09 +00:00
auth_token :
secure : 2SmsqS2RaX2N5c9UwUcfBwNmMX64FfPAZFShLyxIkZXiC8vLaYCHToWxBYEuWRSk
2018-04-23 17:33:16 +00:00
artifact : "%ARTIFACT_NAME%"
2018-12-24 12:07:46 +00:00
draft : false
prerelease : true
force_update : true
2017-10-15 20:53:09 +00:00
on :
2018-12-24 14:23:03 +00:00
appveyor_repo_tag : true
2018-07-13 18:22:10 +00:00
DEPLOY : true
2018-10-02 11:38:17 +00:00
for :
2018-12-24 12:07:46 +00:00
- branches :
2018-10-02 11:38:17 +00:00
only :
- master