60967dee60
If spec helper is available it will run the rake task that is included in [1] otherwise it will install metadata-json-lint and run it manually like the other lint things does. Only runs if the metadata.json file is available so should not require any changes in modules if something is wrong there. [1] https://review.openstack.org/591605 Depends-On: https://review.openstack.org/591605 Change-Id: I60571e919e95327bf56a61bc33298a3810b942f7
40 lines
1.5 KiB
YAML
40 lines
1.5 KiB
YAML
- hosts: all
|
|
tasks:
|
|
- shell:
|
|
cmd: |
|
|
if [ -f Modulefile -o -f metadata.json ]; then
|
|
if [ -f Modulefile ]; then
|
|
MODULE=$(awk '/^name/ {print $NF}' Modulefile |tr -d \"\')
|
|
elif [ -f metadata.json ]; then
|
|
MODULE=$(python -c 'import json;print json.load(open("metadata.json"))["name"]')
|
|
fi
|
|
if [ -z "$MODULE" ]; then
|
|
echo "Module name not defined in Modulefile or metadata.json"
|
|
else
|
|
mkdir -p "$MODULE"
|
|
rsync -a --exclude="$MODULE" --exclude ".*" . "$MODULE"
|
|
cd "$MODULE"
|
|
fi
|
|
fi
|
|
mkdir .bundled_gems
|
|
export GEM_HOME=`pwd`/.bundled_gems
|
|
if [ -f Gemfile ]; then
|
|
gem install bundler --no-rdoc --no-ri --verbose
|
|
$GEM_HOME/bin/bundle install --without system_tests --retry 3
|
|
$GEM_HOME/bin/bundle exec rake lint 2>&1
|
|
if [ -f metadata.json ]; then
|
|
$GEM_HOME/bin/bundle exec rake metadata_lint 2>&1
|
|
fi
|
|
else
|
|
gem install rake -n ./.bundled_gems/
|
|
gem install puppet-lint
|
|
gem install metadata-json-lint -n ./.bundled_gems/ --no-ri --no-rdoc
|
|
gem install puppetlabs_spec_helper
|
|
./.bundled_gems/rake lint 2>&1
|
|
if [ -f metadata.json ]; then
|
|
./.bundled_gems/metadata-json-lint
|
|
fi
|
|
fi
|
|
chdir: '{{ ansible_user_dir }}/workspace'
|
|
environment: '{{ zuul | zuul_legacy_vars }}'
|