Before publishing a PR, please test builds locally:
- with docker-compose for production,
- with and without nginx proxy,
- with VSCode for testing environments (only for frappe/bench image).
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.
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
# *...* — targets from docker-bake.hcl,
# e.g. bench-build, frappe-socketio-develop or erpnext-nginx-stable.
# Stable builds require GIT_BRANCH (e.g. v13.15.0), IMAGE_TAG (version-13), VERSION (13)
# environment variables set.
docker buildx bake -f docker-bake.hcl *...*
Lightweight test that just checks if site will be available after creation.
Frappe:
./tests/test-frappe.sh
ERPNext:
./tests/test-erpnext.sh
Tests frappe-bench-like commands, for example, backup
and restore
.
./tests/integration-test.sh
Place relevant markdown file(s) in the docs
directory and index them in README.md located at the root of repo.
Add alternatives that can be used optionally along with frappe_docker. Add articles to list on home page as well.
Each Frappe/ERPNext release triggers new stable images builds as well as bump to helm chart.