Skip to content
Snippets Groups Projects
Jenkinsfile 1.4 KiB
Newer Older
pipeline {
    agent any
    environment {
        VIVADO_PATH='/opt/Xilinx/Vivado/2019.1'
        DOCKER_TAG='finn_ci'
        DOCKER_INST_NAME='finn_ci'
        BUILD_PATH='/tmp/finn_ci'
        VIVADO_IP_CACHE='$BUILD_PATH/vivado_ip_cache'
        DOCKER_CMD="source /root/.bashrc; python setup.py test"
    }
    stages {
        stage("Clone") {
            steps {
                git branch: 'feature/docker_reorg', url: 'https://github.com/Xilinx/finn.git'
            }
        }
      stage('Build') {
            steps {
                sh """
                docker build --no-cache -t $DOCKER_TAG -f docker/Dockerfile.finn_ci \
                --build-arg BUILD_PATH=$BUILD_PATH \
                --build-arg VIVADO_PATH=$VIVADO_PATH \
                docker/
                """
            }
        }
        stage('Test') {
            steps {
                sh """
                docker run --name $DOCKER_INST_NAME \
                --hostname $DOCKER_INST_NAME \
                -e "XILINX_VIVADO=$VIVADO_PATH" \
                -e "SHELL=/bin/bash" \
                -v $VIVADO_PATH:$VIVADO_PATH:ro \
                -e VIVADO_PATH=$VIVADO_PATH \
                -e FINN_INST_NAME=$DOCKER_INST_NAME \
                -e FINN_ROOT="/workspace/finn" \
                -e VIVADO_IP_CACHE="$VIVADO_IP_CACHE" \
                $DOCKER_TAG bash -c "$DOCKER_CMD"
                """
            }
        }
    }
}