-
Notifications
You must be signed in to change notification settings - Fork 20
/
Copy pathazure-pipelines.yml
122 lines (109 loc) · 3.43 KB
/
azure-pipelines.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
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
trigger:
- master
pr:
autoCancel: true
branches:
include:
- master
schedules:
- cron: "0 4 * * 1"
displayName: Sunday midnight build for master
branches:
include:
- master
always: true
jobs:
- job: TestSuite
strategy:
matrix:
Ubuntu-gcc-9:
imageName: 'ubuntu-latest'
python.version: 3.7
gcc.version: 'gcc-9'
gfortran.version: 'gfortran-9'
makefile.name: 'Makefile.gfortran'
exec.name: 'cassandra_gfortran.exe'
omp.num.threads: 1
Ubuntu-gcc-10:
imageName: 'ubuntu-latest'
python.version: 3.7
gcc.version: 'gcc-10'
gfortran.version: 'gfortran-10'
makefile.name: 'Makefile.gfortran'
exec.name: 'cassandra_gfortran.exe'
omp.num.threads: 1
Ubuntu-gcc-11:
imageName: 'ubuntu-latest'
python.version: 3.7
gcc.version: 'gcc-11'
gfortran.version: 'gfortran-11'
makefile.name: 'Makefile.gfortran'
exec.name: 'cassandra_gfortran.exe'
omp.num.threads: 1
Ubuntu-gcc-12:
imageName: 'ubuntu-latest'
python.version: 3.7
gcc.version: 'gcc-12'
gfortran.version: 'gfortran-12'
makefile.name: 'Makefile.gfortran'
exec.name: 'cassandra_gfortran.exe'
omp.num.threads: 1
Ubuntu-gcc-12-openMP:
imageName: 'ubuntu-latest'
python.version: 3.7
gcc.version: 'gcc-12'
gfortran.version: 'gfortran-12'
makefile.name: 'Makefile.gfortran.openMP'
exec.name: 'cassandra_gfortran_openMP.exe'
omp.num.threads: 8
macOS-gcc-12:
imageName: 'macOS-latest'
python.version: 3.7
gcc.version: 'gcc-12'
gfortran.version: 'gfortran-12'
makefile.name: 'Makefile.gfortran'
exec.name: 'cassandra_gfortran.exe'
omp.num.threads: 1
pool:
vmImage: $(imageName)
steps:
- bash: echo "##vso[task.prependpath]$CONDA/bin"
displayName: Add Conda to path
- bash : echo "##vso[task.prependpath]$(Build.SourcesDirectory)/bin"
displayName: Add Cassandra to path
# On Hosted macOS, the agent user doesn't have ownership of Miniconda's installation directory/
# We need to take ownership if we want to update conda or install packages globally
- bash: sudo chown -R $USER $CONDA
displayName: Take ownership of conda installation
condition: eq( variables['Agent.OS'], 'Darwin' )
- bash: |
cd Src
make -f ${MAKEFILE_NAME} FC=${GFORTRAN_VERSION}
mkdir ../bin
cp ${EXEC_NAME} ../bin/cassandra.exe
cp ../Scripts/Frag_Library_Setup/library_setup.py ../bin/.
cd ../
displayName: Build Cassandra
- bash: |
conda config --set always_yes yes --set changeps1 no
conda config --add channels conda-forge
conda update -c defaults conda
conda update --all
conda create -n test-environment python=$(python.version) --file requirements-py.txt
displayName: Create a new bleeding test environment
- bash: |
echo Working directory:
pwd
echo ls:
ls
echo PATH:
echo "$PATH"
echo CASSANDRA:
which cassandra.exe
displayName: Check cassandra install
- bash: |
echo $OMP_NUM_THREADS
source activate test-environment
cd Scripts/testSuite/
python testSuite.py ../../bin/cassandra.exe
displayName: Run Tests