gaffer-docker
gaffer-docker copied to clipboard
Add dependency version management
The version numbers of the helm charts are managed automatically with a script: https://github.com/gchq/gaffer-docker/blob/41f9f516300666ace81be02bb94ea93ed045d3ee/kubernetes/gaffer-road-traffic/Chart.yaml#L19
However, the versions of all the dependencies across the Dockerfiles, docker-compose .env files, and helm charts, are not managed automatically and must be updated manually before a gaffer-docker release: https://github.com/gchq/gaffer-docker/blob/377655a59d9ad603cdbd86d1d6b4e89d8fa67a3e/docker/gaffer/Dockerfile#L18-L24 https://github.com/gchq/gaffer-docker/blob/377655a59d9ad603cdbd86d1d6b4e89d8fa67a3e/docker/gaffer/.env#L1-L4 https://github.com/gchq/gaffer-docker/blob/377655a59d9ad603cdbd86d1d6b4e89d8fa67a3e/kubernetes/gaffer/values.yaml#L56-L58
Not only is this tedious for releases, requiring manual update commits, but it is also error-prone as this manual process could be done wrong, or different versions could be inconsistent with each other.
Therefore, a way of managing these versions should be added so it can be done automatically at time of release, and safely.
#211 ensured that the images that are built, tested and released are the ones in the docker/gaffer-pyspark-notebook/.env file, as well as automatically ensuring the helm chart versions are correct. This is a step forward but manual commits are still required to update the versions in the Dockerfiles and docker-compose files.