mirror of
https://github.com/rizinorg/cutter.git
synced 2024-12-24 05:45:27 +00:00
105 lines
5.1 KiB
YAML
105 lines
5.1 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.8.2/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
|
|
- cmd: python scripts\compile_python_resources.py
|
|
|
|
# Build config
|
|
build_script:
|
|
- cmd: if defined QMAKE ( call prepare_r2.bat && call build.bat CUTTER_ENABLE_PYTHON=true CUTTER_ENABLE_PYTHON_BINDINGS=false CUTTER_ENABLE_JUPYTER=true CUTTER_ENABLE_QTWEBENGINE=false 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.cp36-win_amd64.lib" PYSIDE_INCLUDEDIR="%CUTTER_DEPS_DIR%/pyside/include/PySide2" PYSIDE_LIBRARY="%CUTTER_DEPS_DIR%/pyside/lib/pyside2.cp36-win_amd64.lib" PYSIDE_TYPESYSTEMS="%CUTTER_DEPS_DIR%/pyside/share/PySide2/typesystems")
|
|
- cmd: if defined MESON ( python meson.py --release --dist=%ARTIFACT_PATH% --backend=%BACKEND% --python --jupyter )
|
|
|
|
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%"
|
|
- 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"
|
|
- cmd: powershell -Command "[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; wget %py_url% -OutFile python_embed.zip; Expand-Archive .\python_embed.zip -DestinationPath .\python_embed"
|
|
- cmd: python -m pip install -I --no-compile -t "%ARTIFACT_PATH%\python36\site-packages" jupyter ipykernel==4.8.2 jsonschema==2.6.0 pyzmq==17.1.2 notebook==5.6.0 tornado==5.1.1
|
|
- cmd: if exist "%ARTIFACT_PATH%\python36\site-packages\test" ( rd /s /q "%ARTIFACT_PATH%\python36\site-packages\test" )
|
|
- cmd: for /d %%p in ("%ARTIFACT_PATH%\python36\site-packages\*.dist-info" "%ARTIFACT_PATH%\python36\site-packages\*.egg-info") do rd /s /q "%%p"
|
|
- cmd: python -O -m compileall -b -q "%ARTIFACT_PATH%\python36\site-packages"
|
|
- cmd: del /s "%ARTIFACT_PATH%\python36\site-packages\*.py"
|
|
- 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: xcopy "%CUTTER_DEPS_DIR%\pyside\lib\site-packages" "%ARTIFACT_PATH%\python36\site-packages" /e /i /h
|
|
- cmd: copy "%CUTTER_DEPS_DIR%\pyside\bin\shiboken2.cp36-win_amd64.dll" "%ARTIFACT_PATH%\"
|
|
- cmd: copy "%CUTTER_DEPS_DIR%\pyside\bin\pyside2.cp36-win_amd64.dll" "%ARTIFACT_PATH%\"
|
|
- cmd: powershell -Command "[System.IO.File]::WriteAllLines(\"%ARTIFACT_PATH%\python36._pth\", \"python36`r`npython36\python36.zip`r`npython36\site-packages\")"
|
|
|
|
# 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
|
|
|