Skip to content

Merge branch 'main' into PPF-647-dump-db-tables #7719

Merge branch 'main' into PPF-647-dump-db-tables

Merge branch 'main' into PPF-647-dump-db-tables #7719

Workflow file for this run

name: CI
on: push
jobs:
lint:
name: Run linting
runs-on: ubuntu-latest
steps:
- name: πŸ“€ Checkout project
uses: actions/checkout@v3
- name: πŸ“© Fetch vendor from cache
uses: actions/cache@v3
id: cache
with:
path: vendor
key: composer-${{ hashFiles('**/composer.lock') }}
- name: 🐘 Setup PHP
uses: shivammathur/setup-php@master
with:
php-version: "8.2"
env:
update: true
- name: πŸ”’ Create .env file
run: cp .env.ci .env
- name: πŸ“¦ Install composer dependencies
run: |
composer config "http-basic.nova.laravel.com" "${{ secrets.NOVA_USERNAME }}" "${{ secrets.NOVA_PASSWORD }}"
composer install --quiet --no-ansi --no-interaction --no-scripts --no-progress --prefer-dist
- name: πŸ”‘ Generate a laravel key
run: php artisan key:generate
- name: βœ… Run linting
run: ./vendor/bin/php-cs-fixer fix --dry-run -vvv
stan:
name: Run static analysis
runs-on: ubuntu-latest
steps:
- name: πŸ“€ Checkout project
uses: actions/checkout@v3
- name: πŸ“© Fetch vendor from cache
uses: actions/cache@v3
id: cache
with:
path: vendor
key: composer-${{ hashFiles('**/composer.lock') }}
- name: 🐘 Setup PHP
uses: shivammathur/setup-php@master
with:
php-version: "8.2"
env:
update: true
- name: πŸ”’ Create .env file
run: cp .env.ci .env
- name: πŸ“¦ Install composer dependencies
run: |
composer config "http-basic.nova.laravel.com" "${{ secrets.NOVA_USERNAME }}" "${{ secrets.NOVA_PASSWORD }}"
composer install --quiet --no-ansi --no-interaction --no-scripts --no-progress --prefer-dist
- name: πŸ”‘ Generate a laravel key
run: php artisan key:generate
- name: βœ… Run static analysis
run: ./vendor/bin/phpstan analyse --no-progress
test:
name: Run tests
runs-on: ubuntu-latest
services:
mysql:
image: mysql:8.0
env:
MYSQL_ALLOW_EMPTY_PASSWORD: false
MYSQL_ROOT_PASSWORD: secret
MYSQL_USER: ppf-user
MYSQL_PASSWORD: secret
MYSQL_DATABASE: testing
ports:
- 3306:3306
options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3
steps:
- name: πŸ“€ Checkout project
uses: actions/checkout@v3
- name: πŸ“© Fetch vendor from cache
uses: actions/cache@v3
id: cache
with:
path: vendor
key: composer-${{ hashFiles('**/composer.lock') }}
- name: 🐘 Setup PHP
uses: shivammathur/setup-php@master
with:
php-version: "8.2"
env:
update: true
- name: 🐒 Setup NodeJS
uses: actions/setup-node@v3
with:
node-version: 18.14
- name: πŸ”’ Create .env file
run: cp .env.ci .env
- name: πŸ“¦ Install composer dependencies
run: |
composer config "http-basic.nova.laravel.com" "${{ secrets.NOVA_USERNAME }}" "${{ secrets.NOVA_PASSWORD }}"
composer install --quiet --no-ansi --no-interaction --no-scripts --no-progress --prefer-dist
- name: πŸ”‘ Generate a laravel key
run: php artisan key:generate
- name: Install npm dependencies
run: npm ci
- name: πŸ’…πŸ» Build frontend assets
run: npm run build
- name: βœ… Run tests
run: php artisan test
frontend-format-check:
name: Check formatting frontend files
runs-on: ubuntu-latest
steps:
- name: πŸ“€ Checkout project
uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: 18.14
- name: Install npm dependencies
run: npm ci
- name: Run format check
run: npm run format:check
frontend-lint-check:
name: Check linting frontend files
runs-on: ubuntu-latest
steps:
- name: πŸ“€ Checkout project
uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: 18.14
- name: Install npm dependencies
run: npm ci
- name: Run lint check
run: npm run lint:check
frontend-types-check:
name: Check types frontend files
runs-on: ubuntu-latest
steps:
- name: πŸ“€ Checkout project
uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: 18.14
- name: Install npm dependencies
run: npm ci
- name: Run types check
run: npm run types:check