diff --git a/CODEOWNERS b/CODEOWNERS index 7ff9749ea2a77bd4041cf81c0f4f9a09c03b7ab0..24d865d8d7355227a67c35e001fe08932bf6d941 100644 --- a/CODEOWNERS +++ b/CODEOWNERS @@ -1 +1 @@ -* @matteo1981 @HFRibeiro @flyingfrog81 @bravostuzero @ajoubertza +* @HFRibeiro @flyingfrog81 @bravostuzero @ska-telescope/ska-dev/skao-team-system diff --git a/README.md b/README.md index ba81e456a40134b845801915b3bd551c128a54dc..569f479ca645413df74f7b9dc73f2f0827554283 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,6 @@ that are useful for TANGO control system development. See the documentation in the 'docs' folder for build and usage instructions. - ## Docker hierarchy and release tagging When updating Dockerfiles, and especially the tags in the `.release` files, @@ -18,11 +17,11 @@ The release tags should match the underlying dependencies used where possible. - tango-dependencies/Dockerfile:FROM debian:buster-slim as buildenv - tango-dependencies/Dockerfile:FROM debian:buster-slim - tango-java/Dockerfile:FROM {nexus}/tango-dependencies - - tango-jive/Dockerfile:FROM {nexus}/tango-java - - tango-pogo/Dockerfile:FROM {nexus}/tango-java - - tango-rest/Dockerfile:FROM {nexus}/tango-dependencies as buildenv - - tango-rest/Dockerfile:FROM {nexus}/tango-java - - tango-vnc/Dockerfile:FROM {nexus}/tango-java + - tango-jive/Dockerfile:FROM {nexus}/tango-java + - tango-pogo/Dockerfile:FROM {nexus}/tango-java + - tango-rest/Dockerfile:FROM {nexus}/tango-dependencies as buildenv + - tango-rest/Dockerfile:FROM {nexus}/tango-java + - tango-vnc/Dockerfile:FROM {nexus}/tango-java - tango-cpp/Dockerfile:FROM {nexus}/tango-dependencies as buildenv - tango-cpp/Dockerfile:FROM debian:buster-slim - tango-libtango/Dockerfile:FROM {nexus}/tango-cpp @@ -44,6 +43,7 @@ The release tags should match the underlying dependencies used where possible. - tango-db/Dockerfile:FROM mariadb:10 If the Docker image tags change, then the related charts should also be updated: + - In the `charts` folder, update all the `values.yaml` files to use the new tags. - If any of the `values.yaml` files changed, the corresponding `Chart.yaml` file must have the `version` field incremented. Similarly for any dependent `Chart.yaml` @@ -55,11 +55,13 @@ If the Docker image tags change, then the related charts should also be updated: There is a make target provided that is a guide that steps you through the process of making a release. This will run the various sub-targets in the right sequence to ensure a complete release is done for OCI images and Helm Charts. Run: + ``` -$ make make-a-release +make make-a-release ``` The following is a sample flow of the guided release process: + ``` This is a guild to creating a release of ska-tango-images, including OCI Images and Helm Charts. You π₯MUSTπ₯ first have merged your Merge Request!!! @@ -120,11 +122,11 @@ Your branch is up-to-date with 'origin/master'. Changes not staged for commit: (use "git add <file>..." to update what will be committed) (use "git restore <file>..." to discard changes in working directory) - modified: .release - modified: charts/ska-tango-base/Chart.yaml - modified: charts/ska-tango-util/Chart.yaml - modified: images/ska-tango-images-tango-dependencies-alpine/.release - modified: images/ska-tango-images-tango-dependencies/.release + modified: .release + modified: charts/ska-tango-base/Chart.yaml + modified: charts/ska-tango-util/Chart.yaml + modified: images/ska-tango-images-tango-dependencies-alpine/.release + modified: images/ska-tango-images-tango-dependencies/.release no changes added to commit (use "git add" and/or "git commit -a") @@ -231,3 +233,36 @@ To gitlab.com:ska-telescope/ska-tango-images.git make[1]: Leaving directory '/home/piers/git/public/ska-telescope/ska-tango-images' π All done! π ``` + +### Bumping umbrella charts version to the `make-a-release` version +The `make make-a-release` utility doesn't update the umbrella charts to the needed versions. As such, the `charts/ska-tango-umbrella/Chart.yaml` file, should be manually bumped to the new version. + +In order to do this, update the version for the `ska-tango-base` and `ska-tango-util` under `dependencies` and push to master: +``` +dependencies: +- name: ska-tango-base + version: {NEW_VERSION} + repository: ... + condition: ... +- name: ska-tango-util + version: {NEW_VERSION} + repository: ... +``` + + + +## Developer Notes + +### Testing image builds locally + +Create a file `{.MY_ENV_FILE}` with the needed environment variables in the format of: + +``` +TANGO_IMAGE_TAG=0.2.28 +``` + +Then run the following command to build an image: + +``` +cat .MY_ENV_FILE | xargs printf -- '--build-arg %s\n' | xargs docker build -t MY_TAG . +```