frappe_docker/CONTRIBUTING.md
2023-01-11 10:28:11 +05:30

1.5 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

Documentation

Place relevant markdown files in the docs directory and index them in README.md located at the root of repo.

Frappe and ERPNext updates

Each Frappe/ERPNext release triggers new stable images builds as well as bump to helm chart.