Skip to content

Commit 541f4c1

Browse files
committed
update ci
1 parent 023f088 commit 541f4c1

7 files changed

+80
-86
lines changed

.github/workflows/integration-test-cluster-neo4j-4.yml

Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -5,29 +5,31 @@ on:
55
branches:
66
- main
77
pull_request:
8-
branches:
9-
- main
108

119
jobs:
1210
tests:
1311
runs-on: ubuntu-latest
1412
strategy:
1513
matrix:
16-
php: ['8.1.31', '8.3.17']
14+
php: ["8.1.31", "8.3.17"]
1715
name: "Running on PHP ${{ matrix.php }} in a Neo4j 4.4 cluster"
1816

1917
steps:
2018
- uses: actions/checkout@v4
19+
2120
- name: Populate .env
2221
run: |
2322
echo "PHP_VERSION=${{ matrix.php }}" > .env
24-
echo "CONNECTION=neo4j://neo4j:testtest@core1" >> .env
25-
- uses: hoverkraft-tech/[email protected]
26-
name: Start services
27-
with:
28-
compose-file: './docker-compose-neo4j-4.yml'
29-
up-flags: '--build --remove-orphans'
30-
- name: Test
23+
echo "CONNECTION=neo4j://neo4j:testtest@server1" >> .env
24+
25+
- name: Run integration tests
3126
run: |
32-
docker compose run client composer install
33-
docker compose run client ./vendor/bin/phpunit -c phpunit.xml.dist --testsuite Integration
27+
# bring up Neo4j cluster
28+
docker compose -f docker-compose-neo4j-4.yml up -d --build --remove-orphans
29+
30+
# install PHP deps and run PHPUnit inside the client container
31+
docker compose -f docker-compose-neo4j-4.yml run --rm client \
32+
sh -c "composer install && ./vendor/bin/phpunit -c phpunit.xml.dist --testsuite Integration"
33+
34+
# tear down services
35+
docker compose -f docker-compose-neo4j-4.yml down --remove-orphans --volumes

.github/workflows/integration-test-cluster-neo4j-5.yml

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,15 +5,13 @@ on:
55
branches:
66
- main
77
pull_request:
8-
branches:
9-
- main
108

119
jobs:
1210
tests:
1311
runs-on: ubuntu-latest
1412
strategy:
1513
matrix:
16-
php: ['8.1.31', '8.3.17']
14+
php: ["8.1.31", "8.3.17"]
1715
name: "Running on PHP ${{ matrix.php }} with a Neo4j 5.20-enterprise cluster"
1816

1917
steps:
@@ -22,12 +20,12 @@ jobs:
2220
run: |
2321
echo "PHP_VERSION=${{ matrix.php }}" > .env
2422
echo "CONNECTION=neo4j://neo4j:testtest@server1" >> .env
25-
- uses: hoverkraft-tech/compose-action@v2.0.2
23+
- uses: hoverkraft-tech/compose-action@v2.2.0
2624
name: Start services
2725
with:
28-
compose-file: './docker-compose.yml'
29-
up-flags: '--build --remove-orphans'
26+
compose-file: "./docker-compose.yml"
27+
up-flags: "--build --remove-orphans"
3028
- name: Test
3129
run: |
32-
docker compose run client composer install
33-
docker compose run client ./vendor/bin/phpunit -c phpunit.xml.dist --testsuite Integration
30+
docker compose run --rm client composer install
31+
docker compose run --rm client ./vendor/bin/phpunit -c phpunit.xml.dist --testsuite Integration

.github/workflows/integration-test-single-server.yml

Lines changed: 14 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -5,15 +5,13 @@ on:
55
branches:
66
- main
77
pull_request:
8-
branches:
9-
- main
108

119
jobs:
1210
tests-v4:
1311
runs-on: ubuntu-latest
1412
strategy:
1513
matrix:
16-
php: ['8.1.31', '8.3.17']
14+
php: ["8.1.31", "8.3.17"]
1715
name: "Running on PHP ${{ matrix.php }} with a Neo4j 4 instance connecting over all available protocols"
1816

