diff --git a/ci-dockerfiles-deployment/builders.sh b/ci-dockerfiles-deployment/builders.sh
new file mode 100644
index 0000000..a5b112c
--- /dev/null
+++ b/ci-dockerfiles-deployment/builders.sh
@@ -0,0 +1,75 @@
+#!/bin/bash
+
+set -ex
+
+echo ""
+echo "########################################################################"
+echo "    Gerrit Environment"
+env |grep '^GERRIT'
+echo "########################################################################"
+
+rm -f ${WORKSPACE}/log
+cd dockerfiles/
+
+git_previous_commit=$(git rev-parse HEAD~1)
+git_commit=$(git rev-parse HEAD)
+files=$(git diff --name-only ${git_previous_commit} ${git_commit})
+echo Changes in: ${files}
+changed_dirs=$(dirname ${files}|sort -u)
+
+update_images=""
+for dir in ${changed_dirs}; do
+  # Find the closest directory with build.sh.  This is, primarily,
+  # to handle changes to tcwg-base/tcwg-build/tcwg-builslave/* directories.
+  while [ ! -e ${dir}/build.sh -a ! -e ${dir}/.git ]; do
+    dir=$(dirname ${dir})
+  done
+  # Add this and all dependant images in the update.
+  dir_basename=$(basename ${dir})
+  case "${dir_basename}" in
+    "tcwg-"*)
+      # ${dir} is one of generic tcwg-base/* directories.  Add dependent
+      # images to the list.
+      update_images="${update_images} $(dirname $(find . -path "*-${dir_basename}*/build.sh" | sed -e "s#^\./##g"))"
+      ;;
+    ".")
+      continue
+      ;;
+    *)
+      update_images="${update_images} $(dirname $(find ${dir} -name build.sh))"
+      ;;
+  esac
+done
+update_images="$(echo "${update_images}" | tr " " "\n" | sort -u)"
+
+host_arch=$(dpkg-architecture -qDEB_HOST_ARCH)
+
+for image in ${update_images}; do
+  (
+  cd ${image}
+  image_arch=$(basename ${PWD} | cut -f2 -d '-')
+  skip="skip"
+  if [ -f gerrit-branches ]; then
+    # Build only from branches mentioned in gerrit-branches
+    if grep -q "^${GERRIT_BRANCH}\$" gerrit-branches; then
+      skip="no"
+    fi
+  elif [ x"${GERRIT_BRANCH}" = x"master" ]; then
+    # No gerrit-branch file, so build only from "master" branch.
+    skip="no"
+  fi
+  case "${skip}:${host_arch}:${image_arch}" in
+    "skip:"*)
+      echo "Skipping: don't need to build ${image} on branch ${GERRIT_BRANCH}"
+      ;;
+    "no:amd64:amd64"|"no:amd64:i386"|"no:arm64:arm64"|"no:armhf:armhf")
+      echo "=== Start build: ${image} ==="
+      bash -x ./build.sh || echo "=== FAIL: ${image} ===" >> ${WORKSPACE}/log
+      ;;
+    *)
+      echo "Skipping: can't build for ${image_arch} on ${host_arch}"
+      ;;
+  esac
+  )||echo $image failed >> ${WORKSPACE}/log
+done
+
diff --git a/ci-dockerfiles-deployment/cleanup-update.sh b/ci-dockerfiles-deployment/cleanup-update.sh
new file mode 100644
index 0000000..a0a3abe
--- /dev/null
+++ b/ci-dockerfiles-deployment/cleanup-update.sh
@@ -0,0 +1,14 @@
+#!/bin/bash -e
+
+for image in $(docker images|grep trustedfirmware|grep -v none|awk '{ print $1":"$2}');
+do
+    echo update: $image:
+    if ! docker pull $image
+    then
+        echo could not fetch image from dockerhub, delete
+        docker rmi $image||true
+    fi
+done
+
+echo cleaning up
+docker system prune -f
diff --git a/ci-dockerfiles-deployment/report.sh b/ci-dockerfiles-deployment/report.sh
new file mode 100644
index 0000000..fe0ac53
--- /dev/null
+++ b/ci-dockerfiles-deployment/report.sh
@@ -0,0 +1,32 @@
+#!/bin/bash
+
+set -ex
+
+trap cleanup_exit INT TERM EXIT
+
+cleanup_exit()
+{
+    rm -rf ${HOME}/.docker
+    rm -f ${WORKSPACE}/{log,config.json,version.txt}
+}
+
+update_images=$(find -type f -name .docker-tag)
+
+for imagename in ${update_images}; do
+  (
+    docker_tag=$(cat $imagename)
+    if [ x"${GERRIT_BRANCH}" != x"master" ]; then
+      new_tag=${docker_tag}-${GERRIT_BRANCH}
+      docker tag ${docker_tag} ${new_tag}
+      docker_tag=${new_tag}
+    fi
+    echo successful build ${docker_tag}
+  )
+done
+
+if [ -e ${WORKSPACE}/log ]
+then
+    echo "some images failed:"
+    cat ${WORKSPACE}/log
+    exit 1
+fi
diff --git a/ci-dockerfiles-deployment/update-images.sh b/ci-dockerfiles-deployment/update-images.sh
new file mode 100755
index 0000000..d4b9058
--- /dev/null
+++ b/ci-dockerfiles-deployment/update-images.sh
@@ -0,0 +1,42 @@
+#!/bin/bash -e
+
+cd dockerfiles/
+
+images_to_update=""
+
+# find out which images haven't had any commits in the last 30 days
+
+for dir in ./*/; do
+    shortdir=$(basename $dir)
+    # Skip toolchain images
+    echo $shortdir|grep -q tcwg && continue
+    # not an image dir
+    [ -x $shortdir/build.sh ]||continue
+    changed=$(git log -1 --oneline --since "1 month" ${shortdir}|wc -l)
+    if [ $changed -eq 1 ]; then
+        echo "new: $shortdir"
+    else
+        echo "nothing new: $shortdir"
+        images_to_update="$images_to_update $shortdir"
+    fi
+done
+
+echo $images_to_update
+
+# trigger builds for every non-updated image over the http api
+for image in $images_to_update
+do
+    arch=$(echo ${image} | cut -f2 -d '-')
+    if [ "$arch" = "aarch64" ]; then
+        arch=arm64
+    fi
+    if [ "$arch" = "amd64" -o "$arch" = "arm64" -o "$arch" = "armhf" ]; then
+        cat > ../docker_${image}_build.txt << EOF
+nodelabel=build-${arch}
+image=${image}
+EOF
+    else
+        echo "unknown arch: $arch in $image"
+    fi
+done
+
