Skip to content

Commit

Permalink
First pass on iterating over python versions
Browse files Browse the repository at this point in the history
  • Loading branch information
adam-urbanczyk committed May 10, 2020
1 parent 8aaad0e commit a2b9259
Showing 1 changed file with 104 additions and 99 deletions.
203 changes: 104 additions & 99 deletions build-bindings-job.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,9 @@ parameters:
vmImage: 'Ubuntu-16.04'
py_maj: '3'
py_min: '7'
py_min_build:
- 7
- 8
config_file: 'ocp.toml'
conda_bld: '3.16.3'
conda_env_file: 'env.yml'
Expand Down Expand Up @@ -80,111 +83,113 @@ jobs:

- publish: $(conf.OUTPUT)
artifact: OCP_src_${{ parameters.vmImage }}

- job: ${{ parameters.name }}_${{ parameters.py_maj }}_${{ parameters.py_min }}
timeoutInMinutes: 360
dependsOn: ${{ parameters.name }}
pool:
vmImage: ${{ parameters.vmImage }}
variables:
n_cores: 2
OCP_src: OCP_src_${{ parameters.vmImage }}
steps:
- download: current
artifact: OCP_src_${{ parameters.vmImage }}

- ${{ if contains(parameters.vmImage, 'Ubuntu') }}:
- bash: sudo apt-get install ${{ parameters.CXX }} mesa-common-dev libgl1-mesa-dev libglu1-mesa-dev freeglut3-dev
displayName: 'Install g++8 and gl headers'

- ${{ if contains(parameters.vmImage, 'mac') }}:
- bash: |
sudo find /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/System/Library/Frameworks/ && \
ln -s "$(xcrun --sdk macosx --show-sdk-path)/System/Library/Frameworks/OpenGL.framework/Headers" /usr/local/include/OpenGL
displayName: 'Search for GL'

- ${{ if contains(parameters.vmImage, 'win') }}:
- bash: ls "C:/Program Files (x86)/Microsoft Visual Studio/2019/Enterprise/VC/Auxiliary/Build"
displayName: 'Find vcvars64'

- template: conda-enable.yml@templates
parameters:
- ${{ each py_min in parameters.py_min_build }}:
- job: ${{ parameters.name }}_${{ parameters.py_maj }}_${{ py_min }}
timeoutInMinutes: 360
dependsOn: ${{ parameters.name }}
pool:
vmImage: ${{ parameters.vmImage }}

- bash: |
conda env create -f ${{ parameters.conda_env_file }}
displayName: 'Prepare conda environment'
- bash: |
source activate cpp-py-bindgen && \
conda info -a && \
conda list && \
which python && \
env
displayName: 'Conda env sanity checks'
- ${{ if contains(parameters.vmImage, 'mac') }}:
variables:
n_cores: 2
OCP_src: OCP_src_${{ parameters.vmImage }}
steps:
- download: current
artifact: OCP_src_${{ parameters.vmImage }}

- ${{ if contains(parameters.vmImage, 'Ubuntu') }}:
- bash: sudo apt-get install ${{ parameters.CXX }} mesa-common-dev libgl1-mesa-dev libglu1-mesa-dev freeglut3-dev
displayName: 'Install g++8 and gl headers'

- ${{ if contains(parameters.vmImage, 'mac') }}:
- bash: |
sudo find /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/System/Library/Frameworks/ && \
ln -s "$(xcrun --sdk macosx --show-sdk-path)/System/Library/Frameworks/OpenGL.framework/Headers" /usr/local/include/OpenGL
displayName: 'Search for GL'
- ${{ if contains(parameters.vmImage, 'win') }}:
- bash: ls "C:/Program Files (x86)/Microsoft Visual Studio/2019/Enterprise/VC/Auxiliary/Build"
displayName: 'Find vcvars64'

- template: conda-enable.yml@templates
parameters:
vmImage: ${{ parameters.vmImage }}

- bash: |
source activate cpp-py-bindgen && \
echo | clang -v -E -x c - && \
cd $CONDA_PREFIX && \
find . -name type_traits\* && \
sudo find /usr/local/ -name type_traits\*
displayName: 'Mac header check'
conda env create -f ${{ parameters.conda_env_file }}
displayName: 'Prepare conda environment'
- ${{ if contains(parameters.vmImage, 'Ubuntu') }}:
- bash: |
source activate cpp-py-bindgen && \
cmake -B build -S "../$(OCP_src)" -G Ninja -DCMAKE_BUILD_TYPE=Release && \
cmake --build build -j $(n_cores) -- -k 0 && \
rm -rf build/CMakeFiles
displayName: 'Compile'
env:
CXX: ${{ parameters.CXX }}
- ${{ if contains(parameters.vmImage, 'mac') }}:
conda info -a && \
conda list && \
conda install python=${{ parameters.py_maj }}.${{ py_min }} && \
which python && \
env
displayName: 'Conda env sanity checks'
- ${{ if contains(parameters.vmImage, 'mac') }}:
- bash: |
source activate cpp-py-bindgen && \
echo | clang -v -E -x c - && \
cd $CONDA_PREFIX && \
find . -name type_traits\* && \
sudo find /usr/local/ -name type_traits\*
displayName: 'Mac header check'
- ${{ if contains(parameters.vmImage, 'Ubuntu') }}:
- bash: |
source activate cpp-py-bindgen && \
cmake -B build -S "../$(OCP_src)" -G Ninja -DCMAKE_BUILD_TYPE=Release && \
cmake --build build -j $(n_cores) -- -k 0 && \
rm -rf build/CMakeFiles
displayName: 'Compile'
env:
CXX: ${{ parameters.CXX }}
- ${{ if contains(parameters.vmImage, 'mac') }}:
- bash: |
source activate cpp-py-bindgen && \
cp -rf opencascade $CONDA_PREFIX/include && \
cat $CONDA_PREFIX/include/opencascade/OpenGl_HaltonSampler.hxx &&\
cmake -B build -S "../$(OCP_src)" -G Ninja -DCMAKE_BUILD_TYPE=Debug && \
cmake --build build -j $(n_cores) -- -k 0 && \
rm -rf build/CMakeFiles
displayName: 'Compile'
env:
CXX: "clang++"
- ${{ if contains(parameters.vmImage, 'win') }}:
- script: |
call "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Enterprise\\VC\\Auxiliary\\Build\\vcvars64.bat"
call activate cpp-py-bindgen
cmake -B build -S "../$(OCP_src)" -G Ninja -DCMAKE_BUILD_TYPE=Release
cmake --build build -j $(n_cores) -- -k 0
rmdir /S /Q build\CMakeFiles
displayName: 'Compile'
env:
CXX: "cl.exe"
- task: PublishBuildArtifacts@1
inputs:
pathtoPublish: 'build'
artifactName: OCP_${{ parameters.vmImage }}
displayName: 'Publish compilation result'

- bash: |
source activate cpp-py-bindgen && \
cp -rf opencascade $CONDA_PREFIX/include && \
cat $CONDA_PREFIX/include/opencascade/OpenGl_HaltonSampler.hxx &&\
cmake -B build -S "../$(OCP_src)" -G Ninja -DCMAKE_BUILD_TYPE=Debug && \
cmake --build build -j $(n_cores) -- -k 0 && \
rm -rf build/CMakeFiles
displayName: 'Compile'
env:
CXX: "clang++"
- ${{ if contains(parameters.vmImage, 'win') }}:
- script: |
call "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Enterprise\\VC\\Auxiliary\\Build\\vcvars64.bat"
call activate cpp-py-bindgen
cmake -B build -S "../$(OCP_src)" -G Ninja -DCMAKE_BUILD_TYPE=Release
cmake --build build -j $(n_cores) -- -k 0
rmdir /S /Q build\CMakeFiles
displayName: 'Compile'
cd build && \
LD_DEBUG=libs python -c"import OCP"
displayName: 'Test'
- bash: |
source activate cpp-py-bindgen && \
conda install -y conda-build=${{ parameters.conda_bld }} anaconda-client && \
cp build/OCP.cp*-*.* . && \
conda build --token $TOKEN --user cadquery -c conda-forge conda
displayName: 'Build conda package'
condition: ne(variables['Build.Reason'], 'PullRequest')
env:
CXX: "cl.exe"
- task: PublishBuildArtifacts@1
inputs:
pathtoPublish: 'build'
artifactName: OCP_${{ parameters.vmImage }}
displayName: 'Publish compilation result'

- bash: |
source activate cpp-py-bindgen && \
cd build && \
LD_DEBUG=libs python -c"import OCP"
displayName: 'Test'
- bash: |
source activate cpp-py-bindgen && \
conda install -y conda-build=${{ parameters.conda_bld }} anaconda-client && \
cp build/OCP.cp*-*.* . && \
conda build --token $TOKEN --user cadquery -c conda-forge conda
displayName: 'Build conda package'
condition: ne(variables['Build.Reason'], 'PullRequest')
env:
BUILD_STRING: "1"
PYTHON_VERSION: ${{ parameters.py_maj }}.${{ parameters.py_min }}
TOKEN: $(anaconda.TOKEN)
BUILD_STRING: "1"
PYTHON_VERSION: ${{ parameters.py_maj }}.${{ py_min }}
TOKEN: $(anaconda.TOKEN)

0 comments on commit a2b9259

Please sign in to comment.