Files
SourcetrailDB/appveyor.yml
T
mlangkabel f14a8a0a19 fetch version number from file instead of using git tag
This allows users to download the repository as zip. Furthermore this change also allows the user to increase the version number in the working tree, without having to commit and tag.
2019-05-01 16:34:55 +02:00

153 lines
5.4 KiB
YAML

version: 0.0.0.{build}
image: Visual Studio 2017
environment:
matrix:
- MBITS: 32
PYTHON_VERSION: 37
MSVC_VERSION: 15
DEPLOY_CORE: 1
DEPLOY_PYTHON_BINDINGS: 1
- MBITS: 64
PYTHON_VERSION: 37
MSVC_VERSION: 15
DEPLOY_CORE: 1
DEPLOY_PYTHON_BINDINGS: 1
- MBITS: 32
PYTHON_VERSION: 36
MSVC_VERSION: 15
DEPLOY_CORE: 0
DEPLOY_PYTHON_BINDINGS: 1
- MBITS: 64
PYTHON_VERSION: 36
MSVC_VERSION: 15
DEPLOY_CORE: 0
DEPLOY_PYTHON_BINDINGS: 1
- MBITS: 32
PYTHON_VERSION: 35
MSVC_VERSION: 15
DEPLOY_CORE: 0
DEPLOY_PYTHON_BINDINGS: 1
- MBITS: 64
PYTHON_VERSION: 35
MSVC_VERSION: 15
DEPLOY_CORE: 0
DEPLOY_PYTHON_BINDINGS: 1
- MBITS: 32
PYTHON_VERSION: 37
MSVC_VERSION: 14
DEPLOY_CORE: 1
DEPLOY_PYTHON_BINDINGS: 1
- MBITS: 64
PYTHON_VERSION: 37
MSVC_VERSION: 14
DEPLOY_CORE: 1
DEPLOY_PYTHON_BINDINGS: 1
install:
- ps: |
if ($env:MBITS -eq "32") {
echo "Architecture set to 32 bit."
$env:CMAKE_GENERATOR="Visual Studio $env:MSVC_VERSION"
$env:PYTHON_PATH="C:/Python$env:PYTHON_VERSION"
} elseif ($env:MBITS -eq "64") {
echo "Architecture set to 64 bit."
$env:CMAKE_GENERATOR="Visual Studio $env:MSVC_VERSION Win64"
$env:PYTHON_PATH="C:/Python$env:PYTHON_VERSION-x64"
} else {
echo "No architecture set. Build will be canceled."
}
# Install SWIG by Choco
choco install -y --no-progress swig
before_build:
- mkdir build
- cd build
- cmake -G "%CMAKE_GENERATOR%" ../ -DBUILD_BINDINGS_PYTHON=ON -DPYTHON_LIBRARY="%PYTHON_PATH%/libs/python%PYTHON_VERSION%.lib"
- cd ../
- ps: $env:CORE_VERSION = Get-Content -Path ./version.txt
- ps: $env:UNDERSCORED_CORE_VERSION = $env:CORE_VERSION.Replace(".", "_")
- ps: echo "Core version is $env:CORE_VERSION"
# TODO: use the core version to update appveyor version here
# - ps: $env:BUILD_VERSION = "0.0.1." + $env:APPVEYOR_BUILD_NUMBER
# - ps: echo update build version to $env:BUILD_VERSION
# - ps: Update-AppveyorBuild -Version $env:BUILD_VERSION
build_script:
- cd build
- msbuild /p:configuration=Release /v:m ALL_BUILD.vcxproj
- cd ../
after_build:
- ps: $env:CORE_PACKAGE_NAME = 'sourcetraildb_core_' + $env:UNDERSCORED_CORE_VERSION + '-windows-' + $env:MBITS + 'bit-msvc' + $env:MSVC_VERSION
- ps: $env:PYTHON_PACKAGE_NAME = 'sourcetrailbd_python' + $env:PYTHON_VERSION + '_' + $env:UNDERSCORED_CORE_VERSION + '-windows-' + $env:MBITS + 'bit'
- ps: echo $env:CORE_PACKAGE_NAME
- ps: echo $env:PYTHON_PACKAGE_NAME
- mkdir artifacts_core
- cd artifacts_core
- mkdir %CORE_PACKAGE_NAME%
- cd %CORE_PACKAGE_NAME%
- mkdir lib
- mkdir include
- mkdir license
- cd ../..
- ps: |
copy build/core/release/sourcetraildb.lib artifacts_core/$env:CORE_PACKAGE_NAME/lib/
copy build/core/include/version.h artifacts_core/$env:CORE_PACKAGE_NAME/include/
copy core/include/* artifacts_core/$env:CORE_PACKAGE_NAME/include/
copy LICENSE.txt artifacts_core/$env:CORE_PACKAGE_NAME/license/license_sourcetraildb.txt
copy external/catch/license_catch.txt artifacts_core/$env:CORE_PACKAGE_NAME/license/
copy external/cpp_sqlite/license_cpp_sqlite.txt artifacts_core/$env:CORE_PACKAGE_NAME/license/
copy external/json/license_json.txt artifacts_core/$env:CORE_PACKAGE_NAME/license/
- mkdir artifacts_bindings_python
- cd artifacts_bindings_python
- mkdir %PYTHON_PACKAGE_NAME%
- cd %PYTHON_PACKAGE_NAME%
- mkdir license
- cd ../..
- ps: |
copy build/bindings_python/release/_sourcetraildb.pyd artifacts_bindings_python/$env:PYTHON_PACKAGE_NAME/
copy build/bindings_python/sourcetraildb.py artifacts_bindings_python/$env:PYTHON_PACKAGE_NAME/
copy LICENSE.txt artifacts_bindings_python/$env:PYTHON_PACKAGE_NAME/license/license_sourcetraildb.txt
copy external/catch/license_catch.txt artifacts_bindings_python/$env:PYTHON_PACKAGE_NAME/license/
copy external/cpp_sqlite/license_cpp_sqlite.txt artifacts_bindings_python/$env:PYTHON_PACKAGE_NAME/license/
copy external/json/license_json.txt artifacts_bindings_python/$env:PYTHON_PACKAGE_NAME/license/
- ps: |
$env:ARTIFACTY_TO_DEPLOY = ""
if ($env:DEPLOY_CORE -eq "1") {
$env:ARTIFACTY_TO_DEPLOY = $env:ARTIFACTY_TO_DEPLOY + "," + $env:CORE_PACKAGE_NAME
}
if ($env:DEPLOY_PYTHON_BINDINGS -eq "1") {
$env:ARTIFACTY_TO_DEPLOY = $env:ARTIFACTY_TO_DEPLOY + "," + $env:PYTHON_PACKAGE_NAME
}
$env:ARTIFACTY_TO_DEPLOY = $env:ARTIFACTY_TO_DEPLOY.substring(1)
echo $env:ARTIFACTY_TO_DEPLOY
test_script:
- "build\\core\\release\\test_core.exe"
artifacts:
- path: artifacts_core
name: $(CORE_PACKAGE_NAME)
type: Zip
- path: artifacts_bindings_python
name: $(PYTHON_PACKAGE_NAME)
type: Zip
deploy:
provider: GitHub
artifact: $(ARTIFACTY_TO_DEPLOY)
auth_token:
secure: 8UwbjFrtR19GxLgL3O3efUT0Su2mp3+X23YioThJITupEvexmQJPAf3Whmmb3eeL
on:
appveyor_repo_tag: true