-
Notifications
You must be signed in to change notification settings - Fork 3
/
pipeline.yml
136 lines (129 loc) · 3.34 KB
/
pipeline.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
123
124
125
126
127
128
129
130
131
132
133
134
135
136
resource_types:
- name: slack-notification
type: registry-image
source:
repository: cfcommunity/slack-notification-resource
tag: latest
resources:
- name: parquet-floor
type: git
icon: git
webhook_token: ((concourse-webhook-token))
check_every: 24h
source:
uri: [email protected]:strategicblue/parquet-floor.git
branch: master
private_key: ((concourse-git/private_key))
- name: slack-alert
type: slack-notification
icon: slack
source:
url: ((slack-webhook))
- name: every-morning
type: time
icon: clock
source:
start: 5:45 AM
stop: 6:00 AM
days: [Monday, Tuesday, Wednesday, Thursday, Friday]
initial_version: true
location: Europe/London
jobs:
- name: codecheck
<<: &job_setup
serial: true
build_log_retention: { builds: 100 }
on_failure:
params:
silent: true
text: |
<!here> Build FAILED: $BUILD_PIPELINE_NAME - $BUILD_JOB_NAME
$ATC_EXTERNAL_URL/teams/$BUILD_TEAM_NAME/pipelines/$BUILD_PIPELINE_NAME/jobs/$BUILD_JOB_NAME/builds/$BUILD_NAME
put: slack-alert
plan:
- &checkout
get: parquet-floor
params: {depth: 1}
trigger: true
- task: lint
timeout: 10m
config: &basic_config
platform: linux
image_resource:
type: registry-image
source: {repository: maven, tag: "3-openjdk-17"}
inputs:
- name: parquet-floor
caches:
- path: maven
run:
dir: parquet-floor
path: scripts/run-mvn.sh
args: [ "checkstyle:check", "-Dcheckstyle.config.location=checkstyle.xml" ]
- name: unit-tests
<<: *job_setup
plan:
- <<: *checkout
- task: test
timeout: 10m
config:
<<: *basic_config
run:
dir: parquet-floor
path: scripts/run-mvn.sh
args: [ test ]
- name: release
<<: *job_setup
plan:
- <<: *checkout
passed: [unit-tests]
- task: publish-to-maven-central
timeout: 15m
params:
OSSRH_USERNAME: ((ossrh-token/username))
OSSRH_PASSWORD: ((ossrh-token/password))
GPG_PRIVATE_KEY: ((concourse-pgp/private_key))
GPG_PASSPHRASE: ((concourse-pgp-passphrase))
GIT_AUTHOR_NAME: 'Releaser'
GIT_AUTHOR_EMAIL: '[email protected]'
GIT_COMMITTER_NAME: 'Releaser'
GIT_COMMITTER_EMAIL: '[email protected]'
config:
<<: *basic_config
outputs:
- name: parquet-floor
run:
dir: parquet-floor
path: scripts/release.sh
- put: parquet-floor
params:
repository: parquet-floor
get_params: {skip_download: true}
- name: dependencies
<<: *job_setup
plan:
- get: every-morning
trigger: true
- <<: *checkout
trigger: false
- task: upgrade-dependencies
timeout: 15m
params:
GIT_AUTHOR_NAME: 'Autobumper'
GIT_AUTHOR_EMAIL: '[email protected]'
GIT_COMMITTER_NAME: 'Autobumper'
GIT_COMMITTER_EMAIL: '[email protected]'
config:
<<: *basic_config
outputs:
- name: parquet-floor
run:
dir: parquet-floor
path: sh
args:
- -c
- scripts/run-mvn.sh versions:use-latest-releases -P dependencies && (git commit -am "Upgrade dependency versions." || true)
- put: parquet-floor
params:
repository: parquet-floor
get_params: {skip_download: true}