forked from nammayatri/nammayatri
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Jenkinsfile
64 lines (64 loc) · 2.26 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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
pipeline {
agent none
stages {
stage ('Matrix') {
matrix {
agent {
label "${SYSTEM}"
}
when {
anyOf {
expression { 'x86_64-linux' == env.SYSTEM }
// Enable running macOS / Linux ARM builds when on 'main' or PRs
// - macOS: Provide Nix cache to devs using macOS
// - Linux ARM: For AWS graviton deployment
branch 'main'
}
}
axes {
axis {
name 'SYSTEM'
values 'x86_64-linux', 'aarch64-darwin', 'x86_64-darwin' // 'aarch64-linux'
}
}
stages {
stage ('Cachix setup') {
steps {
cachixUse 'nammayatri'
}
}
stage ('Nix Build All') {
steps {
nixCI system: env.SYSTEM
}
}
stage ('Docker image') {
when {
allOf {
// TODO: Build for aarch64-linux
// Requires https://github.com/juspay/jenkins-nix-ci/issues/32
expression { 'x86_64-linux' == env.SYSTEM }
anyOf {
branch 'main'; branch 'prodHotPush';
}
}
}
steps {
dockerPush "dockerImage", "ghcr.io"
}
}
stage ('Cachix push') {
when {
anyOf {
branch 'main'; branch 'prodHotPush';
}
}
steps {
cachixPush "nammayatri"
}
}
}
}
}
}
}