Skip to content

Commit

Permalink
Add typesense.yml
Browse files Browse the repository at this point in the history
  • Loading branch information
luanfreitasdev committed May 31, 2024
1 parent 29f0ad9 commit 84cb381
Show file tree
Hide file tree
Showing 3 changed files with 105 additions and 0 deletions.
81 changes: 81 additions & 0 deletions .github/workflows/typesense.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
name: Scout Typesense

on:
push:
branches:
- "**"
paths-ignore:
- "art/**"
- "README.md"
pull_request:
types: [ready_for_review, synchronize, opened]
paths-ignore:
- "art/**"
- "README.md"

jobs:
build:
runs-on: ubuntu-latest

services:
mysql:
image: mysql:5.7
env:
MYSQL_ROOT_PASSWORD: password
MYSQL_DATABASE: powergridtest
ports:
- 3307:3306
options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3

typesense:
image: typesense/typesense:latest
ports:
- 8108:8108
options: >
--health-cmd="curl --fail http://localhost:8108/health || exit 1"
--health-interval=10s
--health-timeout=5s
--health-retries=3
strategy:
fail-fast: false
matrix:
php: [8.3]
laravel: [11.*]
dependency-version: [ prefer-stable ]

name: PHP:${{ matrix.php }} / L:${{ matrix.laravel }}

if: github.ref != 'refs/heads/todo-tests'

steps:
- name: Checkout
uses: actions/checkout@v4

- name: Setup PHP, with composer and extensions
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php }}
extensions: dom, curl, libxml, mbstring, zip, pcntl, pdo, sqlite, pdo_sqlite, bcmath, soap, intl, gd, exif, iconv
tools: composer:v2
coverage: none

- name: Get composer cache directory
id: composer-cache
run: echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT

- name: Cache composer dependencies
uses: actions/cache@v4
with:
path: $(composer config cache-files-dir)
key: dependencies-laravel-${{ matrix.laravel }}-php-${{ matrix.php }}-composer-${{ hashFiles('composer.json') }}

- name: Install Composer dependencies
run: |
composer require "laravel/framework:${{ matrix.laravel }}" --no-interaction --no-update
composer require typesense/typesense-laravel-scout
composer require laravel/scout
composer install
- name: Tests
run: composer test:typesense
3 changes: 3 additions & 0 deletions composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,9 @@
"test:sqlsrv": [
"./vendor/bin/pest --configuration phpunit.sqlsrv.xml"
],
"test:typesense": [
"curl http://localhost:8108/health"
],
"test:types": "./vendor/bin/phpstan analyse --ansi --memory-limit=-1",
"test:dbs": [
"@test:sqlite",
Expand Down
21 changes: 21 additions & 0 deletions phpunit.typesense.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
<?xml version="1.0" encoding="UTF-8"?>
<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/10.1/phpunit.xsd" bootstrap="vendor/autoload.php" colors="true" cacheDirectory=".phpunit.cache">
<testsuites>
<testsuite name="Test Suite">
<directory suffix="Test.php">./tests/Feature</directory>
</testsuite>
</testsuites>
<coverage/>
<php>
<server name="SCOUT_DRIVER" value="typesense"/>
<server name="TYPESENSE_HOST" value="localhost"/>
<server name="TYPESENSE_PORT" value="8108"/>
<server name="TYPESENSE_PROTOCOL" value="http"/>
<server name="TYPESENSE_API_KEY" value="xyz"/>
</php>
<source>
<include>
<directory suffix=".php">./src</directory>
</include>
</source>
</phpunit>

0 comments on commit 84cb381

Please sign in to comment.