Skip to content

Commit

Permalink
Update laravel.yml
Browse files Browse the repository at this point in the history
  • Loading branch information
dcblogdev authored Mar 29, 2024
1 parent b83ad17 commit d499c11
Showing 1 changed file with 70 additions and 32 deletions.
102 changes: 70 additions & 32 deletions .github/workflows/laravel.yml
Original file line number Diff line number Diff line change
@@ -1,35 +1,73 @@
name: Laravel
name: CI

on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]
# You want to run the tests on every push, and for pull requests.
on: [ push, pull_request ]

jobs:
laravel-tests:

runs-on: ubuntu-latest

steps:
- uses: shivammathur/setup-php@15c43e89cdef867065b0213be354c2841860869e
with:
php-version: '8.0'
- uses: actions/checkout@v3
- 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-progress --prefer-dist
- name: Generate key
run: php artisan key:generate
- name: Directory Permissions
run: chmod -R 777 storage bootstrap/cache
- name: Create Database
run: |
mkdir -p database
touch database/database.sqlite
- name: Execute tests (Unit and Feature tests) via PHPUnit
env:
DB_CONNECTION: sqlite
DB_DATABASE: database/database.sqlite
run: vendor/bin/phpunit
tests:
runs-on: ubuntu-latest

strategy:
max-parallel: 2
matrix:
php-versions: ['8.2']

name: PHP ${{ matrix.php-versions }}

services:
mysql:
image: mysql:8.0
env:
MYSQL_ALLOW_EMPTY_PASSWORD: yes
MYSQL_DATABASE: testing
ports:
- 3306:3306
options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3

# Environment variables during project setup and test run.
env:
DB_CONNECTION: mysql
DB_HOST: 127.0.0.1
DB_PORT: 3306
DB_DATABASE: testing
DB_USERNAME: root
DB_PASSWORD: ""
ADMIN_PREFIX: app
IS_LIVE: true
TRIAL_DAYS: 14

steps:
- uses: actions/checkout@v4

- name: Setup PHP
uses: shivammathur/setup-php@master
with:
php-version: ${{ matrix.php-versions }}
coverage: xdebug

- name: Validate composer.json and composer.lock
run: composer validate

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

- name: Install Dependencies
run: composer update --no-interaction

- name: Migrate DB
run: php artisan migrate --seed

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

- name: Set storage link
run: php artisan storage:link

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

- name: PINT
run: ./vendor/bin/pint --test

- name: Run test suite
run: ./vendor/bin/pest --parallel

0 comments on commit d499c11

Please sign in to comment.