system-config/modules/jenkins/files/slave_scripts/check_projects_yaml_alphabetized.sh
Sergey Lukjanov 600e4271dd Fix/improve projects_yaml_alphabetized script
* use 'if ! command; then' condition to check diff
* previously "diff projects_list projects_list.sorted > projects_list.diff"
  command returns exit code 1 and due to the 'bash -xe' it fails execution
* make sort case insensitive

Now this script prints something like:

+ sed -e '/^- project: /!d' -e 's/^- project: //'
modules/openstack_project/templates/review.projects.yaml.erb
+ LC_ALL=C
+ sort projects_list -o projects_list.sorted
+ diff projects_list projects_list.sorted
+ echo 'The following projects should be alphabetized: '
The following projects should be alphabetized:
+ cat projects_list.diff
+ grep -e '> '
> openstack/openstack-doc-tools
> stackforge/cliff
> stackforge/entropy
> stackforge/fuel-devops
> stackforge/MRaaS
> stackforge/puppet_openstack_builder
> stackforge/stevedore
> stackforge/tooz
+ exit 1

Change-Id: Ib6160dc401a70ada16fa961ae8d941b3e8845d4b
2013-12-20 12:39:18 +04:00

26 lines
634 B
Bash
Executable File

#!/bin/bash -xe
# It checks that projects.yaml alphabetized and prints list of projects that
# should be sorted.
export TMPDIR=`/bin/mktemp -d`
trap "rm -rf $TMPDIR" EXIT
pushd $TMPDIR
sed -e '/^- project: /!d' -e 's/^- project: //' \
$OLDPWD/modules/openstack_project/templates/review.projects.yaml.erb \
> projects_list
LC_ALL=C sort --ignore-case projects_list -o projects_list.sorted
if ! diff projects_list projects_list.sorted > projects_list.diff; then
echo "The following projects should be alphabetized: "
cat projects_list.diff | grep -e '> '
exit 1
else
echo "Projects alphabetized."
fi
popd