Skip to content

Latest commit

 

History

History
87 lines (62 loc) · 2.34 KB

File metadata and controls

87 lines (62 loc) · 2.34 KB

Contributing to Dirigent

Dirigent is an open-source project, contributions of all kinds are welcome, including financial contributions.

This guide contains instructions about the development process of the project that you should follow when contributing code.

Architecture

For an overview of the architecture of this project, see ARCHITECTURE.md.

Running Dirigent locally

Installation

To run Dirigent locally, follow the Running from source code guide in the documentation, up to the Configure services section.

Additional requirements:

  • Symfony binary
  • Docker
# Optionally, copy the example Docker Compose configuration override file
cp compose.override.example.yaml compose.override.yaml

# Install dependencies
composer install
npm install

# Build frontend assets
npm run build # or watch for changes with: npm run watch

# Run services through Docker Compose
docker compose up -d

# Run the Symfony development server
symfony server:start -d

# Create & fill the development database
symfony console doctrine:database:create --if-not-exists
symfony console doctrine:schema:update --force
symfony console doctrine:fixtures:load --no-interaction

Lint & validate the code

# Run all linting jobs
symfony composer lint

# Individual linters
symfony composer lint:refactor        # Rector (automatically applies changes)
symfony composer lint:coding-style    # PHP-CS-Fixer (automatically applies changes)
symfony composer lint:static-analysis # PHPStan level 5
symfony composer lint:container       # Symfony container validation
symfony composer lint:templates       # Twig template validation

Running tests

# Prepare the Symfony test environment (if the database schema changed)
symfony composer tests:setup
# Run all tests
symfony composer tests

# Run only PHP tests
symfony composer tests:php
symfony composer tests:php:unit
symfony composer tests:php:functional

# Run tests for Docker images
symfony composer tests:docker
symfony composer tests:docker:standalone