Files
laravel-test-runner/action.yml
2023-12-13 13:50:15 +03:00

60 lines
1.6 KiB
YAML

name: Laravel Test Runner
author: apoloz
description: "This action will run your Laravel application's test suite. v2"
branding:
color: 'purple'
icon: 'crosshair'
inputs:
php-version:
description: 'PHP version to install'
required: false
default: '8.2'
setup:
description: 'If false, setup-php will not be run'
required: false
default: 'true'
runs:
using: composite
steps:
- if: inputs.setup == 'true'
name: Setup PHP
uses: http://10.55.5.123:3000/apoloz/setup-php@v2
with:
php-version: ${{ inputs.php-version }}
extensions: sqlite3
env:
GITHUB_TOKEN: ${{ secrets.GHTKN }}
- name: Cache Vendor
id: cache-vendor
uses: actions/cache@v3
with:
path: vendor
key: ${{ runner.os }}-vendor-${{ hashFiles('**/composer.lock') }}
- name: Install Dependencies
if: steps.cache-vendor.outputs.cache-hit != 'true' # Skip if cache hit
run: |
composer install --no-progress --prefer-dist --optimize-autoloader
shell: bash
- name: Prepare
run: |
echo "::group::PHP Modules"
php -m
echo "::endgroup::"
php -r "file_exists('.env') || copy('.env.example', '.env');"
php artisan key:generate
shell: bash
- name: Test Run
run: |
php artisan test --without-tty | tee test_results
echo '```' >> $GITHUB_STEP_SUMMARY
cat test_results >> $GITHUB_STEP_SUMMARY
echo '```' >> $GITHUB_STEP_SUMMARY
shell: bash