-
Notifications
You must be signed in to change notification settings - Fork 3
/
Jenkinsfile
47 lines (47 loc) · 1.32 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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
pipeline {
agent {
docker {
image 'nixos/nix'
args '-u root --privileged -v $HOME/nix-cache:/nix'
}
}
stages {
stage('build') {
steps {
sh '''
rm -rf reports
mkdir reports
nix-channel --add https://nixos.org/channels/nixpkgs-unstable nixpkgs
nix-channel --update
cd utils/
nix-shell --run "cd ../ && meson build && cd build && ninja"
'''
}
}
// we could probably test the IPC with different emulators here in
// parallel when that's a thing
stage('tests') {
steps {
sh '''
cd utils/
nix-shell --run "../build/tests -r junit -o ../reports/pcsx2.xml"
'''
}
}
stage('release') {
steps {
sh '''
cd utils/
nix-shell --run "sh -c ./build-release.sh"
'''
}
}
}
post {
always {
archiveArtifacts artifacts: 'release.zip', fingerprint: true
junit 'reports/*.xml'
publishCoverage adapters: [coberturaAdapter('build/meson-logs/coverage.xml')]
}
}
}