# Maintainer Instructions ## Before To run templating models HELM needs to be installed. We are supporting HELM 2.14+ Helm URL: https://github.com/helm/helm/releases/tag/v2.14.3 You can install HELM in PATH or set HELM path before running make - `export HELM=<path to helm>` ## Running tests To run the entire test set, first set the following environment variables: - `DOCKERNAMESPACE` to your docker hub account - `VERBOSE` to `1` (default is empty) - `LONG` to `1` (default is empty, which skips lots of tests) - `ARANGODB` to the name of a community image you want to test, default is `arangodb/arangodb:latest` - `ENTERPRISEIMAGE` to the name of an enterprise image, you want to test, if not set, some tests are skipped - `ENTERPRISELICENSE` to the enterpise license key - `KUBECONFIG` to the path to some k8s configuration with credentials, this indicates which cluster to use ```bash make clean make build make run-tests ``` To run only a single test, set `TESTOPTIONS` to something like `-test.run=TestRocksDBEncryptionSingle` where `TestRocksDBEncryptionSingle` is the name of the test. ## Preparing a release To prepare for a release, do the following: - Make sure all tests are OK. - To run a complete set of tests, see above. - Update the CHANGELOG manually, since the automatic CHANGELOG generation is switched off (did not work in many cases). ## Building a release To make a release you must have: - A github access token in `~/.arangodb/github-token` that has read/write access for this repository. - Push permission for the current docker account (`docker login <your-docker-hub-account>`) for the `arangodb` docker hub namespace. - The latest checked out `master` branch of this repository. ```bash make release-patch # or make release-minor # or make release-major ``` If successful, a new version will be: - Build docker images, yaml resources & helm charts. - Tagged in github - Uploaded as github release - Pushed as docker image to docker hub - `./VERSION` will be updated to a `+git` version (after the release process) If the release process fails, it may leave: - `./VERSION` uncommitted. To resolve, checkout `master` or edit it to the original value and commit to master. - A git tag named `<major>.<minor>.<patch>` in your repository. To resolve remove it using `git tag -d ...`. - A git tag named `<major>.<minor>.<patch>` in this repository in github. To resolve remove it manually.