Skip to content

feat: typed-payload protocol — no editable string fields #49

feat: typed-payload protocol — no editable string fields

feat: typed-payload protocol — no editable string fields #49

Workflow file for this run

name: CI
on:
push:
pull_request:
jobs:
tests:
runs-on: ubuntu-latest
services:
mysql:
image: mysql:8.0
env:
MYSQL_ROOT_PASSWORD: root
MYSQL_DATABASE: swinn-test
ports:
- 3306:3306
options: >-
--health-cmd="mysqladmin ping"
--health-interval=10s
--health-timeout=5s
--health-retries=3
env:
DB_CONNECTION: mysql
DB_HOST: 127.0.0.1
DB_PORT: 3306
DB_DATABASE: swinn-test
DB_USERNAME: root
DB_PASSWORD: root
steps:
- uses: actions/checkout@v4
- name: Setup PHP 8.3
uses: shivammathur/setup-php@v2
with:
php-version: '8.3'
extensions: mbstring, pdo, pdo_mysql, xml, curl
coverage: pcov
- 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: Setup Node
uses: actions/setup-node@v4
with:
node-version: '20'
cache: npm
- name: Install Node Dependencies
run: npm ci
- name: Build Frontend
run: npm run build
- name: Generate App Key
run: php artisan key:generate
- name: Directory Permissions
run: chmod -R 777 storage bootstrap/cache
- name: Wait for MySQL
run: |
until mysqladmin ping -h 127.0.0.1 -uroot -proot --silent; do
echo "Waiting for MySQL..."
sleep 2
done
- name: Run Migrations
run: php artisan migrate --force
- name: Install Passport
run: php artisan passport:install --no-interaction
- name: Run Tests
run: vendor/bin/phpunit --coverage-clover coverage.xml
- name: Upload Coverage to Coveralls
uses: coverallsapp/github-action@v2
with:
file: coverage.xml
format: clover