-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbitbucket-pipelines.yml
93 lines (93 loc) · 2.42 KB
/
bitbucket-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
image:
name: 313462900895.dkr.ecr.us-east-1.amazonaws.com/nanometrics/pipelines:maven-graalvm_6.1.9-jdk17
aws:
access-key: $AWS_ACCESS_KEY_ID
secret-key: $AWS_SECRET_ACCESS_KEY
definitions:
steps:
- step: &linux-build
size: 2x
name: Build Linux
caches:
- maven
script:
- mvn clean verify
artifacts:
- msx/target/deploy/**
- "**/target/surefire-*"
- step: &windows-build
name: Build Windows
image: alpine
runs-on:
- windows
- maven
- graalvm
caches:
- maven
script:
- mvn -version
- |
cmd.exe /c "call `"C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvars64.bat`" && set > %temp%\vcvars.txt"
Get-Content "$env:temp\vcvars.txt" | Foreach-Object {
if ($_ -match "^(.*?)=(.*)$") {
Set-Content "env:\$($matches[1])" $matches[2]
}
}
mvn verify
artifacts:
- msx/target/deploy/**
- "**/target/surefire-*"
- step: &macos-build
name: Build Mac
image: alpine
runs-on:
- macos
- maven
- graalvm
caches:
- maven
script:
- mvn verify
artifacts:
- msx/target/deploy/**
- "**/target/surefire-*"
- step: &upload-release-artifacts
name: Upload Release Artifacts
caches:
-maven
script:
- mvn nmx-release:upload
artifacts:
- msx/target/deploy/**
- "**/target/surefire-*"
pipelines:
branches:
develop:
- parallel:
steps:
- step: *linux-build
- step: *windows-build
- step: *macos-build
'{feature/*,snyk-*}':
- parallel:
steps:
- step: *linux-build
- step:
<<: *windows-build
trigger: manual
- step:
<<: *macos-build
trigger: manual
main:
- parallel:
- step: *linux-build
- step: *windows-build
- step: *macos-build
- step: *upload-release-artifacts
custom:
release:
- step:
caches:
- maven
script:
- mvn jgitflow:release-start jgitflow:release-finish -DnoReleaseBuild