From a885d15341828f099bdb770d20c8b18e1f83cf41 Mon Sep 17 00:00:00 2001 From: James Collins Date: Mon, 30 Jan 2023 19:51:09 +1000 Subject: [PATCH] Create laravel.yml --- .github/workflows/laravel.yml | 62 +++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 .github/workflows/laravel.yml diff --git a/.github/workflows/laravel.yml b/.github/workflows/laravel.yml new file mode 100644 index 0000000..26883a7 --- /dev/null +++ b/.github/workflows/laravel.yml @@ -0,0 +1,62 @@ +name: Laravel + +on: + push: + branches: [ "main" ] + pull_request: + branches: [ "main" ] + +jobs: + laravel-tests: + + runs-on: ubuntu-latest + + steps: + - uses: shivammathur/setup-php@15c43e89cdef867065b0213be354c2841860869e + with: + php-version: '8.0' + - 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-ansi --no-interaction --no-scripts --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: + runs-on: ubuntu-latest + + steps: + - name: Checkout + uses: actions/checkout@v2 + + - 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 + php artisan optimize + php artisan up