diff --git a/.gitea/workflows/laravel.yml b/.gitea/workflows/laravel.yml index 5603819..0d6a7ef 100644 --- a/.gitea/workflows/laravel.yml +++ b/.gitea/workflows/laravel.yml @@ -6,50 +6,52 @@ on: pull_request: jobs: - laravel-tests: - runs-on: ubuntu-latest + laravel-tests: + runs-on: ubuntu-latest - container: - image: ghcr.io/shivammathur/node:latest - - steps: - - uses: actions/checkout@v4 - - - name: Verify tools - run: | - php -v - composer -V - node -v - npm -v - - - name: Install PHP deps - run: composer install -q --no-interaction --no-progress --prefer-dist - - - name: Install Node deps - run: npm ci - - - name: Copy env - run: php -r "file_exists('.env') || copy('.env.example', '.env');" - - - name: Generate key - run: php artisan key:generate - - - name: Create DB - run: | - mkdir -p database - touch database/database.sqlite - - - name: Migrate - env: - DB_CONNECTION: sqlite - DB_DATABASE: database/database.sqlite - run: php artisan migrate --force - - - name: Build assets - run: npm run build - - - name: Run tests - env: - DB_CONNECTION: sqlite - DB_DATABASE: database/database.sqlite - run: vendor/bin/phpunit \ No newline at end of file + steps: + - uses: actions/checkout@v4 + + - uses: shivammathur/setup-php@v2 + with: + php-version: "8.4" + + - name: Copy .env + run: php -r "file_exists('.env') || copy('.env.example', '.env');" + + - name: Install PHP 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: Install Node.js + uses: actions/setup-node@v2 + with: + node-version: "20" + + - name: Install Node dependencies + run: npm ci + + - name: Build frontend + run: npm run build + + - name: Run migrations + env: + DB_CONNECTION: sqlite + DB_DATABASE: database/database.sqlite + run: php artisan migrate --force + + - name: Run PHPUnit + env: + DB_CONNECTION: sqlite + DB_DATABASE: database/database.sqlite + run: vendor/bin/phpunit