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

Commit fae1f20

Browse files
authored
Introduce Continuous Integration with CircleCI (#23)
1 parent b67c7b0 commit fae1f20

File tree

3 files changed

+96
-2
lines changed

3 files changed

+96
-2
lines changed

.circleci/config.yml

Lines changed: 88 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,88 @@
1+
version: 2
2+
3+
references:
4+
container_config: &container_config
5+
docker:
6+
- image: openjdk:8-jdk
7+
8+
jobs:
9+
build:
10+
<<: *container_config
11+
steps:
12+
- checkout
13+
- setup_remote_docker
14+
- run:
15+
name: Install Docker client
16+
command: |
17+
set -x
18+
VER="17.03.0-ce"
19+
curl -L -o /tmp/docker-$VER.tgz https://download.docker.com/linux/static/stable/x86_64/docker-$VER.tgz
20+
tar -xz -C /tmp -f /tmp/docker-$VER.tgz
21+
mv /tmp/docker/* /usr/bin
22+
- run:
23+
name: install dependencies
24+
command: |
25+
apt-get update -y && apt-get install -y build-essential maven
26+
- run:
27+
name: build package
28+
command: |
29+
make clean
30+
make package
31+
make test
32+
make test-command
33+
- run:
34+
name: build docker image
35+
command: |
36+
make build-docker-version
37+
build_and_push:
38+
<<: *container_config
39+
steps:
40+
- checkout
41+
- setup_remote_docker
42+
- run:
43+
name: Install Docker client
44+
command: |
45+
set -x
46+
VER="17.03.0-ce"
47+
curl -L -o /tmp/docker-$VER.tgz https://download.docker.com/linux/static/stable/x86_64/docker-$VER.tgz
48+
tar -xz -C /tmp -f /tmp/docker-$VER.tgz
49+
mv /tmp/docker/* /usr/bin
50+
- run:
51+
name: install dependencies
52+
command: |
53+
apt-get update -y && apt-get install -y build-essential maven
54+
- run:
55+
name: build package
56+
command: |
57+
make clean
58+
make package
59+
make test
60+
make test-command
61+
- run:
62+
name: build docker image
63+
command: |
64+
make build-docker-version
65+
- run:
66+
name: push docker image
67+
command: |
68+
docker login -u "$DOCKERHUB_USER" -p "$DOCKERHUB_PASS"
69+
make push-docker-version
70+
71+
workflows:
72+
version: 2
73+
build_workflow:
74+
jobs:
75+
- build:
76+
filters:
77+
branches:
78+
only: /.*/
79+
tags:
80+
ignore: /.*/
81+
build_and_push_workflow:
82+
jobs:
83+
- build_and_push:
84+
filters:
85+
tags:
86+
only: /.*/
87+
branches:
88+
ignore: /.*/

Makefile

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@ package:
1515

1616
test:
1717
mvn test
18+
19+
test-command:
1820
bash ./dev/test.sh
1921

2022
checkstyle:
@@ -23,8 +25,12 @@ checkstyle:
2325
clean:
2426
mvn clean
2527

26-
build-docker: package
28+
build-docker: build-docker-latest build-docker-version
29+
30+
build-docker-latest: package
2731
docker build --rm -t $(DOCKER_TAG) .
32+
33+
build-docker-version: package
2834
docker build --rm -t $(DOCKER_TAG_VERSION) .
2935

3036
test-docker: build-docker

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222

2323
<groupId>com.github.yuiskw</groupId>
2424
<artifactId>bigquery-to-datastore</artifactId>
25-
<version>0.5.1</version>
25+
<version>0.5.2</version>
2626

2727
<packaging>jar</packaging>
2828

0 commit comments

Comments
 (0)