GrafiteInc/Scaffold

View on GitHub
.github/workflows/tests.yml

Summary

Maintainability
Test Coverage
name: Tests

on:
  push:
    branches: [ main, develop ]
  pull_request:
    branches: [ main ]

jobs:
  tests:

    runs-on: ubuntu-latest
    strategy:
      matrix:
        php-versions: ['8.2']

    steps:
    - uses: actions/checkout@v3
    - uses: actions/setup-node@v3
      with:
        node-version: 20

    - name: Setup PHP
      uses: shivammathur/setup-php@v2
      with:
        php-version: '8.2'
        coverage: 'xdebug'

    - name: Copy .env
      run: php -r "file_exists('.env') || copy('.env.example', '.env');"

    - name: Install Dependencies
      run: composer install -q --no-ansi --no-interaction --no-scripts --no-suggest --no-progress --prefer-dist

    - name: Generate key
      run: php artisan key:generate

    - name: Directory Permissions
      run: chmod -R 777 storage bootstrap/cache

    - name: Execute tests (Unit and Feature tests) via PHPUnit
      env:
        DB_CONNECTION: test
      run: composer test

    - name: checkbranchname
      id: checkbranch
      run: echo "::set-output name=BRANCHNAME::${GITHUB_REF##*/}"

    # - name: Deploy to Laravel Forge
    #   if: steps.checkbranch.outputs.BRANCHNAME == 'develop'
    #   run: curl ${{ secrets.FORGE_DEPLOYMENT_WEBHOOK }}