Skip to content

Commit e22103e

Browse files
committed
pipeline updated for #52
1 parent 0feb7bb commit e22103e

29 files changed

+789
-433
lines changed

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,8 @@ _testmain.go
3030
.LSOverride
3131

3232

33+
/vendor
34+
3335
### EDITORS ###
3436
.vscode/
3537
.idea/

Godeps/Godeps.json

Lines changed: 45 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

ci/pipeline.yml

Lines changed: 101 additions & 95 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,51 @@
1+
resource_types:
2+
#PIP RESOURCE_TYPE
3+
- name: pip
4+
type: docker-image
5+
source:
6+
repository: groenborg/concourse-git-phlow
7+
8+
9+
- name: slack-notification
10+
type: docker-image
11+
source:
12+
repository: cfcommunity/slack-notification-resource
13+
tag: latest
14+
15+
################# RESOURCE CONFIGURATION #################
116
resources:
2-
#GITHUB REPOSITORY
17+
18+
#GITHUB GIT-PHLOW
319
- name: git-phlow
420
type: git
521
source:
622
uri: https://github.com/Praqma/git-phlow.git
723
branch: master
24+
username: {{github-username}}
25+
password: {{github-password}}
26+
27+
#GITHUB PRAQMA-TAP
28+
- name: praqma-tap
29+
type: git
30+
source:
31+
uri: https://github.com/Praqma/homebrew-praqma-tap.git
32+
branch: master
33+
username: {{github-username}}
34+
password: {{github-password}}
835

9-
#VERSION
10-
- name: resource-version
36+
#PRETESTED INTEGRATION
37+
- name: pretested-integration
38+
type: pip
39+
source:
40+
prefixready: ready/
41+
prefixwip: wip/
42+
master: master
43+
url: https://github.com/Praqma/git-phlow.git
44+
username: {{github-username}}
45+
password: {{github-password}}
46+
47+
#VERSION
48+
- name: gp-version
1149
type: semver
1250
source:
1351
driver: git
@@ -16,14 +54,15 @@ resources:
1654
file: version
1755
private_key: {{github-private-key}}
1856

