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