#!/bin/bash # # Copyright 2016-2017 Huawei Technologies Co., Ltd. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # # csit plans root dir ROOT=`git rev-parse --show-toplevel`/autorelease BUILD_DIR=$ROOT/build JJB_DIR=$BUILD_DIR/ci-management/jjb WORKSPACE=`git rev-parse --show-toplevel` PLANS_DIR=`git rev-parse --show-toplevel`/test/csit/plans source $ROOT/scripts/generate-jjbs/workarounds.sh TMPDIR=`mktemp -d --suffix="-docker-log"` $ROOT/scripts/ls-microservice-repos.py | cut -d ' ' -f 1 > $TMPDIR/microservices.txt find $PLANS_DIR -mindepth 1 -maxdepth 1 -type d -printf "%f\n" | sort | while read repo; do OUTFILE=$JJB_DIR/$repo/${repo}-csit.yaml cat > $OUTFILE <<EOF --- - project: name: ${repo}-csit jobs: - 'integration-verify-{project}-csit-{functionality}' - '{project}-csit-{functionality}' project: '${repo}' functionality: EOF find $PLANS_DIR/$repo -mindepth 1 -maxdepth 1 -type d -printf "%f\n" | sort | while read func; do echo $repo / $func cat >> $OUTFILE <<EOF - '${func}': trigger_jobs: EOF docker kill `docker ps -a -q` docker rm `docker ps -a -q` $WORKSPACE/test/csit/run-csit.sh plans/${repo}/${func} mkdir -p $TMPDIR/${repo} cp $WORKSPACE/archives/_docker-images.log $TMPDIR/${repo}/${func}.txt docker kill `docker ps -a -q` docker rm `docker ps -a -q` for image in `grep openoint $TMPDIR/${repo}/${func}.txt | grep -f $TMPDIR/microservices.txt | sort`; do microservice=`echo $image | cut -d '/' -f 2` cat >> $OUTFILE <<EOF - 'integration-${microservice}-merge-docker' EOF done done cat >> $OUTFILE <<EOF robot-options: '' branch: 'master' EOF done echo $TMPDIR