19-
#GITHUB RELEASE
57+
#GITHUB RELEASE
2058
- name: gh-release
2159
type: github-release
2260
source:
2361
user: praqma
2462
repository: git-phlow
2563
access_token: {{github-token}}
26-
#S3 BUCKET FOR ARTIFACTS
64+
65+
#S3 BUCKET LINUX
2766
- name: phlow-artifact-linux-s3
2867
type: s3
2968
source:
@@ -32,6 +71,8 @@ resources:
3271
access_key_id: {{s3-access-key-id}}
3372
region_name: eu-central-1
3473
secret_access_key: {{s3-secret-access-key}}
74+
75+
#S3 BUCKET DARWIN
3576
- name: phlow-artifact-darwin-s3
3677
type: s3
3778
source:
@@ -40,124 +81,89 @@ resources:
4081
access_key_id: {{s3-access-key-id}}
4182
region_name: eu-central-1
4283
secret_access_key: {{s3-secret-access-key}}
84+
85+
#SLACK NOTIFICATION
86+
- name: slack-alert
87+
type: slack-notification
88+
source:
89+
url: {{slack-url}}
90+
91+
4392
################# PIPELINE JOBS #################
4493
#INTEGRATION TEST JOB
4594
jobs:
46-
- name: integration-tests
95+
- name: integration-test
4796
plan:
4897
- get: git-phlow
49-
trigger: true
98+
- get: pretested-integration
99+
#trigger: true
50100
- task: integration
51101
file: git-phlow/ci/tasks/run-tests.yml
52-
#VERSIONIGN JOB
53-
- name: job-versioning
54-
public: true
55-
serial: true
56-
plan:
57-
- get: resource-version
58-
59-
#RELEASE MAJOR
60-
- name: create-major
61-
plan:
62-
- get: resource-version
63-
params: {bump: major}
64-
- get: git-phlow
65-
passed: [integration-tests]
66-
- put: resource-version
67-
params: {file: resource-version/version}
68-
- task: create-release
69-
file: git-phlow/ci/tasks/gen-bin.yml
70-
- put: phlow-artifact-linux-s3
71-
params: {file: build-artifacts/git-phlow-*-linux-amd64.tar.gz}
72-
- put: phlow-artifact-darwin-s3
73-
params: {file: build-artifacts/git-phlow-*-darwin-amd64.tar.gz}
74-
#RELEASE MINOR
75-
- name: create-minor
76-
plan:
77-
- get: resource-version
78-
params: {bump: minor}
79-
- get: git-phlow
80-
passed: [integration-tests]
81-
- put: resource-version
82-
params: {file: resource-version/version}
83-
- task: create-release
84-
file: git-phlow/ci/tasks/gen-bin.yml
85-
- put: phlow-artifact-linux-s3
86-
params: {file: build-artifacts/git-phlow-*-linux-amd64.tar.gz}
87-
- put: phlow-artifact-darwin-s3
88-
params: {file: build-artifacts/git-phlow-*-darwin-amd64.tar.gz}
89-
#RELEASE PATCH
90-
- name: create-patch
102+
on_failure:
103+
put: slack-alert
104+
params:
105+
text: |
106+
$BUILD_JOB_NAME nr. $BUILD_NAME failed
107+
https://concourse.kubernetes.praqma.cloud/teams/$BUILD_TEAM_NAME/pipelines/$BUILD_PIPELINE_NAME/jobs/$BUILD_JOB_NAME/builds/$BUILD_NAME
108+
- put: pretested-integration
109+
params:
110+
repository: pretested-integration
111+
timeout: 5m
112+
113+
#BUILD ARTIFACT
114+
- name: build-phlow-artifacts
91115
plan:
92-
- get: resource-version
116+
- get: gp-version
93117
params: {bump: patch}
94118
- get: git-phlow
95-
passed: [integration-tests]
96-
- put: resource-version
97-
params: {file: resource-version/version}
119+
passed: [integration-test]
120+
- put: gp-version
121+
params: {file: gp-version/version}
98122
- task: create-release
99123
file: git-phlow/ci/tasks/gen-bin.yml
100124
- put: phlow-artifact-linux-s3
101125
params: {file: build-artifacts/git-phlow-*-linux-amd64.tar.gz}
102126
- put: phlow-artifact-darwin-s3
103127
params: {file: build-artifacts/git-phlow-*-darwin-amd64.tar.gz}
128+
129+
#PAC GOES HERE
130+
104131
#CREATE A GITHUB RELEASE
105-
- name: shipit-patch
106-
plan:
107-
- get: resource-version
108-
- get: git-phlow
109-
- get: phlow-artifact-linux-s3
110-
passed: [create-patch]
111-
trigger: true
112-
- get: phlow-artifact-darwin-s3
113-
passed: [create-patch]
114-
trigger: true
115-
- put: gh-release
116-
params:
117-
name: resource-version/version
118-
tag: resource-version/version
119-
tag_prefix: v
120-
body: git-phlow/ci/notes/CHANGELOG.md
121-
globs:
122-
- phlow-artifact-linux-s3/git-phlow-*-linux-amd64.tar.gz
123-
- phlow-artifact-darwin-s3/git-phlow-*-darwin-amd64.tar.gz
124-
#CREATE A GITHUB RELEASE
125-
- name: shipit-minor
132+
- name: shipit
126133
plan:
127-
- get: resource-version
134+
- get: gp-version
128135
- get: git-phlow
136+
passed: [integration-test]
129137
- get: phlow-artifact-linux-s3
130-
passed: [create-minor]
138+
passed: [build-phlow-artifacts]
131139
trigger: true
132140
- get: phlow-artifact-darwin-s3
133-
passed: [create-minor]
141+
passed: [build-phlow-artifacts]
134142
trigger: true
135143
- put: gh-release
136144
params:
137-
name: resource-version/version
138-
tag: resource-version/version
145+
name: gp-version/version
146+
tag: gp-version/version
139147
tag_prefix: v
140148
body: git-phlow/ci/notes/CHANGELOG.md
141149
globs:
142150
- phlow-artifact-linux-s3/git-phlow-*-linux-amd64.tar.gz
143151
- phlow-artifact-darwin-s3/git-phlow-*-darwin-amd64.tar.gz
144-
#CREATE A GITHUB RELEASE
145-
- name: shipit-major
152+
- name: brew-release
146153
plan:
147-
- get: resource-version
148-
- get: git-phlow
149-
- get: phlow-artifact-linux-s3
150-
passed: [create-major]
151-
trigger: true
152-
- get: phlow-artifact-darwin-s3
153-
passed: [create-major]
154-
trigger: true
155-
- put: gh-release
156-
params:
157-
name: resource-version/version
158-
tag: resource-version/version
159-
tag_prefix: v
160-
body: git-phlow/ci/notes/CHANGELOG.md
161-
globs:
162-
- phlow-artifact-linux-s3/git-phlow-*-linux-amd64.tar.gz
163-
- phlow-artifact-darwin-s3/git-phlow-*-darwin-amd64.tar.gz
154+
- aggregate:
155+
- get: praqma-tap
156+
- get: git-phlow #contains the formula update script
157+
- get: gp-version
158+
- get: phlow-artifact-darwin-s3
159+
#passed: [shipit, build-phlow-artifacts]
160+
#trigger: true
161+
- task: brew-release
162+
file: git-phlow/ci/tasks/brew-release.yml
163+
on_failure:
164+
put: slack-alert
165+
params:
166+
text: |
167+
brew release failed
168+
https://concourse.kubernetes.praqma.cloud/teams/$BUILD_TEAM_NAME/pipelines/$BUILD_PIPELINE_NAME/jobs/$BUILD_JOB_NAME/builds/$BUILD_NAME
169+
- put: praqma-tap

ci/scripts/brew-release.sh

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
#!/bin/sh
2+
3+
4+
#GET VERSION FROM SEMVER
5+
export VERSION=$(cat gp-version/version)
6+
7+
#GENERIC GH-RELEASE URL WITH A STRING INTERPOLATION
8+
export URL=https://github.com/Praqma/git-phlow/releases/download/v$VERSION/git-phlow-$VERSION-darwin-amd64.tar.gz
9+
10+
#HASH OF BINARY ARTIFACT
11+
export HASH=$(shasum -a 256 phlow-artifact-darwin-s3/git-phlow-$VERSION-darwin-amd64.tar.gz | awk '{ print $1 }')
12+
13+
#PRINT BUILD INFO
14+
echo $HASH
15+
echo $VERSION
16+
echo $URL
17+
18+
go run template.go > praqma-tap/Formula/git-phlow.rb
19+
20+
#FOR debugging purposes
21+
cat praqma-tap/Formula/git-phlow.rb
22+
23+
24+
25+
26+
27+
28+
29+

ci/scripts/build.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ ls -lah
77

88
#GET VERSION AND PATH
99
#STORE VERSION AND PATH FOR BUILD
10-
VERSION=$(cat resource-version/version)
10+
VERSION=$(cat gp-version/version)
1111
BUILDPATH=$(pwd)
1212

1313
#CREATE GO DIRECTORY STRUCTURE

0 commit comments

Comments
 (0)