8000 CircleCI setup · arangodb/spring-data@baff6ae · GitHub
[go: up one dir, main page]

Skip to content

Commit baff6ae

Browse files
committed
CircleCI setup
1 parent d0262c3 commit baff6ae

File tree

3 files changed

+182
-9
lines changed

3 files changed

+182
-9
lines changed

.circleci/config.yml

Lines changed: 180 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,180 @@
1+
version: 2.1
2+
3+
parameters:
4+
docker-img:
5+
type: 'string'
6+
default: ""
7+
8+
commands:
9+
timeout:
10+
parameters:
11+
duration:
12+
default: '5m'
13+
type: 'string'
14+
steps:
15+
- run:
16+
name: Cancel job after <<parameters.duration>>
17+
background: true
18+
command: |
19+
sleep <<parameters.duration>>
20+
echo "Cancelling job as <<parameters.duration>> has elapsed"
21+
curl -X POST -H "Circle-Token: ${CIRCLE_TOKEN}" "https://circleci.com/api/v2/project/github/${CIRCLE_PROJECT_USERNAME}/${CIRCLE_PROJECT_REPONAME}/job/${CIRCLE_BUILD_NUM}/cancel"
22+
start-db:
23+
parameters:
24+
docker-img:
25+
type: 'string'
26+
default: <<pipeline.parameters.docker-img>>
27+
topology:
28+
type: 'string'
29+
default: 'single'
30+
steps:
31+
- run:
32+
environment:
33+
DOCKER_IMAGE: <<parameters.docker-img>>
34+
name: Start Database
35+
command: ./docker/start_db.sh
36+
mvn-info:
37+
parameters:
38+
working_directory:
39+
type: 'string'
40+
default: ''
41+
steps:
42+
- run:
43+
name: mvn version
44+
working_directory: <<parameters.working_directory>>
45+
command: mvn --version
46+
- run:
47+
name: mvn dependency:tree
48+
command: mvn --no-transfer-progress dependency:tree
49+
mvn-install:
50+
steps:
51+
- run:
52+
name: mvn install
53+
command: mvn --no-transfer-progress install -DskipTests=true -Dgpg.skip=true -Dmaven.javadoc.skip=true
54+
test:
55+
parameters:
56+
working_directory:
57+
type: 'string'
58+
default: ''
59+
protocol:
60+
type: 'string'
61+
default: 'HTTP2_JSON'
62+
steps:
63+
- run:
64+
name: Test
65+
working_directory: <<parameters.working_directory>>
66+
command: mvn --no-transfer-progress -Darangodb.protocol=<<parameters.protocol>> test
67+
report:
68+
steps:
69+
- run:
70+
name: Create reports
71+
command: mvn -e --no-transfer-progress surefire-report:report-only
72+
- store_artifacts:
73+
path: target/site
74+
75+
executors:
76+
j17:
77+
docker:
78+
- image: 'cimg/openjdk:17.0'
79+
j21:
80+
docker:
81+
- image: 'cimg/openjdk:21.0'
82+
83+
jobs:
84+
test:
85+
parameters:
86+
docker-img:
87+
type: 'string'
88+
default: <<pipeline.parameters.docker-img>>
89+
topology:
90+
type: 'string'
91+
default: 'single'
92+
protocol:
93+
type: 'string'
94+
default: 'HTTP2_JSON'
95+
executor: 'j21'
96+
steps:
97+
- timeout
98+
- checkout
99+
- setup_remote_docker
100+
- start-db:
101+
docker-img: <<parameters.docker-img>>
102+
topology: <<parameters.topology>>
103+
- mvn-info
104+
- test:
105+
protocol: <<parameters.protocol>>
106+
- report
107+
108+
integration-test:
109+
parameters:
110+
docker-img:
111+
type: 'string'
112+
default: <<pipeline.parameters.docker-img>>
113+
spring-boot-version:
114+
type: 'string'
115+
default: '3.2.6'
116+
executor: 'j17'
117+
steps:
118+
- timeout
119+
- checkout
120+
- setup_remote_docker
121+
- start-db:
122+
docker-img: <<parameters.docker-img>>
123+
- mvn-info
124+
- mvn-install
125+
- run:
126+
name: Set Spring version
127+
working_directory: integration-tests
128+
command: sed -i "0,/<version>.*<\/version>/s//<version><<parameters.spring-boot-version>><\/version>/" pom.xml
129+
- mvn-info:
130+
working_directory: integration-tests
131+
- test:
132+
working_directory: integration-tests
133+
- report
134+
135+
workflows:
136+
test-adb-version:
137+
when:
138+
not: <<pipeline.parameters.docker-img>>
139+
jobs:
140+
- test:
141+
name: test-<<matrix.topology>>-<<matrix.docker-img>>
142+
matrix:
143+
parameters:
144+
docker-img:
145+
- 'docker.io/arangodb/arangodb:3.11'
146+
- 'docker.io/arangodb/arangodb:3.12'
147+
topology:
148+
- 'single'
149+
- 'cluster'
150+
test-adb-topology:
151+
when: <<pipeline.parameters.docker-img>>
152+
jobs:
153+
- test:
154+
name: test-<<matrix.topology>>
155+
matrix:
156+
parameters:
157+
topology:
158+
- 'single'
159+
- 'cluster'
160+
test-protocol:
161+
jobs:
162+
- test:
163+
name: test-<<matrix.protocol>>
164+
matrix:
165+
parameters:
166+
protocol:
167+
- 'VST'
168+
- 'HTTP_VPACK'
169+
- 'HTTP_JSON'
170+
- 'HTTP2_VPACK'
171+
- 'HTTP2_JSON'
172+
test-spring-version:
173+
jobs:
174+
- integration-test:
175+
name: test-<<matrix.spring-boot-version>>
176+
matrix:
177+
parameters:
178+
spring-boot-version:
179+
- '3.1.8'
180+
- '3.2.6'

integration-tests/pom.xml

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111

1212
<groupId>com.arangodb</groupId>
1313
<artifactId>arangodb-spring-data-integration-tests</artifactId>
14-
<version>4.1.0</version>
14+
<version>4.2.0-SNAPSHOT</version>
1515

1616
<name>arangodb-spring-data-integration-tests</name>
1717
<description>ArangoDB Spring Data Integration Tests</description>
@@ -26,13 +26,6 @@
2626
<groupId>com.arangodb</groupId>
2727
<artifactId>arangodb-spring-data</artifactId>
2828
<version>${project.version}</version>
29-
<scope>test</scope>
30-
</dependency>
31-
<dependency>
32-
<groupId>com.arangodb</groupId>
33-
<artifactId>jackson-dataformat-velocypack</artifactId>
34-
<version>4.2.0</version>
35-
<scope>test</scope>
3629
</dependency>
3730
<dependency>
3831
<groupId>org.springframework.boot</groupId>

pom.xml

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

55
<groupId>com.arangodb</groupId>
66
<artifactId>arangodb-spring-data</artifactId>
7-
<version>4.1.0</version>
7+
<version>4.2.0-SNAPSHOT</version>
88
<inceptionYear>2017</inceptionYear>
99
<packaging>jar</packaging>
1010

0 commit comments

Comments
 (0)
0