Skip to content

Add comprehensive test suite for Result library #3

Add comprehensive test suite for Result library

Add comprehensive test suite for Result library #3

Workflow file for this run

name: Tests
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
jobs:
test:
runs-on: ubuntu-latest
name: PHP 8.4 Tests
steps:
- uses: actions/checkout@v4
- name: Setup PHP 8.4
uses: shivammathur/setup-php@v2
with:
php-version: '8.4'
coverage: xdebug
tools: composer:v2
- name: Validate composer.json
run: composer validate --strict
- name: Cache Composer packages
uses: actions/cache@v3
with:
path: vendor
key: ${{ runner.os }}-php-8.4-${{ hashFiles('**/composer.lock') }}
restore-keys: |
${{ runner.os }}-php-8.4-
- name: Install dependencies
run: composer install --prefer-dist --no-progress
- name: Run tests
run: composer test
- name: Generate coverage report
run: ./vendor/bin/phpunit --coverage-clover coverage.xml
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v3
with:
file: ./coverage.xml
flags: unittests
name: codecov-umbrella
fail_ci_if_error: false
docker-test:
runs-on: ubuntu-latest
name: Docker Test
steps:
- uses: actions/checkout@v4
- name: Build Docker image
run: docker build -t php-result-test .
- name: Run tests in Docker
run: docker run --rm -v "$(pwd)":/app php-result-test ./vendor/bin/phpunit --testdox