1917
steps:
@@ -22,31 +20,31 @@ jobs:
2220
run: |
2321
echo "PHP_VERSION=${{ matrix.php }}" > .env
2422
echo "CONNECTION=neo4j://neo4j:testtest@neo4j" >> .env
25-
- uses: hoverkraft-tech/compose-action@v2.0.2
23+
- uses: hoverkraft-tech/compose-action@v2.2.0
2624
name: Start services
2725
with:
28-
compose-file: './docker-compose-neo4j-4.yml'
29-
up-flags: '--build --remove-orphans'
26+
compose-file: "./docker-compose-neo4j-4.yml"
27+
up-flags: "--build --remove-orphans"
3028
- name: Composer install
3129
run: |
32-
docker compose run client composer install
30+
docker compose -f docker-compose-neo4j-4.yml run client composer install
3331
- name: Test neo4j://
3432
run: |
35-
docker compose run \
33+
docker compose -f docker-compose-neo4j-4.yml run \
3634
-e PHP_VERSION=${{ matrix.php }} \
3735
-e CONNECTION=neo4j://neo4j:testtest@neo4j \
3836
client ./vendor/bin/phpunit -c phpunit.xml.dist --testsuite Integration
3937
- name: Test bolt://
4038
run: |
41-
docker compose run \
39+
docker compose -f docker-compose-neo4j-4.yml run \
4240
-e PHP_VERSION=${{ matrix.php }} \
4341
-e CONNECTION=bolt://neo4j:testtest@neo4j \
4442
client ./vendor/bin/phpunit -c phpunit.xml.dist --testsuite Integration
4543
tests-v5:
4644
runs-on: ubuntu-latest
4745
strategy:
4846
matrix:
49-
php: ['8.1.31', '8.3.17']
47+
php: ["8.1.31", "8.3.17"]
5048
name: "Running on PHP ${{ matrix.php }} with a Neo4j 5 instance connecting over all available protocols"
5149

5250
steps:
@@ -55,23 +53,23 @@ jobs:
5553
run: |
5654
echo "PHP_VERSION=${{ matrix.php }}" > .env
5755
echo "CONNECTION=neo4j://neo4j:testtest@neo4j" >> .env
58-
- uses: hoverkraft-tech/compose-action@v2.0.2
56+
- uses: hoverkraft-tech/compose-action@v2.2.0
5957
name: Start services
6058
with:
61-
compose-file: './docker-compose.yml'
62-
up-flags: '--build'
59+
compose-file: "./docker-compose.yml"
60+
up-flags: "--build"
6361
- name: Composer install
6462
run: |
65-
docker compose run client composer install
63+
docker compose run --rm client composer install
6664
- name: Test neo4j://
6765
run: |
68-
docker compose run \
66+
docker compose run --rm \
6967
-e PHP_VERSION=${{ matrix.php }} \
7068
-e CONNECTION=neo4j://neo4j:testtest@neo4j \
7169
client ./vendor/bin/phpunit -c phpunit.xml.dist --testsuite Integration
7270
- name: Test bolt://
7371
run: |
74-
docker compose run \
72+
docker compose run --rm \
7573
-e PHP_VERSION=${{ matrix.php }} \
7674
-e CONNECTION=bolt://neo4j:testtest@neo4j \
7775
client ./vendor/bin/phpunit -c phpunit.xml.dist --testsuite Integration

.github/workflows/static-analysis.yml

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,7 @@ on:
55
branches:
66
- main
77
pull_request:
8-
branches:
9-
- main
8+
109
jobs:
1110
php-cs-fixer:
1211
name: "Lint & Analyse"
@@ -18,7 +17,7 @@ jobs:
1817
- name: Setup PHP
1918
uses: shivammathur/setup-php@v2
2019
with:
21-
php-version: '8.3.17'
20+
php-version: "8.3.17"
2221

