Skip to content

ci: Add GitHub Actions CI workflow for automated testing and code quality #80

Closed

Description

@wennerl77

Summary

The repository currently has a comprehensive suite of backend (PHPUnit) and frontend (Node) tests, as well as code formatting checks (Laravel Pint), but lacks an automated CI (Continuous Integration) workflow. As a result, pull requests and commits are not automatically tested or verified before merging.

Proposed Solution

Set up a GitHub Actions workflow (.github/workflows/ci.yml) triggered on push (main/master branches) and pull_request:

  1. PHP / Laravel Backend Pipeline:

    • Setup PHP 8.3 with required extensions (sqlite, mbstring, pdo_sqlite, xml).
    • Cache Composer dependencies.
    • Run Laravel Pint code style check (./vendor/bin/pint --test).
    • Run PHPUnit test suites (php artisan test / ./vendor/bin/phpunit).
  2. Frontend & Assets Pipeline:

    • Setup Node.js.
    • Cache npm dependencies.
    • Run frontend tests (npm run test:frontend).
    • Run production asset build check (npm run build).

Expected Impact

  • Automated regression testing on every PR and commit.
  • Consistent code formatting enforcement via Pint.
  • Improved stability for contest engine and web platform.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions