-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathconda-build.yml
74 lines (65 loc) · 2.72 KB
/
conda-build.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
parameters:
name: 'Conda build job'
vmImage: 'Ubuntu-16.04'
py_maj: '3'
py_min: '6'
location: 'conda'
conda_bld: '3.16.3'
conda: '22.9.0'
jobs:
- job: ${{ parameters.name }}_${{ parameters.py_maj }}_${{ parameters.py_min }}
timeoutInMinutes: 360
pool:
vmImage: ${{ parameters.vmImage }}
steps:
# this step is needed for OCC to find fonts
- bash: |
sudo apt-get -q -y install gsfonts xfonts-utils && \
sudo mkfontscale /usr/share/fonts/type1/gsfonts/ && \
sudo mkfontdir /usr/share/fonts/type1/gsfonts/
condition: eq( variables['Agent.OS'], 'Linux' )
displayName: 'Help OCC find fonts'
# Ubunut install opengl items
- ${{ if contains(parameters.vmImage, 'Ubuntu') }}:
- bash: |
sudo apt-get update && \
sudo apt-get -q -y install libglu1-mesa-dev freeglut3-dev mesa-common-dev
displayName: 'Install OpenGL headers'
- template: conda-enable.yml
parameters:
vmImage: ${{ parameters.vmImage }}
- bash: mamba create --yes --quiet --name build_env -c conda-forge conda-build boa conda-verify libarchive python=3.12 anaconda-client
displayName: Create Anaconda environment
- bash: |
cd ${{ parameters.location }} && \
mamba run -n build_env conda mambabuild -c conda-forge -c cadquery --output-folder . . && \
full_path=$(mamba run -n build_env conda build --output -c conda-forge -c cadquery --output-folder . . ) && \
echo $full_path && \
base_name=$(basename $full_path) && \
split_name=($(IFS=-; tmp=($base_name); echo ${tmp[@]})) && \
package_name=${split_name[@]: 0 : ${#split_name[@]} - 2} && \
package_name=${package_name/ /-} && \
version_name=${split_name[-2]} && \
echo "Removing $base_name" && \
mamba run -n build_env anaconda -v -t $TOKEN remove --force "cadquery/$package_name/$version_name" && \
echo "Uploading $full_path" && \
mamba run -n build_env anaconda -v -t $TOKEN upload -u cadquery --force $full_path && \
cd ..
displayName: 'Run conda build'
failOnStderr: false
condition: ne(variables['Build.Reason'], 'PullRequest')
env:
PYTHON_VERSION: ${{ parameters.py_maj }}.${{ parameters.py_min }}
PACKAGE_VERSION: $(Build.SourceBranchName)
TOKEN: $(anaconda.TOKEN)
- bash: |
cd ${{ parameters.location }} && \
mamba run -n build_env conda mambabuild -c conda-forge -c cadquery . && \
cd ..
displayName: 'Run conda build without upload'
failOnStderr: false
condition: eq(variables['Build.Reason'], 'PullRequest')
env:
PYTHON_VERSION: ${{ parameters.py_maj }}.${{ parameters.py_min }}
PACKAGE_VERSION: $(Build.SourceBranchName)
TOKEN: $(anaconda.TOKEN)