yegor256/thindeck

View on GitHub
.rultor.yml

Summary

Maintainability
Test Coverage
assets:
  id_rsa: yegor256/home#assets/heroku-key
  settings.xml: yegor256/home#assets/thindeck/settings.xml
  id_rsa.pub: yegor256/home#assets/heroku-key.pub
  s3cfg: yegor256/home#assets/s3cfg
env:
  MAVEN_OPTS: -XX:MaxPermSize=256m -Xmx1g
install: |-
  sudo locale-gen en_US en_US.UTF-8
  export LC_ALL=en_US.UTF-8
  export LANG=en_US.UTF-8
  export LANGUAGE=en_US.UTF-8
  sudo gem install pdd -v 0.20.5
  sudo gem install est -v 0.3.4
  git clone --depth=1 https://github.com/n1k0/casperjs.git /tmp/casperjs
  export PATH=$PATH:/tmp/casperjs/bin
merge:
  script: |-
    export PATH=$PATH:/tmp/casperjs/bin
    mvn clean install -Ptomcat-test -Pqulice --errors --settings ../settings.xml
    mvn clean site -Psite --errors --settings ../settings.xml
    mvn clean
    pdd --source=$(pwd) --verbose --file=/dev/null --rule min-words:2 --rule min-estimate:15
deploy:
  script: |-
    mvn clean install -Prultor --settings ../settings.xml
    s3cmd --no-progress put target/requs/requs.xml --config=../s3cfg s3://requs.teamed.io/thideck.xml
    mvn clean
    pdd --source=$(pwd) --verbose --file=thindeck.xml
    s3cmd --no-progress put thindeck.xml --config=../s3cfg s3://pdd.teamed.io/thindeck.xml
    est --dir=$(pwd)/est --verbose --file=thindeck.xml --format=xml
    s3cmd --no-progress put thindeck.xml --config=../s3cfg s3://est.teamed.io/thindeck.xml
release:
  script: |-
    mvn versions:set "-DnewVersion=${tag}"
    git commit -am "${tag}"
    mv ../settings.xml settings.xml
    mvn clean install -Ptomcat-test -Pqulice --errors
    git remote add dokku dokku@beta.thindeck.com:thindeck
    mkdir ~/.ssh
    mv ../id_rsa ../id_rsa.pub ~/.ssh
    chmod -R 600 ~/.ssh/*
    echo -e "Host *\n  StrictHostKeyChecking no\n  UserKnownHostsFile=/dev/null" > ~/.ssh/config
    build=$(git rev-parse --short HEAD)
    sed -i "s/BUILD/${build}/g" src/main/resources/META-INF/MANIFEST.MF
    sed -i "s/BUILD/${build}/g" src/main/resources/log4j.properties
    git add src/main/resources/META-INF/MANIFEST.MF
    git add src/main/resources/log4j.properties
    git commit -m 'build number set'
    git add settings.xml
    git commit -m 'settings.xml'
    git push -f dokku $(git symbolic-ref --short HEAD):master
    git reset HEAD~1
    curl -f --connect-timeout 15 --retry 5 --retry-delay 30 http://beta.thindeck.com
    mvn clean site-deploy -Psite --settings settings.xml || echo 'failed to deploy site'