2322
- name: Cache Composer dependencies
2423
uses: actions/cache@v4

.github/workflows/unit-test.yml

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,16 +5,14 @@ on:
55
branches:
66
- main
77
pull_request:
8-
branches:
9-
- main
108

119
jobs:
1210
tests:
1311
runs-on: ubuntu-latest
1412
name: "Running Unit Tests"
1513
strategy:
16-
matrix:
17-
php: ['8.1.31', '8.2.27', '8.3.17']
14+
matrix:
15+
php: ["8.1.31", "8.2.27", "8.3.17"]
1816

1917
steps:
2018
- uses: actions/checkout@v4
@@ -33,7 +31,7 @@ jobs:
3331

3432
- name: Install dependencies
3533
run: composer install
36-
34+
3735
- uses: php-actions/phpunit@v4
3836
with:
3937
configuration: phpunit.xml.dist

docker-compose-neo4j-4.yml

Lines changed: 33 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ x-shared:
99
x-shared-cluster:
1010
&common-cluster
1111
<<: *common
12-
NEO4J_causal__clustering_initial__discovery__members: core1:5000,core2:5000,core3:5000
12+
NEO4J_causal__clustering_initial__discovery__members: server1:5000,server2:5000,server3:5000
1313
NEO4J_dbms_memory_pagecache_size: 100M
1414
NEO4J_dbms_memory_heap_initial__size: 100M
1515
NEO4J_causal__clustering_discovery__listen__address: 0.0.0.0:5000
@@ -42,23 +42,14 @@ services:
4242
depends_on:
4343
neo4j:
4444
condition: service_healthy
45-
testkit-backend:
46-
build:
47-
context: .
48-
dockerfile: Dockerfile
49-
args:
50-
PHP_VERSION: "${PHP_VERSION-8.1}"
51-
WITH_XDEBUG: true
52-
working_dir: /opt/project
53-
volumes:
54-
- .:/opt/project
55-
command: php /opt/project/testkit-backend/index.php
56-
networks:
57-
- neo4j
58-
depends_on:
59-
- neo4j
60-
ports:
61-
- "9876:9876"
45+
server1:
46+
condition: service_healthy
47+
server2:
48+
condition: service_healthy
49+
server3:
50+
condition: service_healthy
51+
server4:
52+
condition: service_healthy
6253
neo4j:
6354
networks:
6455
- neo4j
@@ -77,7 +68,7 @@ services:
7768
- ./tests/resources:/import
7869
env_file:
7970
- .env
80-
core1:
71+
server1:
8172
image: neo4j:4.4-enterprise
8273
healthcheck:
8374
test: "wget -q --method=HEAD http://localhost:7474 || exit 1"
@@ -90,15 +81,15 @@ services:
9081
- ./tests/resources:/import
9182
environment:
9283
<<: *common-core
93-
NEO4J_causal__clustering_discovery__advertised__address: core1:5000
94-
NEO4J_causal__clustering_transaction__advertised__address: core1:6000
95-
NEO4J_causal__clustering_raft__advertised__address: core1:7000
96-
NEO4J_dbms_connector_http_advertised__address: core1:7474
97-
NEO4J_dbms_connector_bolt_advertised__address: core1:7687
84+
NEO4J_causal__clustering_discovery__advertised__address: server1:5000
85+
NEO4J_causal__clustering_transaction__advertised__address: server1:6000
86+
NEO4J_causal__clustering_raft__advertised__address: server1:7000
87+
NEO4J_dbms_connector_http_advertised__address: server1:7474
88+
NEO4J_dbms_connector_bolt_advertised__address: server1:7687
9889
env_file:
9990
- .env
10091

