-
Notifications
You must be signed in to change notification settings - Fork 3
/
.appveyor.yml
102 lines (88 loc) · 3.66 KB
/
.appveyor.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
version: 1.3.2.{build}-{branch}
image: Visual Studio 2019
configuration: Release
environment:
REPO_DIR: "cvxopt"
PACKAGE_NAME: "cvxopt"
BUILD_COMMIT: "1.3.2"
# BUILD_SUFFIX: ".1"
BUILD_DEPENDS: "setuptools setuptools_scm wheel build"
TEST_DEPENDS: "pytest"
DEPLOY_DEPENDS: "twine"
CVXOPT_BUILD_GLPK: "1"
CVXOPT_MSVC: "1"
TARGET_ARCH: 64
TWINE_NON_INTERACTIVE: true
TWINE_USERNAME: "__token__"
# PyPI
#TWINE_REPOSITORY_URL: "https://upload.pypi.org/legacy/"
#TWINE_PASSWORD:
# secure: "oxRUDfloX5kWUZqLpZxBsRMaxobAFHau6v93I65IhGMzfAMBB4wXN556Bc64gw73x07r174T0cddNFfHZWwyHzxffM1xdFwCAyXBNLG0ChfszYj3/l/toKB4MIn93EFuLNKn9dYxj38s57i8AGKl383rZoGELOW4qSgAm9vALxqfy+wlH7e8vJ69QrNbMG2HycMnPAWTj7qk0BRVY7Et3BNmhrNuqSeRdDlN9w2M/1ZMoNVKRtH7eusU3Mrr6Ah4PIzspNVOkhuqtDXiFhhh6w=="
# PyPI-test
TWINE_REPOSITORY_URL: "https://test.pypi.org/legacy/"
TWINE_PASSWORD:
secure: "4zJCT875BtQ2jzr0umkkTjOd0BSVanl/TgrRwz9ssUBQ+0mZ6j3/vVZHSIR2sMziQR0Q5VMOYp/IZuCUyLN+8+NY+jajEVMbnxpbYVdclUCu7CTVkKSZtxNk9mnQ2Ni1Clc9Xl9lH/hM3I/vvlGRXHQQ3bEReFkSxEL72I0Hze+YauDS2O51Pm3XNXDMIGbeInfNtDTzMTS0xwaMLfWLLsQbvnRinDvUKZePYtM5zCLRgoES0czvxMWlpk7bIU0c3M1EpNO8exXX6rQGoV4oYA=="
matrix:
# - PYTHON_VERSION: "3.6"
# - PYTHON_VERSION: "3.7"
# - PYTHON_VERSION: "3.8"
# - PYTHON_VERSION: "3.9"
# - PYTHON_VERSION: "3.10"
# - PYTHON_VERSION: "3.11"
- PYTHON_VERSION: "3.12"
platform:
- x64
# - x86
matrix:
fast_finish: true
install:
# Configure build environment
- cmd: |
choco install wget checksum
call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvars%TARGET_ARCH%.bat"
set PYTHON_DIR=C:\Python%PYTHON_VERSION:.=%
if [%PLATFORM%]==[x64] ( set "PYTHON_DIR=%PYTHON_DIR%-x64" )
set "PATH=%PYTHON_DIR%;%PYTHON_DIR%\Scripts;%ProgramFiles%\7-Zip;%PATH%"
python --version
python -c "import struct; print(struct.calcsize('P') * 8)"
python -m pip install --upgrade pip
pip install --upgrade %BUILD_DEPENDS%
# Configure OpenBLAS, SuiteSparse, GLPK
- cmd: |
call .ci-support\config_openblas.bat
call .ci-support\config_suitesparse_src.bat
if [%CVXOPT_BUILD_GLPK%]==[1] ( call .ci-support\config_glpk.bat )
before_build:
- cmd: |
git submodule update --init --recursive
build_script:
- cmd: |
cd %REPO_DIR%
git checkout %BUILD_COMMIT%
if defined BUILD_SUFFIX ( git tag %BUILD_COMMIT%%BUILD_SUFFIX% %BUILD_COMMIT% && git tag -d %BUILD_COMMIT% && git checkout %BUILD_COMMIT%%BUILD_SUFFIX% )
mkdir src\python\.libs
copy %OPENBLAS_DLL% src\python\.libs
copy %OPENBLAS_LIB% libopenblas.lib
copy %OPENBLAS_LICENSE% src\python
set "CVXOPT_BLAS_LIB_DIR=%cd%"
python -m build --wheel
before_test:
- cmd: |
pip install --upgrade %TEST_DEPENDS%
pip install --no-index --find-links dist\ %PACKAGE_NAME%
test_script:
- cmd: |
python -c "from cvxopt import blas,lapack,cholmod,umfpack"
if [%CVXOPT_BUILD_DSDP%]==[1] ( python -c "from cvxopt import dsdp" )
if [%CVXOPT_BUILD_FFTW%]==[1] ( python -c "from cvxopt import fftw" )
if [%CVXOPT_BUILD_GLPK%]==[1] ( python -c "from cvxopt import glpk" )
if [%CVXOPT_BUILD_GSL%]==[1] ( python -c "from cvxopt import gsl" )
pytest tests
artifacts:
- path: cvxopt\dist\*.whl
name: Wheels
before_deploy:
- cmd: |
pip install --upgrade %DEPLOY_DEPENDS%
#deploy_script:
# - cmd: python -m twine upload --verbose --skip-existing dist\*.whl