Commit 9006639a authored by nimrod's avatar nimrod
Browse files

- Added Tox env to import role to Ansible Galaxy.

- Updated Jenkinsfile to use Tox.
parent 0dacdea4
Loading
Loading
Loading
Loading
+21 −8
Original line number Diff line number Diff line
/*
Jenkins pipeline for testing an Ansible role.
Required software on the agent:
- Python 2.7.
- Tox.
- Vagrant.
- Virtualbox.
*/
pipeline {
    agent any
    environment {
        VBOX_HWVIRTEX       = off
    }
    stages {
        stage('install') {
            steps {
                sh 'git submodule update --init'
                sh 'virtualenv example'
                sh '. example/bin/activate && pip install -r tests/requirements.txt'
                sh '. example/bin/activate && ansible-galaxy install git+file://$(pwd),$(git rev-parse --abbrev-ref HEAD) -p .molecule/roles'
                sh '. example/bin/activate && molecule dependency'
                sh 'git submodule update --init --recursive'
            }
        }
        stage('test') {
            steps {
                sh '. example/bin/activate && pre-commit run --all-files'
                // sh '. example/bin/activate && molecule test --platform all'
                parallel (
                    'pre-commit': {
                        sh 'tox -e pre-commit'
                    }
                    'molecule': {
                        sh 'tox'
                    }
                )
            }
        }
    }
    post {
        success {
            sh '. example/bin/activate && ansible-galaxy import -v'
            sh 'tox -e import'
        }
    }
}
+5 −0
Original line number Diff line number Diff line
@@ -24,3 +24,8 @@ commands =
    sh -c "ansible-galaxy install git+file://$(pwd),$(git rev-parse --abbrev-ref HEAD) -p .molecule/roles"
    molecule dependency
    pre-commit run --all-files

[testenv:import]
envdir = {toxinidir}/.tox/molecule
deps = -rtests/requirements.txt
commands = ansible-galaxy import -v