pip install divio-cli
See Divio developer handbook: How to use the Divio command-line interface
The CLI supports version 1 (docker-compose
) and version 2 (docker compose
) of the command invocation and is using the new version 2 by default.
You can opt-in to still use the old version 1 command by updating your CLI global settings in ~/.aldryn
and add a new setting called docker-compose
with the value ["docker-compose"]
:
{"update_check_timestamp": 1234567890, "docker-compose": ["docker-compose"]}
The test suite is split into two categories: unit tests and integration tests. Unit tests run completely locally, so no previous setup is required. Integration tests run against the actual Divio infrastructure, so setup of a Divio project is required. In order to run the test suite, you have to have GNU Make and GNU Bash on your system. The integration tests also require Docker Compose.
Both test categories take optional arguments like TOX_ARGS
and PYTEST_ARGS
:
make test TOX_ARGS="-e python.11" PYTEST_ARGS="-s"
To clear all local state run:
make clean
These do not require external communication and can be run with the following command:
make test
These do require a more involved setup and will trigger actions on a real project. It is recommended to use a project on control.dev.aldryn.net because it requires no control panel running locally, and is what the CI pipeline does.
The CI uses ci-test-project-do-not-delete project. DO NOT USE THIS PROJECT FOR YOUR LOCAL TESTING! The project is reserved for CI testing. Create your own project and replicate the CI project configuration.
To run the integration test suite, run:
make test_integration
The first run will fail, but will create an empty .env
file. Configure your test project there.
You can take a look at the variables tab in the CI Settings as a starting point.
To run the linter, run the following command:
make lint
- Checkout a new branch for the new version -
release-X.X.X
- Update the changelog.
- Merge the branch (after approval).
- Tag master with the release number
X.X.X
andgit push origin <tagname>
The pipeline will then take care of the release.