internetee-registry/bin/robot
2017-05-01 15:33:42 +03:00

66 lines
1.4 KiB
Bash
Executable file

#!/bin/bash
#
# Build and run for automatic tests
#
# fail later
set -o pipefail
# default locations
export LANGUAGE=en_US.UTF-8
export LANG=en_US.UTF-8
export LC_ALL=en_US.UTF-8
export RAILS_ENV=test
# cd to Rails root directory
cd "$(dirname "$0")"; cd ..
cp config/application-example.yml config/application.yml
cp config/secrets-example.yml config/secrets.yml
cp config/database-robot.yml config/database.yml
# Under jenkins admin interface use rbenv-plugin wrapper
# rbenv does not have bundler by default
if echo gem list --local bundler | grep -q "bundler"
then echo 'bundler ok: already installed'
else
echo 'Installing bundler...'
gem install bundler
fi
bundle install
RAILS_ENV=test bundle exec rake db:all:drop
RAILS_ENV=test bundle exec rake db:all:setup
echo "GIT_LAST_COMMITS"
git log --pretty='%s (%cn, %cr)' --abbrev-commit --graph --decorate -n 20 --no-color
echo "END_OF_GIT_LAST_COMMITS"
echo "RUBOCOP_RESULTS"
bundle exec rubocop -D
RCODE=$?
echo "END_OF_RUBOCOP_RESULTS"
echo "TEST_RESULTS"
# basic tests without EPP
# ROBOT=true bundle exec rake
# all tests with EPP
ROBOT=true bundle exec rake test
TCODE=$?
echo "END_OF_TEST_RESULTS"
echo "SECURITY_RESULTS"
bundle exec bundle-audit update
bundle exec bundle-audit
BCODE=$?
BCODE=0 # tmp
bundle exec brakeman -q
echo "END_OF_SECURITY_RESULTS"
if [ $RCODE == 0 ] && [ $TCODE == 0 ] &&[ $BCODE == 0 ]; then
exit 0
else
echo "ROBOTEXITWITHFAILURE"
exit 1
fi