Sana-a-Uni / Academia

Web-based academic management system
MIT License
18 stars 46 forks source link

feat: Enhance CI Workflow with better environment setup , and add Linter for Code Quality #63

Closed Ali-Alnosairi closed 4 months ago

Ali-Alnosairi commented 4 months ago

Description:

This pull request introduces significant enhancements to the continuous integration (CI) workflows, code quality checks, and development environment setups for the Academia app. The changes aim to streamline development practices, improve code quality, and ensure a robust testing environment.

Changes Made:

Workflows Enhancements:

Updated the CI configuration to include comprehensive Python unit tests, enhance environment setup .

Add Linter workflow with Integrated advanced code quality checks including commit message linting, Semgrep rules for Python, and pre-commit hooks for automated code formatting.

Introduced .pre-commit-config.yaml configurations for pre-commit Action to automate code formatting and linting, reducing manual review time and improving code consistency.

Configured pyproject.toml for consistent code styling across various editors, ensuring that all developers adhere to the same code style guidelines , also add version requirements for app dependencies .

Added commitlint.config.js to enforce conventional commit messages, enhancing the readability and trackability of repository changes.

Environment Setup:

Revised the install.sh script to support a more robust setup including the installation of critical dependencies and applications like ERPNext and HRMS, which are necessary for the Academia app's functionality.

Add site_config.json to reflect current configurations needed for a test environment, facilitating smoother local testing and development.

Other:

Add editorconfig file to maintain common setting through developers.

Reviewers: @alshalabi-su