-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathJenkinsfile
executable file
·30 lines (30 loc) · 1.18 KB
/
Jenkinsfile
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
podTemplate(containers: [
containerTemplate(name: 'python', image: 'python:3.8.5-slim-buster', ttyEnabled: true, command: 'cat'),
]) {
//TODO: scale out unittests on several pods. some will be for complexification evaluation.
node(POD_LABEL) {
container('python') {
stage('Build') {
//TODO: this is bloat. might as well use larger alpine image
//TODO: move this into docker image. Jenkins doesnt have
// layered multistage build.
//git 'https://github.com/Corallus-Caninus/Nodal_NEAT.git' .
sh 'apt update'
sh 'apt install git -y'
sh 'git clone https://github.com/Corallus-Caninus/Nodal_NEAT.git Nodal_NEAT'
sh 'apt install build-essential -y'
//TODO: this should be handled in setup.py
sh 'pip install graphviz'
sh 'pip install matplotlib'
sh 'pip install ./Nodal_NEAT'
}
}
container('python') {
stage('Test') {
dir('./Nodal_NEAT') {
sh 'python -m unittest'
}
}
}
}
}