Skip to content

Commit dc8437f

Browse files
committed
Merge branch 'master' into 'master'
ORE Release Closes QPR-12436, QPR-12495, QPR-12484, QPR-12458, QPR-12433, QPR-12421, QPR-12137, QPR-12134, QPR-11981, and QPR-12302 See merge request qs/oreswig-github!8
2 parents 65333c6 + b79e0ac commit dc8437f

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

66 files changed

+5544
-574
lines changed
Lines changed: 92 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,92 @@
1+
name: Linux x86_64 ManyLinux Wheels (pp*)
2+
3+
on:
4+
push:
5+
branches: [master]
6+
tags:
7+
- 'v*'
8+
release:
9+
types: [published]
10+
workflow_dispatch:
11+
12+
jobs:
13+
wheels-linux:
14+
runs-on: ubuntu-latest
15+
steps:
16+
- name: Checkout ORE-SWIG
17+
uses: actions/checkout@v4
18+
- name: get QuantLib-SWIG
19+
run: |
20+
git submodule update --init
21+
- name: Checkout ORE
22+
uses: actions/checkout@v4
23+
with:
24+
repository: OpenSourceRisk/Engine
25+
path: './ORE'
26+
fetch-depth: 0
27+
- name: get QuantLib
28+
run: |
29+
cd ORE
30+
git submodule update --init
31+
- name: Set Swap Space
32+
uses: pierotofy/set-swap-space@master
33+
with:
34+
swap-size-gb: 10
35+
- name: Install eigen
36+
run: |
37+
curl -O -L https://gitlab.com/libeigen/eigen/-/archive/3.4.0/eigen-3.4.0.tar.gz
38+
tar zxvf eigen-3.4.0.tar.gz
39+
cd eigen-3.4.0
40+
mkdir build
41+
cd build
42+
cmake ..
43+
export
44+
export Eigen3_DIR=$CURRENT_DIR/eigen-3.4.0
45+
- name: Set up Boost
46+
run: |
47+
sudo apt update
48+
sudo apt install -y libboost-all-dev libboost-test-dev ninja-build
49+
- name: Build Zlib
50+
run: |
51+
pwd
52+
curl -O -L https://www.zlib.net/zlib-1.3.1.tar.gz
53+
tar xzvf zlib-1.3.1.tar.gz
54+
cd zlib-1.3.1
55+
./configure
56+
make
57+
export ZLIB_ROOT=$CURRENT_DIR/zlib-1.3.1
58+
- name: Build ORE
59+
run : pwd; cd ORE; mkdir build; cd build; cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DORE_USE_ZLIB=ON -DBUILD_SHARED_LIBS=false -DQL_BUILD_EXAMPLES=false -DQL_BUILD_TEST_SUITE=false -DQL_BUILD_BENCHMARK=false -DQL_ENABLE_SESSIONS=true -DORE_BUILD_DOC=false -G "Ninja" ..
60+
- name: cmake build
61+
run: pwd; cd ORE; cd build; cmake --build . -j $(nproc)
62+
- name: Wrap ORE-SWIG
63+
run: pwd; cd OREAnalytics-SWIG/Python; python setup.py wrap
64+
- name: Copy Configuration
65+
run: |
66+
pwd
67+
cp Wheels/oreanalytics-config.linux OREAnalytics-SWIG/oreanalytics-config
68+
cd Wheels
69+
chmod +x before_all_linux.sh
70+
- name: Build ORE wheels
71+
uses: pypa/cibuildwheel@v2.16.2
72+
env:
73+
CIBW_BUILD: "*-manylinux*"
74+
CIBW_SKIP: cp*
75+
#CIBW_BUILD: cp37-manylinux_x86_64
76+
#CIBW_BUILD: cp38-manylinux_x86_64
77+
#CIBW_BUILD: cp39-manylinux_x86_64
78+
#CIBW_BUILD: cp310-manylinux_x86_64
79+
#CIBW_BUILD: cp311-manylinux_x86_64
80+
CIBW_ARCHS_LINUX: x86_64
81+
CIBW_BUILD_VERBOSITY: 2
82+
CIBW_BEFORE_ALL_LINUX: ./Wheels/before_all_linux.sh
83+
#CIBW_ENVIRONMENT_LINUX: CXXFLAGS="-O3 -g0"
84+
CIBW_ENVIRONMENT_LINUX: CXXFLAGS="-std=c++17 -O3 -g0" ORE=/project/ORE
85+
CIBW_ENVIRONMENT_PASS_LINUX: CXXFLAGS
86+
with:
87+
package-dir: /home/runner/work/ORE-SWIG/ORE-SWIG/OREAnalytics-SWIG/Python
88+
- name: Save wheels as artifacts
89+
uses: actions/upload-artifact@v4
90+
with:
91+
name: wheels-linux-manylinux-x86_64
92+
path: ./wheelhouse/*.whl
Lines changed: 92 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,92 @@
1+
name: Linux x86_64 ManyLinux Wheels (cp*)
2+
3+
on:
4+
push:
5+
branches: [master]
6+
tags:
7+
- 'v*'
8+
release:
9+
types: [published]
10+
workflow_dispatch:
11+
12+
jobs:
13+
wheels-linux:
14+
runs-on: ubuntu-latest
15+
steps:
16+
- name: Checkout ORE-SWIG
17+
uses: actions/checkout@v4
18+
- name: get QuantLib-SWIG
19+
run: |
20+
git submodule update --init
21+
- name: Checkout ORE
22+
uses: actions/checkout@v4
23+
with:
24+
repository: OpenSourceRisk/Engine
25+
path: './ORE'
26+
fetch-depth: 0
27+
- name: get QuantLib
28+
run: |
29+
cd ORE
30+
git submodule update --init
31+
- name: Set Swap Space
32+
uses: pierotofy/set-swap-space@master
33+
with:
34+
swap-size-gb: 10
35+
- name: Install eigen
36+
run: |
37+
curl -O -L https://gitlab.com/libeigen/eigen/-/archive/3.4.0/eigen-3.4.0.tar.gz
38+
tar zxvf eigen-3.4.0.tar.gz
39+
cd eigen-3.4.0
40+
mkdir build
41+
cd build
42+
cmake ..
43+
export
44+
export Eigen3_DIR=$CURRENT_DIR/eigen-3.4.0
45+
- name: Set up Boost
46+
run: |
47+
sudo apt update
48+
sudo apt install -y libboost-all-dev libboost-test-dev ninja-build
49+
- name: Build Zlib
50+
run: |
51+
pwd
52+
curl -O -L https://www.zlib.net/zlib-1.3.1.tar.gz
53+
tar xzvf zlib-1.3.1.tar.gz
54+
cd zlib-1.3.1
55+
./configure
56+
make
57+
export ZLIB_ROOT=$CURRENT_DIR/zlib-1.3.1
58+
- name: Build ORE
59+
run : pwd; cd ORE; mkdir build; cd build; cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DORE_USE_ZLIB=ON -DBUILD_SHARED_LIBS=false -DQL_BUILD_EXAMPLES=false -DQL_BUILD_TEST_SUITE=false -DQL_BUILD_BENCHMARK=false -DQL_ENABLE_SESSIONS=true -DORE_BUILD_DOC=false -G "Ninja" ..
60+
- name: cmake build
61+
run: pwd; cd ORE; cd build; cmake --build . -j $(nproc)
62+
- name: Wrap ORE-SWIG
63+
run: pwd; cd OREAnalytics-SWIG/Python; python setup.py wrap
64+
- name: Copy Configuration
65+
run: |
66+
pwd
67+
cp Wheels/oreanalytics-config.linux OREAnalytics-SWIG/oreanalytics-config
68+
cd Wheels
69+
chmod +x before_all_linux.sh
70+
- name: Build ORE wheels
71+
uses: pypa/cibuildwheel@v2.16.2
72+
env:
73+
CIBW_BUILD: "*-manylinux*"
74+
CIBW_SKIP: cp36-* pp*
75+
#CIBW_BUILD: cp37-manylinux_x86_64
76+
#CIBW_BUILD: cp38-manylinux_x86_64
77+
#CIBW_BUILD: cp39-manylinux_x86_64
78+
#CIBW_BUILD: cp310-manylinux_x86_64
79+
#CIBW_BUILD: cp311-manylinux_x86_64
80+
CIBW_ARCHS_LINUX: x86_64
81+
CIBW_BUILD_VERBOSITY: 2
82+
CIBW_BEFORE_ALL_LINUX: ./Wheels/before_all_linux.sh
83+
#CIBW_ENVIRONMENT_LINUX: CXXFLAGS="-O3 -g0"
84+
CIBW_ENVIRONMENT_LINUX: CXXFLAGS="-std=c++17 -O3 -g0" ORE=/project/ORE
85+
CIBW_ENVIRONMENT_PASS_LINUX: CXXFLAGS
86+
with:
87+
package-dir: /home/runner/work/ORE-SWIG/ORE-SWIG/OREAnalytics-SWIG/Python
88+
- name: Save wheels as artifacts
89+
uses: actions/upload-artifact@v4
90+
with:
91+
name: wheels-linux-manylinux-x86_64
92+
path: ./wheelhouse/*.whl
Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
name: MacOS ARM64 Wheels
2+
3+
on:
4+
push:
5+
branches: [master]
6+
tags:
7+
- 'v*'
8+
release:
9+
types: [published]
10+
workflow_dispatch:
11+
12+
jobs:
13+
wheels-macos:
14+
runs-on: macos-11
15+
steps:
16+
- name: Checkout ORE-SWIG
17+
uses: actions/checkout@v4
18+
- name: get QuantLib-SWIG
19+
run: |
20+
git submodule update --init
21+
- name: Checkout ORE
22+
uses: actions/checkout@v4
23+
with:
24+
repository: OpenSourceRisk/Engine
25+
path: './ORE'
26+
fetch-depth: 0
27+
- name: get QuantLib
28+
run: |
29+
cd ORE
30+
git submodule update --init
31+
- name: Install Boost
32+
run: |
33+
curl -O -L https://boostorg.jfrog.io/artifactory/main/release/1.80.0/source/boost_1_80_0.tar.gz
34+
tar xfz boost_1_80_0.tar.gz
35+
cd boost_1_80_0
36+
./bootstrap.sh
37+
./b2 architecture=arm address-model=64 -s NO_LZMA=1 -s NO_ZSTD=1 abi=aapcs install
38+
- name: Build ORE CMake
39+
run: |
40+
cd ORE
41+
mkdir build
42+
cd build
43+
cmake .. -DCMAKE_OSX_ARCHITECTURES=arm64 -DORE_USE_ZLIB=ON -DBUILD_SHARED_LIBS=false -DORE_BUILD_DOC=OFF -DORE_BUILD_EXAMPLES=OFF -DORE_BUILD_TESTS=OFF -DORE_BUILD_APP=OFF -DQL_BUILD_BENCHMARK=OFF -DQL_BUILD_EXAMPLES=OFF -DQL_BUILD_TEST_SUITE=OFF -DQL_ENABLE_SESSIONS=ON -DCMAKE_BUILD_TYPE=Release ..
44+
cmake --build . -j4
45+
cmake --install .
46+
- name: Wrap ORE-SWIG
47+
run: |
48+
pwd
49+
python -m pip install setuptools
50+
cp wheels/oreanalytics-config.macos OREAnalytics-SWIG/oreanalytics-config
51+
cd OREAnalytics-SWIG
52+
ls -al
53+
cd SWIG
54+
ls -al
55+
chmod +x oreanalytics.i
56+
cd ..
57+
cd Python
58+
ls -al
59+
pwd
60+
python setup.py wrap
61+
- name: Build Wheels
62+
uses: pypa/cibuildwheel@v2.16.5
63+
env:
64+
CIBW_SKIP: cp36-*
65+
#CIBW_BUILD: cp310-macosx_arm64
66+
#CIBW_BUILD: cp311-macosx_arm64
67+
CIBW_ARCHS_MACOS: arm64
68+
CXXFLAGS: -std=c++17 -g0 -O3
69+
CIBW_BUILD_VERBOSITY: 2
70+
CIBW_REPAIR_WHEEL_COMMAND_MACOS: >
71+
DYLD_LIBRARY_PATH=/usr/local/lib delocate-listdeps {wheel} &&
72+
DYLD_LIBRARY_PATH=/usr/local/lib delocate-wheel --require-archs {delocate_archs} -w {dest_dir} {wheel}
73+
with:
74+
package-dir: /Users/runner/work/ORE-SWIG/ORE-SWIG/OREAnalytics-SWIG/Python
75+
- name: Save wheels as artifacts
76+
uses: actions/upload-artifact@v4
77+
with:
78+
name: wheels-macos-arm64
79+
path: ./wheelhouse/*.whl
Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
name: MacOS x86 Wheels
2+
3+
on:
4+
push:
5+
branches: [master]
6+
tags:
7+
- 'v*'
8+
release:
9+
types: [published]
10+
workflow_dispatch:
11+
12+
jobs:
13+
wheels-macos:
14+
runs-on: macos-11
15+
steps:
16+
- name: Checkout ORE-SWIG
17+
uses: actions/checkout@v4
18+
- name: get QuantLib-SWIG
19+
run: |
20+
git submodule update --init
21+
- name: Checkout ORE
22+
uses: actions/checkout@v4
23+
with:
24+
repository: OpenSourceRisk/Engine
25+
path: './ORE'
26+
fetch-depth: 0
27+
- name: get QuantLib
28+
run: |
29+
cd ORE
30+
git submodule update --init
31+
- name: Install Boost
32+
run: |
33+
curl -O -L https://boostorg.jfrog.io/artifactory/main/release/1.80.0/source/boost_1_80_0.tar.gz
34+
tar xfz boost_1_80_0.tar.gz
35+
cd boost_1_80_0
36+
./bootstrap.sh
37+
./b2 architecture=arm address-model=64 -s NO_LZMA=1 -s NO_ZSTD=1 abi=aapcs install
38+
- name: Build ORE CMake
39+
run: |
40+
cd ORE
41+
mkdir build
42+
cd build
43+
cmake .. -DCMAKE_OSX_ARCHITECTURES=x86_64 -DORE_USE_ZLIB=ON -DBUILD_SHARED_LIBS=false -DORE_BUILD_DOC=OFF -DORE_BUILD_EXAMPLES=OFF -DORE_BUILD_TESTS=OFF -DORE_BUILD_APP=OFF -DQL_BUILD_BENCHMARK=OFF -DQL_BUILD_EXAMPLES=OFF -DQL_BUILD_TEST_SUITE=OFF -DQL_ENABLE_SESSIONS=ON -DCMAKE_BUILD_TYPE=Release ..
44+
cmake --build . -j4
45+
cmake --install .
46+
- name: Wrap ORE-SWIG
47+
run: |
48+
pwd
49+
python -m pip install setuptools
50+
cp wheels/oreanalytics-config.macos OREAnalytics-SWIG/oreanalytics-config
51+
cd OREAnalytics-SWIG/SWIG
52+
chmod +x oreanalytics.i
53+
cd ..
54+
cd Python
55+
pwd
56+
python setup.py wrap
57+
- name: Build Wheels
58+
uses: pypa/cibuildwheel@v2.16.5
59+
env:
60+
CIBW_SKIP: cp36-*
61+
CIBW_ARCHS_MACOS: x86_64
62+
CXXFLAGS: -std=c++17 -g0 -O3 -mmacosx-version-min=10.15
63+
CIBW_BUILD_VERBOSITY: 2
64+
CIBW_REPAIR_WHEEL_COMMAND_MACOS: >
65+
DYLD_LIBRARY_PATH=/usr/local/lib delocate-listdeps {wheel} &&
66+
DYLD_LIBRARY_PATH=/usr/local/lib delocate-wheel --require-archs {delocate_archs} -w {dest_dir} {wheel}
67+
with:
68+
package-dir: /Users/runner/work/ORE-SWIG/ORE-SWIG/OREAnalytics-SWIG/Python
69+
- name: Save wheels as artifacts
70+
uses: actions/upload-artifact@v4
71+
with:
72+
name: wheels-macos-x86_64
73+
path: ./wheelhouse/*.whl

0 commit comments

Comments
 (0)