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 test:setup
# Run all tests
symfony composer test

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

# Run only tests for OCI images
symfony composer test:images
symfony composer test:images:standalone