Repository navigation
Dashboard: keep summary card badges inside their cards #1047
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: PR Tests | |
| on: | |
| # Docs-only changes (Markdown anywhere + everything under docs/, incl. | |
| # milestones.ics) don't touch the app, so skip the PHPUnit suite for them. | |
| # The milestone-date invariant is covered by the local-only | |
| # MilestoneScheduleConsistencyTest, not this gate. | |
| push: | |
| branches: | |
| - codex/** | |
| - feat/** | |
| - feature/** | |
| paths-ignore: | |
| - '**/*.md' | |
| - 'docs/**' | |
| pull_request: | |
| paths-ignore: | |
| - '**/*.md' | |
| - 'docs/**' | |
| jobs: | |
| tests: | |
| runs-on: ubuntu-latest | |
| services: | |
| mysql: | |
| image: mysql:8.0 | |
| env: | |
| MYSQL_ROOT_PASSWORD: root | |
| MYSQL_DATABASE: testing | |
| ports: | |
| - 3306:3306 | |
| options: >- | |
| --health-cmd="mysqladmin ping -h 127.0.0.1 -proot" | |
| --health-interval=10s | |
| --health-timeout=5s | |
| --health-retries=5 | |
| env: | |
| APP_ENV: testing | |
| APP_DEBUG: true | |
| DB_CONNECTION: mysql | |
| DB_HOST: 127.0.0.1 | |
| DB_PORT: 3306 | |
| DB_DATABASE: testing | |
| DB_USERNAME: root | |
| DB_PASSWORD: root | |
| CACHE_STORE: array | |
| QUEUE_CONNECTION: sync | |
| SESSION_DRIVER: array | |
| MAIL_MAILER: array | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Setup PHP | |
| uses: shivammathur/setup-php@v2 | |
| with: | |
| php-version: "8.4" | |
| extensions: mbstring, bcmath, gmp, pdo_mysql | |
| tools: composer:v2 | |
| coverage: none | |
| - name: Setup Node | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: "20" | |
| cache: "npm" | |
| - name: Install PHP dependencies | |
| run: composer install --no-interaction --prefer-dist --no-progress | |
| - name: Prepare environment | |
| run: | | |
| cp .env.example .env | |
| php artisan key:generate | |
| - name: Install Node dependencies | |
| run: npm ci | |
| - name: Run JS tests | |
| run: npm test | |
| - name: Build assets | |
| run: npm run build | |
| - name: Migrate database | |
| run: php artisan migrate --force | |
| - name: Run tests | |
| # local-only group is excluded here on purpose: it guards a docs | |
| # invariant (PLAN.md milestone Targets == milestones.ics end dates) | |
| # that should fail the local suite, not gate every PR. See | |
| # tests/Feature/Docs/MilestoneScheduleConsistencyTest.php. | |
| run: php artisan test --exclude-group=local-only |