101-
core2:
92+
server2:
10293
image: neo4j:4.4-enterprise
10394
healthcheck:
10495
test: "wget -q --method=HEAD http://localhost:7474 || exit 1"
@@ -109,17 +100,17 @@ services:
109100
- neo4j
110101
environment:
111102
<<: *common-core
112-
NEO4J_causal__clustering_discovery__advertised__address: core2:5000
113-
NEO4J_causal__clustering_transaction__advertised__address: core2:6000
114-
NEO4J_causal__clustering_raft__advertised__address: core2:7000
115-
NEO4J_dbms_connector_http_advertised__address: core2:7474
116-
NEO4J_dbms_connector_bolt_advertised__address: core2:7687
103+
NEO4J_causal__clustering_discovery__advertised__address: server2:5000
104+
NEO4J_causal__clustering_transaction__advertised__address: server2:6000
105+
NEO4J_causal__clustering_raft__advertised__address: server2:7000
106+
NEO4J_dbms_connector_http_advertised__address: server2:7474
107+
NEO4J_dbms_connector_bolt_advertised__address: server2:7687
117108
volumes:
118109
- ./tests/resources:/import
119110
env_file:
120111
- .env
121112

122-
core3:
113+
server3:
123114
image: neo4j:4.4-enterprise
124115
healthcheck:
125116
test: "wget -q --method=HEAD http://localhost:7474 || exit 1"
@@ -130,17 +121,17 @@ services:
130121
- neo4j
131122
environment:
132123
<<: *common-core
133-
NEO4J_causal__clustering_discovery__advertised__address: core3:5000
134-
NEO4J_causal__clustering_transaction__advertised__address: core3:6000
135-
NEO4J_causal__clustering_raft__advertised__address: core3:7000
136-
NEO4J_dbms_connector_http_advertised__address: core3:7474
137-
NEO4J_dbms_connector_bolt_advertised__address: core3:7687
124+
NEO4J_causal__clustering_discovery__advertised__address: server3:5000
125+
NEO4J_causal__clustering_transaction__advertised__address: server3:6000
126+
NEO4J_causal__clustering_raft__advertised__address: server3:7000
127+
NEO4J_dbms_connector_http_advertised__address: server3:7474
128+
NEO4J_dbms_connector_bolt_advertised__address: server3:7687
138129
volumes:
139130
- ./tests/resources:/import
140131
env_file:
141132
- .env
142133

143-
readreplica1:
134+
server4:
144135
image: neo4j:4.4-enterprise
145136
healthcheck:
146137
test: "wget -q --method=HEAD http://localhost:7474 || exit 1"
@@ -152,11 +143,11 @@ services:
152143
environment:
153144
<<: *common-cluster
154145
NEO4J_dbms_mode: READ_REPLICA
155-
NEO4J_causal__clustering_discovery__advertised__address: readreplica1:5000
156-
NEO4J_causal__clustering_transaction__advertised__address: readreplica1:6000
157-
NEO4J_causal__clustering_raft__advertised__address: readreplica1:7000
158-
NEO4J_dbms_connector_http_advertised__address: readreplica1:7474
159-
NEO4J_dbms_connector_bolt_advertised__address: readreplica1:7687
146+
NEO4J_causal__clustering_discovery__advertised__address: server4:5000
147+
NEO4J_causal__clustering_transaction__advertised__address: server4:6000
148+
NEO4J_causal__clustering_raft__advertised__address: server4:7000
149+
NEO4J_dbms_connector_http_advertised__address: server4:7474
150+
NEO4J_dbms_connector_bolt_advertised__address: server4:7687
160151
env_file:
161152
- .env
162153
volumes:

docker-compose.yml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,14 @@ services:
5353
depends_on:
5454
neo4j:
5555
condition: service_healthy
56+
server1:
57+
condition: service_healthy
58+
server2:
59+
condition: service_healthy
60+
server3:
61+
condition: service_healthy
62+
server4:
63+
condition: service_healthy
5664
neo4j:
5765
<<: *common
5866
image: neo4j:5.23-community

0 commit comments

Comments
 (0)