name: tests on: pull_request: push: branches: [ main ] permissions: contents: read jobs: tests: services: ydb: image: cr.yandex/yc/yandex-docker-local-ydb:stable-22-5 ports: - 2135:2135 - 2136:2136 - 8765:8765 volumes: - /tmp/ydb_certs:/ydb_certs env: YDB_USE_IN_MEMORY_PDISKS: true options: '-h localhost' runs-on: ubuntu-latest strategy: matrix: php-versions: [ '7.2' ] steps: - uses: actions/checkout@v3 name: Checkout - uses: eWaterCycle/setup-grpc@v5 name: Setup gRPC with: grpc-version: 1.51.1 - uses: shivammathur/setup-php@v2 name: Setup PHP id: php with: extensions: grpc php-version: ${{ matrix.php-versions }} - run: composer validate --strict name: Validate composer.json and composer.lock - uses: actions/cache@v3 name: Cache Composer packages id: composer-cache with: path: vendor key: ${{ runner.os }}-php-${{ hashFiles('**/composer.lock') }} restore-keys: | ${{ runner.os }}-php- - name: Install dependencies run: composer install --prefer-dist --no-progress - name: Create YDB User run: docker exec $(docker ps --latest --quiet) /ydb -e grpc://localhost:2136 -d /local scripting yql -s "CREATE USER testuser PASSWORD 'test_password'" - name: Run tests run: ./vendor/bin/phpunit \ --coverage-text \ --whitelist src \ --testdox \ tests