cutter/.appveyor.yml
2019-04-08 22:07:35 +02:00

90 lines
3.3 KiB
YAML

version: '1.8.0-git-{build}'
image: 'Visual Studio 2017'
clone_depth: 1
# Build configuration
configuration:
- Release
# Environment
environment:
NINJA_URL: https://github.com/ninja-build/ninja/releases/download/v1.9.0/ninja-win.zip
QT32PATH: 'C:\Qt\5.12\msvc2017'
QT64PATH: 'C:\Qt\5.12\msvc2017_64'
VSVARSALLPATH: 'C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvarsall.bat'
matrix:
# Build: qmake vs2017 x86 shared
#- ARCH: x86
# PYTHON: 'C:\Python36'
# QMAKE: 1
# DEPLOY: true
# Build: qmake vs2017 x64 shared
- ARCH: x64
PYTHON: 'C:\Python36-x64'
QMAKE: 1
DEPLOY: true
# Build: meson ninja x64 static
- ARCH: x64
PYTHON: 'C:\Python36-x64'
MESON: 1
BACKEND: ninja
DEPLOY: false
install:
- ps: $env:path = ($env:path -split ";").Where({!($_ -like "*Microsoft SQL Server*")}) -join ";"
- cmd: C:\msys64\usr\bin\bash -lc "cd $APPVEYOR_BUILD_FOLDER && scripts/fetch_deps.sh"
- cmd: set "CUTTER_DEPS_DIR=%APPVEYOR_BUILD_FOLDER%\cutter-deps"
- cmd: set "PATH=%CD%;%PYTHON%;%PATH%"
- cmd: call "%VSVARSALLPATH%" %ARCH%
- cmd: if "%ARCH%" == "x64" ( set "PATH=%QT64PATH%\bin;%PATH%" ) else ( set "PATH=%QT32PATH%\bin;%PATH%" )
- cmd: python -m pip install meson
- cmd: powershell -Command "[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; wget %NINJA_URL% -OutFile ninja.zip; Expand-Archive .\ninja.zip -DestinationPath ."
# Artifacts
- cmd: set "ARTIFACT_NAME=Cutter-v1.8.0-%ARCH%.Windows"
- cmd: if defined MESON ( set "ARTIFACT_PATH=dist_%ARCH%" ) else ( set "ARTIFACT_PATH=build_%ARCH%\cutter" )
before_build:
- cmd: git submodule update --init
# Build config
build_script:
- cmd: if defined QMAKE ( call prepare_r2.bat && call build.bat CUTTER_APPVEYOR_R2DEC=true CUTTER_ENABLE_PYTHON=true CUTTER_ENABLE_PYTHON_BINDINGS=true SHIBOKEN_EXECUTABLE="%CUTTER_DEPS_DIR%\pyside\bin\shiboken2.exe" SHIBOKEN_INCLUDEDIR="%CUTTER_DEPS_DIR%/pyside/include/shiboken2" SHIBOKEN_LIBRARY="%CUTTER_DEPS_DIR%/pyside/lib/shiboken2.lib" PYSIDE_INCLUDEDIR="%CUTTER_DEPS_DIR%/pyside/include/PySide2" PYSIDE_LIBRARY="%CUTTER_DEPS_DIR%/pyside/lib/pyside2.lib" PYSIDE_TYPESYSTEMS="%CUTTER_DEPS_DIR%/pyside/share/PySide2/typesystems")
- cmd: if defined MESON ( python meson.py --release --dist=%ARTIFACT_PATH% --backend=%BACKEND% --python )
after_build:
- cmd: if defined QMAKE ( set "PATH=%CD%\r2_dist_%ARCH%;%PATH%" && powershell scripts\bundle_r2dec.ps1 "%CD%\%ARTIFACT_PATH%" )
- cmd: powershell scripts\bundle_openssl.ps1 %ARCH% "%CD%\%ARTIFACT_PATH%"
- cmd: powershell scripts\bundle_python.ps1 %ARCH% "%CD%\%ARTIFACT_PATH%"
- cmd: xcopy "%CUTTER_DEPS_DIR%\pyside\lib\site-packages" "%ARTIFACT_PATH%\python36\site-packages" /e /i /h
- cmd: copy "%CUTTER_DEPS_DIR%\pyside\bin\shiboken2.dll" "%ARTIFACT_PATH%\"
- cmd: copy "%CUTTER_DEPS_DIR%\pyside\bin\pyside2.dll" "%ARTIFACT_PATH%\"
# Tests
test: off
# Artifacts
artifacts:
- path: "%ARTIFACT_PATH%"
name: "%ARTIFACT_NAME%"
deploy:
description: 'Cutter binaries'
provider: GitHub
auth_token:
secure: 2SmsqS2RaX2N5c9UwUcfBwNmMX64FfPAZFShLyxIkZXiC8vLaYCHToWxBYEuWRSk
artifact: "%ARTIFACT_NAME%"
draft: true
prerelease: true
on:
appveyor_repo_tag: true
DEPLOY: true
for:
-
branches:
only:
- master
-
skip_non_tags: true