pipeline {
    agent none

    environment {
        RACK_ENV  = "test"
        RAILS_ENV = "test"
    }

    stages {
        stage("Run tests") {
            parallel {
                stage("onapp-engine") {
                    agent {
                        docker {
                            image 'docker.io/nahaylo/onapp-5-ruby'
                            args '-u root:root'
                        }
                    }
                    post {
                        always {
                            archiveArtifacts "rspec_results/onapp-engine-results.xml"
                            junit "rspec_results/onapp-engine-results.xml"
                            sh "find . -delete"
                            deleteDir()
                        }
                    }
                    steps {
                        sshagent (credentials: ['7ce580c0-7d01-412f-bff1-485b4ca6196a']) {
                            sh "/etc/init.d/redis start"
                            sh "/etc/init.d/rabbitmq-server start"

                            sh "ssh-keyscan bitbucket.org >> /root/.ssh/known_hosts"
                            sh "ssh-keyscan github.com >> /root/.ssh/known_hosts"

                            sh "bundle install"
                            sh "bundle exec rspec spec --format RspecJunitFormatter --out rspec_results/onapp-engine-results.xml --deprecation-out /dev/null --profile=100"
                        }
                    }
                }
            }
        }
    }
}
