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.
153 lines
5.4 KiB
YAML
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
|