diff --git a/.github/workflows/laravel.yml b/.github/workflows/laravel.yml new file mode 100644 index 0000000..28c860d --- /dev/null +++ b/.github/workflows/laravel.yml @@ -0,0 +1,50 @@ +name: Laravel CI + +on: + push: + branches: + - '*' + pull_request: + branches: + - '*' + +jobs: + build: + + runs-on: ubuntu-latest + + steps: + - name: Check out repository + uses: actions/checkout@v3 + + - name: Set up PHP + uses: shivammathur/setup-php@v2 + with: + php-version: '8.2' + extensions: mbstring, sqlite, pdo, pdo_sqlite, bcmath + coverage: none + + - name: Cache Composer dependencies + uses: actions/cache@v3 + with: + path: vendor + key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }} + restore-keys: ${{ runner.os }}-composer- + + - name: Install Composer dependencies + run: composer install --no-progress --prefer-dist --optimize-autoloader + + - name: Generate application key + run: php artisan key:generate + + - name: Run migrations + run: php artisan migrate --force + + - name: Run tests + run: vendor/bin/phpunit --testdox + + - name: Install Node.js and build assets + uses: actions/setup-node@v3 + with: + node-version: '18' + - run: npm install && npm run build