pipeline {

    parameters {
        string(name: 'DEBIAN_IMAGE', description: 'Which debian build container to use?')
        string(name: 'DEBIAN_VERSION', description: 'The debian version to use.')
    }


    agent {
        docker {
            image "${params.DEBIAN_IMAGE}"
            args '--user root '
        }
    }


    stages {

        stage('clean') {
            steps {
                //Remove the old *.changes,*.dsc,*.deb,*.tar.*,*.diff. files
                sh 'rm -f advligorts-rt-bench*'
                sh 'rm -f advligo-rt-bench*'
            }
        }

        stage('install dependencies') {
            steps {
                sh 'apt update -y && apt upgrade -y'
                sh 'apt install -y wget'
                sh "wget -c http://apt.ligo-wa.caltech.edu/debian/pool/${DEBIAN_VERSION}-unstable/cdssoft-release-${DEBIAN_VERSION}/cdssoft-release-${DEBIAN_VERSION}.deb"
                sh 'dpkg -i cdssoft-release-${DEBIAN_VERSION}.deb'
                sh 'rm cdssoft-release-*'
                sh 'apt update -y'
                sh 'apt install -y devscripts build-essential lintian dkms git-buildpackage'
                sh 'apt install -y advligorts-cpu-isolator-dkms'
            }

        }

        stage('build') {
            steps {
               
                dir ('repo') {
                    sh "gbp buildpackage --git-ignore-branch --git-debian-branch=debian/${DEBIAN_VERSION} --git-upstream-branch=main --git-upstream-tag='%(version)s' -uc -us"
                }
                
            }
            post {
                success {
                    archiveArtifacts artifacts: '*.changes,*.dsc,*.deb,*.tar.*,*.diff.*', fingerprint: true
                }
            }

        }

        stage('test install') {
            steps {
                sh 'apt install -y ./advligorts-rt-bench-dkms*.deb'
            }
        }


    }
}
