1.8 KiB
Contribution Guidelines
Before publishing a PR, please test builds locally.
On each PR that contains changes relevant to Docker builds, images are being built and tested in our CI (GitHub Actions).
🌲 Please be considerate when pushing commits and opening PR for multiple branches, as the process of building images uses energy and contributes to global warming.
Lint
We use pre-commit
framework to lint the codebase before committing.
First, you need to install pre-commit with pip:
pip install pre-commit
Also you can use brew if you're on Mac:
brew install pre-commit
To setup pre-commit hook, run:
pre-commit install
To run all the files in repository, run:
pre-commit run --all-files
Build
We use Docker Buildx Bake. To build the images, run command below:
FRAPPE_VERSION=... ERPNEXT_VERSION=... docker buildx bake <targets>
Available targets can be found in docker-bake.hcl
.
Test
We use pytest for our integration tests.
Install Python test requirements:
python3 -m venv venv
source venv/bin/activate
pip install -r requirements-test.txt
Run pytest:
pytest
We also have
requirements-dev.txt
file that contains development requirements for backend image (you can find it inimages/worker/
directory).
Documentation
Place relevant markdown files in the docs
directory and index them in README.md located at the root of repo.
Wiki
Add alternatives that can be used optionally along with frappe_docker. Add articles to list on home page as well.
Frappe and ERPNext updates
Each Frappe/ERPNext release triggers new stable images builds as well as bump to helm chart.