Skip to content

fix: correct email-based duplicate detection in people imports #540

fix: correct email-based duplicate detection in people imports

fix: correct email-based duplicate detection in people imports #540

Workflow file for this run

name: Tests
on: [push]
jobs:
lint-and-static-analysis:
runs-on: ubuntu-latest
name: Code Quality Checks
steps:
- name: Checkout
uses: actions/checkout@v5
- name: Cache Dependencies
uses: actions/cache@v4
with:
path: ~/.composer/cache/files
key: dependencies-php-composer-${{ hashFiles('composer.lock') }}
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: 8.4
extensions: json, dom, curl, libxml, mbstring, zip
tools: composer:v2
- name: Install PHP dependencies
run: composer install --no-interaction --no-progress --ansi --prefer-dist --optimize-autoloader
- name: Prepare Laravel Application
run: |
cp .env.ci .env
php artisan key:generate
- name: Run Lint
run: composer test:lint
- name: Run Refactor Check
run: composer test:refactor
- name: Run Type Coverage
run: composer test:type-coverage
- name: Run Static Analysis
run: composer test:types
tests:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
php: [8.4]
shard: [1, 2, 3, 4, 5, 6, 7]
name: Tests (Shard ${{ matrix.shard }}/7)
# Service containers to run with `runner-job`
services:
# Label used to access the service container
postgres:
# Docker Hub image
image: postgres
# Provide the password for postgres
env:
# optional (defaults to `postgres`)
POSTGRES_DB: relaticle_testing
# required
POSTGRES_PASSWORD: postgres
# optional (defaults to `5432`)
POSTGRES_PORT: 5432
# optional (defaults to `postgres`)
POSTGRES_USER: postgres
# Set health checks to wait until postgres has started
options: >-
--health-cmd pg_isready
--health-interval 10s
--health-timeout 5s
--health-retries 5
ports:
# Maps tcp port 5432 on service container to the host
- 5432:5432
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Cache Dependencies
uses: actions/cache@v4
with:
path: ~/.composer/cache/files
key: dependencies-php-composer-${{ hashFiles('composer.lock') }}
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php }}
extensions: json, dom, curl, libxml, mbstring, zip
tools: composer:v2
coverage: xdebug
- name: Set up Node & NPM
uses: actions/setup-node@v5
with:
node-version: '22.x'
- name: Setup Problem Matches
run: |
echo "::add-matcher::${{ runner.tool_cache }}/php.json"
echo "::add-matcher::${{ runner.tool_cache }}/phpunit.json"
- name: Install PHP dependencies
run: composer install --no-interaction --no-progress --ansi --prefer-dist --optimize-autoloader
- name: Get NPM cache directory
id: npm-cache-dir
shell: bash
run: echo "dir=$(npm config get cache)" >> ${GITHUB_OUTPUT}
- name: Cache dependencies
id: npm-cache
uses: actions/cache@v4
with:
path: ${{ steps.npm-cache-dir.outputs.dir }}
key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
restore-keys: |
${{ runner.os }}-node-
- name: Install dependencies
if: steps.cache.outputs.cache-hit != 'true'
run: npm install
- name: Build dependencies
run: npm run build
- name: Prepare Laravel
run: |
cp .env.ci .env
php artisan key:generate
- name: Tests
run: composer test:pest:ci:shard
env:
SHARD: ${{ matrix.shard }}/7