1+ name : Windows Source Distribution
2+ on : workflow_dispatch
3+ jobs :
4+ wheels-windows :
5+ runs-on : windows-2022
6+ strategy :
7+ matrix :
8+ include :
9+ - arch : AMD64
10+ platform : x64
11+ boost-lib : 64
12+ steps :
13+ - name : Checkout ORE-SWIG
14+ uses : actions/checkout@v4
15+ - name : get QuantLib-SWIG
16+ run : |
17+ git submodule update --init
18+ - name : Checkout ORE
19+ uses : actions/checkout@v4
20+ with :
21+ repository : OpenSourceRisk/Engine
22+ path : ' ./ORE'
23+ fetch-depth : 0
24+ - name : get QuantLib
25+ run : |
26+ cd ORE
27+ git submodule update --init
28+ cd ..
29+ - name : zlib
30+ run : |
31+ $Url = "https://www.zlib.net/zlib131.zip"
32+ (New-Object System.Net.WebClient).DownloadFile($Url, "$env:TEMP\zlib.zip")
33+ Expand-Archive -Path "$env:TEMP\zlib.zip" -DestinationPath C:\local
34+ cd C:\local\zlib-1.3.1
35+ mkdir build
36+ cd build
37+ cmake ..
38+ cmake --build . --config Release
39+ - name : eigen
40+ run : |
41+ $Url = "https://gitlab.com/libeigen/eigen/-/archive/3.4.0/eigen-3.4.0.zip"
42+ (New-Object System.Net.WebClient).DownloadFile($Url, "$env:TEMP\eigen.zip")
43+ Expand-Archive -Path "$env:TEMP\eigen.zip" -DestinationPath C:\local
44+ cd C:\local\eigen-3.4.0
45+ mkdir build
46+ cd build
47+ cmake ..
48+ - name : Build Boost
49+ run : |
50+ $Url = "https://boostorg.jfrog.io/artifactory/main/release/1.72.0/binaries/boost_1_72_0-msvc-14.2-${{ matrix.boost-lib }}.exe"
51+ (New-Object System.Net.WebClient).DownloadFile($Url, "$env:TEMP\boost.exe")
52+ Start-Process -Wait -FilePath "$env:TEMP\boost.exe" "/SILENT","/SP-","/SUPPRESSMSGBOXES","/DIR=C:\local\boost"
53+ choco install -y ninja
54+ - name : Build ORE
55+ env :
56+ Boost_ROOT : C:\local\boost
57+ shell : cmd
58+ run : |
59+ pwd
60+ cd ORE
61+ SET ORE_DIR=%cd%
62+ SET ORE=%cd%
63+ mkdir build
64+ cd build
65+ SET ZLIB_ROOT=C:\local\zlib-1.3.1
66+ SET Eigen3_DIR=C:\local\eigen-3.4.0
67+ call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\Vc\Auxiliary\Build\vcvarsall.bat" ${{ matrix.arch }} -vcvars_ver=14.2 || exit 1
68+ cmake .. -GNinja -DCMAKE_BUILD_TYPE=Release -DQL_BUILD_EXAMPLES=false -DQL_BUILD_TEST_SUITE=false -DQL_BUILD_BENCHMARK=false -DQL_ENABLE_SESSIONS=true -DORE_BUILD_DOC=false -DMSVC_LINK_DYNAMIC_RUNTIME=OFF -DORE_USE_ZLIB=ON -DBOOST_INCLUDEDIR=C:\local\boost -DZLIB_LIBRARY=C:\local\zlib-1.3.1\build\Release\zlib.lib -DBOOST_LIBRARYDIR=C:\local\boost\lib64-msvc-14.3 -L
69+ cmake --build . -j 2 --verbose
70+ - name : Wrap ORE-SWIG with Setup.py
71+ run : |
72+ SET ORE=D:\a\ORE-SWIG\ORE-SWIG\ORE
73+ SET ORE_DIR=D:\a\ORE-SWIG\ORE-SWIG\ORE
74+ SET ZLIB_ROOT=C:\local\zlib-1.3.1
75+ SET Eigen3_DIR=C:\local\eigen-3.4.0
76+ SET BOOST_INCLUDEDIR=C:\local\boost
77+ SET BOOST_ROOT=C:\local\boost
78+ SET BOOST_LIBRARYDIR=C:\local\boost\lib${{ matrix.boost-lib }}-msvc-14.2
79+ cd D:\a\ORE-SWIG\ORE-SWIG\OREAnalytics-SWIG\Python
80+ python setup.py wrap
81+ - name : Build ORE sdist
82+ env :
83+ BOOST_ROOT : C:\local\boost
84+ BOOST_LIB : C:\local\boost\lib${{ matrix.boost-lib }}-msvc-14.2
85+ ORE : D:\a\ORE-SWIG\ORE-SWIG\ORE
86+ ORE_DIR : D:\a\ORE-SWIG\ORE-SWIG\ORE
87+ ORE_STATIC_RUNTIME : 1
88+ ORE_USE_ZLIB : 1
89+ run : |
90+ pwd
91+ cd OREAnalytics-SWIG/Python
92+ pwd
93+ pip install build
94+ python setup.py sdist
95+ pwd
96+ dir
97+ cd dist
98+ dir
99+ - name : Upload sdist as artefacts
100+ uses : actions/upload-artifact@v4
101+ with :
102+ name : sdist-${{matrix.arch}}
103+ path : D:\a\ORE-SWIG\ORE-SWIG\OREAnalytics-SWIG\Python\dist\*.tar.gz
0 commit comments