Skip to content

fix CI/CD

fix CI/CD #182

Workflow file for this run

name: CI/CD
on:
push:
branches:
- main
jobs:
test:
name: Run Test and PHP Stan
runs-on: ubuntu-latest
services:
mysql:
image: mysql:5.7
env:
MYSQL_ALLOW_EMPTY_PASSWORD: 'yes'
TZ: 'Europe/Paris'
MYSQL_DATABASE: test
ports:
- 3306/tcp
options: --health-cmd="mysqladmin ping" --health-interval=5s --health-timeout=2s --health-retries=3
steps:
- uses: actions/checkout@v3
- name: πŸ— Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: '8.1'
- name: πŸ“¦ Install Composer Dependencies
run: composer install --no-progress --prefer-dist --optimize-autoloader
- name: πŸ— Directory Permissions
run: chmod -R 777 storage bootstrap/cache
- name: πŸ— Execute tests (Unit and Feature tests) via PHPUnit
run: php artisan test --env=testing --stop-on-failure
- name: πŸ— Execute PHP Stan
run: ./vendor/bin/phpstan analyse
deploy:
name: Deploy
needs: test
if: success()
runs-on: ubuntu-latest
environment: Production
steps:
- name: πŸš€ Deploy updates
uses: appleboy/[email protected]
with:
host: ${{ secrets.SSH_HOST }}
username: ${{ secrets.SSH_USERNAME }}
key: ${{ secrets.SSH_KEY }}
port: ${{ secrets.SSH_PORT }}
script: |
cd /home/anton/www/clip-zone.com
make deploy