misra-docker-images: Job to create ECLAIR docker images

Propagated from staging repo.

Signed-off-by: Paul Sokolovsky <paul.sokolovsky@linaro.org>
Change-Id: I38b84ef7691bfafd2317fc14a5615d0f70809623
diff --git a/misra-docker-images.yaml b/misra-docker-images.yaml
new file mode 100644
index 0000000..8e9e5c0
--- /dev/null
+++ b/misra-docker-images.yaml
@@ -0,0 +1,22 @@
+- job:
+    name: misra-docker-images
+    project-type: freestyle
+    defaults: global
+    properties:
+        - authorization:
+            anonymous:
+                - job-read
+                - job-extended-read
+        - build-discarder:
+            days-to-keep: 90
+            num-to-keep: 200
+    disabled: false
+    node: build-amd64-private
+    concurrent: false
+    display-name: 'MISRA Docker images build'
+    builders:
+        - shell:
+            !include-raw: misra-docker-images/builders.sh
+    publishers:
+        - email:
+            recipients: 'linaro-infrastructure-errors@lists.linaro.org paul.sokolovsky@linaro.org'
diff --git a/misra-docker-images/builders.sh b/misra-docker-images/builders.sh
new file mode 100755
index 0000000..a73e475
--- /dev/null
+++ b/misra-docker-images/builders.sh
@@ -0,0 +1,54 @@
+#!/bin/bash
+
+docker --version
+
+if ! type aws
+then
+    sudo apt-get -y -qq update
+    sudo apt-get -y -qq install --no-install-recommends unzip
+    curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
+    unzip awscliv2.zip
+    sudo ./aws/install
+fi
+
+rm -rf misra-dockerfiles
+git clone https://git.trustedfirmware.org/ci/misra-dockerfiles.git
+cd misra-dockerfiles
+
+aws configure list
+export ECR=987685672616.dkr.ecr.us-east-1.amazonaws.com
+# we are expecting private files to be kept in the dockerfiles/*
+# subdirs with a matching name for the image
+aws s3 cp --recursive s3://trustedfirmware-misra/dockerfiles/ .
+find .
+aws ecr get-login-password --region us-east-1|docker login --username AWS --password-stdin $ECR
+
+
+was_error=0
+
+for image in ./*
+do
+    tag=$(basename $image)
+    test -d $image  && test -f $image/build.sh && \
+    (
+        echo "=== Building image: misra:${tag} ==="
+        set -ex
+        touch /tmp/dckr-img-err
+        cd $image
+        ./build.sh
+        echo "Uploading image: misra:${tag}"
+        docker push $ECR/misra:$tag
+        rm -f /tmp/dckr-img-err
+    )
+
+    if [ -f /tmp/dckr-img-err ]; then
+        was_error=1
+        echo "ERROR building image: misra:${tag}"
+    fi
+done
+
+if [ "$was_error" == "1" ]; then
+    echo "---------------------------------"
+    echo "At least one image FAILED to build successfully. See the log above for ERRORs."
+    exit 1
+fi