laudis-technologies/neo4j-php-client

View on GitHub
.github/workflows/integration-test-single-server.yml

Summary

Maintainability
Test Coverage
name: Integration Tests

on:
  push:
    branches:
      - main
  pull_request:
    branches:
      - main

jobs:
  tests:
    runs-on: ubuntu-latest
    name: "Running on PHP 8.2 with a Neo4j 5 instance connecting over all available protocols"

    services:
      neo4j:
        image: neo4j:5
        env:
          NEO4J_AUTH: neo4j/testtest
          NEO4JLABS_PLUGINS: '["apoc"]'
        ports:
          - 7687:7687
          - 7474:7474
        options: >-
          --health-cmd "wget -q --method=HEAD http://localhost:7474 || exit 1"
          --health-start-period "60s"
          --health-interval "30s"
          --health-timeout "15s"
          --health-retries "5"

    steps:
      - uses: actions/checkout@v2
      - name: Cache Composer dependencies
        uses: actions/cache@v2
        with:
          path: /tmp/composer-cache
          key: ${{ runner.os }}-${{ hashFiles('**/composer.lock') }}
      - uses: php-actions/composer@v6
        with:
          progress: yes
          php_version: 8.2
          version: 2
      - name: Test multiple connections
        run: |
          CONNECTION=neo4j://neo4j:testtest@localhost ./vendor/bin/phpunit --configuration=phpunit.xml.dist --testsuite=Integration & \
          CONNECTION=bolt://neo4j:testtest@localhost ./vendor/bin/phpunit --configuration=phpunit.xml.dist --testsuite=Integration & \
          CONNECTION=http://neo4j:testtest@localhost ./vendor/bin/phpunit --configuration=phpunit.xml.dist --testsuite=Integration & \
          wait