Files
Website/.github/workflows/laravel.yml
2023-02-20 21:22:16 +10:00

64 lines
2.1 KiB
YAML

name: Laravel
on:
push:
branches: ["main"]
pull_request:
branches: ["main"]
jobs:
laravel-tests:
runs-on: ubuntu-latest
steps:
- uses: shivammathur/setup-php@v2
with:
php-version: "8.1"
- 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-interaction --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
deploy:
needs: laravel-tests
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Deployment
uses: appleboy/ssh-action@v0.1.7
with:
host: ${{ secrets.SSH_HOST }}
port: ${{ secrets.SSH_PORT }}
key: ${{ secrets.SSH_PRIVATE_KEY }}
username: ${{ secrets.SSH_USERNAME }}
script: |
cd /var/www/stemmechanics.com.au
(php artisan down) || true
git fetch origin main
git reset --hard origin/main
composer install --no-interaction --prefer-dist --optimize-autoloader
php artisan migrate --force
npm install
npm run build
mkdir -p public/tinymce/skins && cp -r node_modules/tinymce/skins public/tinymce
php artisan optimize
php artisan up