Skip to content
This repository was archived by the owner on Dec 11, 2023. It is now read-only.

Commit 946cbde

Browse files
author
Sameer Naik
committed
adds circleci config
1 parent 118c118 commit 946cbde

File tree

1 file changed

+70
-0
lines changed

1 file changed

+70
-0
lines changed

.circleci/config.yml

Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
version: 2.1
2+
3+
orbs:
4+
go: circleci/go@1
5+
gcp-cli: circleci/gcp-cli@1
6+
7+
jobs:
8+
build:
9+
executor:
10+
name: gcp-cli/default
11+
steps:
12+
- checkout
13+
- gcp-cli/install
14+
- gcp-cli/initialize
15+
- run:
16+
name: Building docker image
17+
command: make -j6 cloudbuild-test
18+
19+
publish-image:
20+
executor:
21+
name: gcp-cli/google
22+
steps:
23+
- checkout
24+
- gcp-cli/initialize
25+
- run:
26+
name: Publishing docker image
27+
command: IMAGE_SHA=${CIRCLE_SHA1} IMAGE_TAG=${CIRCLE_TAG:-latest} make -j6 cloudbuild
28+
29+
release:
30+
executor:
31+
name: go/default
32+
tag: '1.15'
33+
steps:
34+
- checkout
35+
- run:
36+
name: Installing github-release tool
37+
command: go get github.com/meterup/github-release
38+
- run:
39+
name: Creating github release
40+
command: |
41+
PRE_RELEASE=${CIRCLE_TAG/${CIRCLE_TAG%-rc[0-9]*}/}
42+
github-release delete -u ${CIRCLE_PROJECT_USERNAME} -r ${CIRCLE_PROJECT_REPONAME} -t ${CIRCLE_TAG} 2>/dev/null ||:
43+
./scripts/release-notes.sh ${CIRCLE_TAG} | github-release release ${PRE_RELEASE:+-p} -u ${CIRCLE_PROJECT_USERNAME} -r ${CIRCLE_PROJECT_REPONAME} -t ${CIRCLE_TAG} -d -
44+
45+
workflows:
46+
build-test-and-publish:
47+
jobs:
48+
- build:
49+
context: production
50+
filters:
51+
tags:
52+
only: /^v([0-9]+)\.([0-9]+)\.([0-9]+)(?:-([0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*))?(?:\+[0-9A-Za-z-]+)?$/
53+
- publish-image:
54+
context: production
55+
requires:
56+
- build
57+
filters:
58+
tags:
59+
only: /^v([0-9]+)\.([0-9]+)\.([0-9]+)(?:-([0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*))?(?:\+[0-9A-Za-z-]+)?$/
60+
branches:
61+
only: master
62+
- release:
63+
context: production
64+
requires:
65+
- publish-image
66+
filters:
67+
tags:
68+
only: /^v([0-9]+)\.([0-9]+)\.([0-9]+)(?:-([0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*))?(?:\+[0-9A-Za-z-]+)?$/
69+
branches:
70+
ignore: /.*/

0 commit comments

Comments
 (0)