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