8000 [DE-823] CircleCI (#308) · arangodb/spring-data@7e6c16c · GitHub
[go: up one dir, main page]

Skip to content

Commit 7e6c16c

Browse files
authored
[DE-823] CircleCI (#308)
* CircleCI setup * CI: adjusted docker script for CircleCI * CI: fixed working_directory * CI: fixed VST tests * CI: maven cache
1 parent 6376d6a commit 7e6c16c

File tree

8 files changed

+215
-160
lines changed

8 files changed

+215
-160
lines changed

.circleci/config.yml

Lines changed: 199 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,199 @@
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 --fail -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+
working_directory: <<parameters.working_directory>>
49+
command: mvn dependency:tree
50+
mvn-install:
51+
steps:
52+
- run:
53+
name: mvn install
54+
command: mvn install -DskipTests=true -Dgpg.skip=true -Dmaven.javadoc.skip=true
55+
test:
56+
parameters:
57+
working_directory:
58+
type: 'string'
59+
default: ''
60+
protocol:
61+
type: 'string'
62+
default: 'HTTP2_JSON'
63+
steps:
64+
- run:
65+
name: Test
66+
working_directory: <<parameters.working_directory>>
67+
command: mvn -Darangodb.protocol=<<parameters.protocol>> test
68+
report:
69+
steps:
70+
- run:
71+
name: Create reports
72+
command: mvn -e surefire-report:report-only
73+
- store_artifacts:
74+
path: target/site
75+
load_cache:
76+
steps:
77+
- run:
78+
name: Generate Cache Checksum
79+
command: find . -name 'pom.xml' | sort | xargs cat > /tmp/maven_cache_seed
80+
- restore_cache:
81+
key: maven-{{ checksum "/tmp/maven_cache_seed" }}
82+
store_cache:
83+
steps:
84+
- save_cache:
85+
key: maven-{{ checksum "/tmp/maven_cache_seed" }}
86+
paths:
87+
- ~/.m2/repository
88+
89+
executors:
90+
j17:
91+
docker:
92+
- image: 'cimg/openjdk:17.0'
93+
j21:
94+
docker:
95+
- image: 'cimg/openjdk:21.0'
96+
97+
jobs:
98+
test:
99+
parameters:
100+
docker-img:
101+
type: < 341A span class="pl-s">'string'
102+
default: <<pipeline.parameters.docker-img>>
103+
topology:
104+
type: 'string'
105+
default: 'single'
106+
protocol:
107+
type: 'string'
108+
default: 'HTTP2_JSON'
109+
executor: 'j21'
110+
steps:
111+
- timeout
112+
- checkout
113+
- setup_remote_docker
114+
- start-db:
115+
docker-img: <<parameters.docker-img>>
116+
topology: <<parameters.topology>>
117+
- load_cache
118+
- mvn-info
119+
- test:
120+
protocol: <<parameters.protocol>>
121+
- report
122+
- store_cache
123+
124+
integration-test:
125+
parameters:
126+
docker-img:
127+
type: 'string'
128+
default: <<pipeline.parameters.docker-img>>
129+
spring-boot-version:
130+
type: 'string'
131+
default: '3.2.6'
132+
executor: 'j17'
133+
steps:
134+
- timeout
135+
- checkout
136+
- setup_remote_docker
137+
- start-db:
138+
docker-img: <<parameters.docker-img>>
139+
- run:
140+
name: Set Spring version
141+
working_directory: integration-tests
142+
command: sed -i "0,/<version>.*<\/version>/s//<version><<parameters.spring-boot-version>><\/version>/" pom.xml
143+
- load_cache
144+
- mvn-install
145+
- mvn-info:
146+
working_directory: integration-tests
147+
- test:
148+
working_directory: integration-tests
149+
- report
150+
- store_cache
151+
152+
workflows:
153+
test-adb-version:
154+
when:
155+
not: <<pipeline.parameters.docker-img>>
156+
jobs:
157+
- test:
158+
name: test-<<matrix.topology>>-<<matrix.docker-img>>
159+
matrix:
160+
parameters:
161+
docker-img:
162+
- 'docker.io/arangodb/arangodb:3.11'
163+
- 'docker.io/arangodb/arangodb:3.12'
164+
topology:
165+
- 'single'
166+
- 'cluster'
167+
test-adb-topology:
168+
when: <<pipeline.parameters.docker-img>>
169+
jobs:
170+
- test:
171+
name: test-<<matrix.topology>>
172+
matrix:
173+
parameters:
174+
topology:
175+
- 'single'
176+
- 'cluster'
177+
test-protocol:
178+
jobs:
179+
- test:
180+
name: test-<<matrix.protocol>>
181+
matrix:
182+
parameters:
183+
docker-img:
184+
- 'docker.io/arangodb/arangodb:3.11'
185+
protocol:
186+
- 'VST'
187+
- 'HTTP_VPACK'
188+
- 'HTTP_JSON'
189+
- 'HTTP2_VPACK'
190+
- 'HTTP2_JSON'
191+
test-spring-version:
192+
jobs:
193+
- integration-test:
194+
name: test-<<matrix.spring-boot-version>>
195+
matrix:
196+
parameters:
197+
spring-boot-version:
198+
- '3.1.8'
199+
- '3.2.6'

.github/workflows/maven.yml

Lines changed: 0 additions & 130 deletions
This file was deleted.

.gitignore

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -248,6 +248,3 @@ fabric.properties
248248
.idea
249249

250250
arangodb-spring-data.iml
251-
252-
/docker/jwtHeader
253-
/docker/jwtSecret

docker/jwtHeader

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Authorization: bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJhcmFuZ29kYiIsInNlcnZlcl9pZCI6ImZvbyJ9.QmuhPHkmRPJuHGxsEqggHGRyVXikV44tb5YU_yWEvEM

docker/jwtSecret

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Averysecretword

0 commit comments

Comments
 (0)
0