Skip to content

Assertions

Assertions #130

Workflow file for this run

name: Assertions
on:
pull_request:
branches: ['main']
workflow_dispatch:
schedule:
- cron: '0 0 * * *'
jobs:
assertions:
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
uses: actions/checkout@v4
- name: Setup Node
uses: actions/setup-node@v4
with:
node-version: 'lts/*'
cache: 'npm'
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: '8.3'
tools: composer:v2
- name: Setup Composer
id: composer-cache
run: echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT
- name: Cache Composer Dependencies
uses: actions/cache@v3
with:
path: ${{ steps.composer-cache.outputs.dir }}
key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }}
restore-keys: ${{ runner.os }}-composer-
- name: Install Dependencies
run: |
composer install --prefer-dist --no-interaction --no-progress
npm ci --ignore-scripts
- name: Directory Permissions
run: chmod -R 777 storage bootstrap/cache
- name: Copy .env
run: cp .env.example .env
- name: Create Database File
run: touch database/database.sqlite
- name: Generate key
run: php artisan key:generate
- name: Run Migrations
run: php artisan migrate --force
- name: Seed DB
run: php artisan db:seed
- name: Build App
run: npm run build
- name: Lint PHP
run: composer run lint
- name: Lint JavaScript
run: npm run lint:js
- name: Lint Styles
run: npm run lint:css
- name: Test PHP
run: php artisan test
- name: Test JavaScript
run: npm run test:ci
env:
LARAVEL_BYPASS_ENV_CHECK: 1
- name: Test Storybook
run: npm run build:storybook