name: CI on: push: branches: - main pull_request: permissions: contents: read jobs: lint: name: Lint runs-on: ubuntu-latest container: image: git.bayliss.cloud/harry/gitea-ci-runner:php8.4 defaults: run: shell: bash steps: - name: Check out repository uses: actions/checkout@v4 with: fetch-depth: 0 - name: Install Composer dependencies run: composer install --no-interaction --prefer-dist --optimize-autoloader - name: Install frontend dependencies run: bun install --frozen-lockfile - name: Run frontend lint run: bun run lint:check - name: Check frontend formatting run: bun run format:check - name: Check PHP formatting run: vendor/bin/pint --test - name: Run static analysis run: composer phpstan tests: name: Tests runs-on: ubuntu-latest container: image: git.bayliss.cloud/harry/gitea-ci-runner:php8.4 defaults: run: shell: bash env: APP_ENV: testing APP_KEY: base64:AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= CACHE_STORE: array DB_CONNECTION: sqlite DB_DATABASE: database/testing.sqlite MAIL_MAILER: array QUEUE_CONNECTION: sync SESSION_DRIVER: array steps: - name: Check out repository uses: actions/checkout@v4 - name: Prepare SQLite database run: touch database/testing.sqlite - name: Install Composer dependencies run: composer install --no-interaction --prefer-dist --optimize-autoloader - name: Run test suite with coverage run: composer coverage