-
Notifications
You must be signed in to change notification settings - Fork 119
/
unix-base-build.yml
75 lines (65 loc) · 2.05 KB
/
unix-base-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
75
# Script for installing base and building
#
# The source must have already been checked out
steps:
# download components
- checkout: none
- task: DownloadPipelineArtifact@2
displayName: Download modules tarball
inputs:
source: 'current'
artifact: modules
path: $(Pipeline.Workspace)
- script: |
cd $(Pipeline.Workspace)
tar -xf modules.tar
displayName: Extract modules tarball
- script: |
set -xe
cd $(Pipeline.Workspace)/modules/dxtbx
git remote set-url origin https://github.com/dials/dxtbx.git
git fetch origin
git checkout dials-2.2
displayName: Use dials-2.2 branch for Python 2
condition: eq(variables['PYTHON_VERSION'], 'py27')
- script: |
cd $(Pipeline.Workspace)
ln -s modules/cctbx_project/libtbx/auto_build/bootstrap.py
displayName: Link bootstrap.py
# install base
- script: |
cd $(Pipeline.Workspace)
# SYSTEM environment variable breaks OpenSSL builds
# https://developercommunity.visualstudio.com/content/problem/602584/openssl-build-error-when-using-pipelines.html
unset SYSTEM
python bootstrap.py base --builder=cctbx --nproc=4
displayName: Install base dependencies
# build
- script: |
cd $(Pipeline.Workspace)
python bootstrap.py build --builder=cctbx --nproc=4
cd build
source setpaths.sh
libtbx.configure cma_es fable rstbx spotfinder cbflib_adaptbx phenix_examples phenix_regression
make -j 4
make -j 4
displayName: Configure and Build
# test
- script: |
cd $(Pipeline.Workspace)
source ./build/setpaths.sh
mkdir tests
cd tests
libtbx.pip install junit-xml
libtbx.run_tests_parallel module=boost_adaptbx module=cctbx module=cma_es \
module=fable module=gltbx module=iotbx module=libtbx module=rstbx \
module=scitbx module=smtbx module=spotfinder \
module=annlib_adaptbx module=cbflib_adaptbx \
nproc=4
failOnStderr: false
displayName: Test
- task: PublishTestResults@2
condition: succeededOrFailed()
inputs:
testResultsFormat: 'JUnit'
testResultsFiles: '$(Pipeline.Workspace)/tests/output.xml'