Skip to content
Snippets Groups Projects
Select Git revision
  • 2130d5935c32a868fa421c818bb3b1a82b0fedea
  • dev default protected
  • new_pvl_core
  • 8.0-test
  • lts-testing
  • revert-5695-ideal_serial
  • 9.0
  • 9.0.0_RC2
  • 8.0
  • 8.0.5_LTS
  • code8.3.0
  • 9.0.0
  • 9.0.0_RC1
  • gdal_pvl
  • Kelvinrr-patch-3
  • Kelvinrr-patch-2
  • 8.3
  • pvl_core
  • 8.2
  • 8.1
  • Kelvinrr-patch-1
  • 8.0.4
  • 8.3.0
  • 8.2.0
  • 8.1.0
  • 8.0.3
  • 8.0.2
  • 8.0.1
  • 8.0.0
  • 8.1.0_RC2
  • 8.1.0_RC1
  • 8.0.0_RC2
  • 8.0.0_RC1
  • 7.2.0
  • 7.1.0
  • 7.0.0
  • 7.2.0_RC1
  • 7.1.0_RC1
  • 7.0.0_RC2
  • 7.0.0_RC1
  • 6.0.0
41 results

Jenkinsfile

Blame
    • Bojun's avatar
      2130d593
      Update instructions on downloadIsisData and conda install in README (#5159) · 2130d593
      Bojun authored
      * Update downloadIsisData in README
      
      The ISIS SPICE Web Service section still uses rsync, updated to downloadIsisData, and added some instructions for using downloadIsisData
      
      * Add channel_priority setting to README
      
      channel_priority=strict would cause package conflicts
      
      * Update .zenodo.json
      
      * Update CHANGELOG.md
      
      * Update CHANGELOG.md
      
      * Update Jenkinsfile setting channel_priority
      Update instructions on downloadIsisData and conda install in README (#5159)
      Bojun authored
      * Update downloadIsisData in README
      
      The ISIS SPICE Web Service section still uses rsync, updated to downloadIsisData, and added some instructions for using downloadIsisData
      
      * Add channel_priority setting to README
      
      channel_priority=strict would cause package conflicts
      
      * Update .zenodo.json
      
      * Update CHANGELOG.md
      
      * Update CHANGELOG.md
      
      * Update Jenkinsfile setting channel_priority
    Jenkinsfile 4.54 KiB
    // vim: ft=groovy
    
    def NUM_CORES = 8
    def errors = []
    
    pipeline {
        agent {
            docker { 
                    image '950438895271.dkr.ecr.us-west-2.amazonaws.com/asc-jenkins' 
                    registryCredentialsId 'ecr:us-west-2:Jenkins-Manager-Role'
                    registryUrl 'https://950438895271.dkr.ecr.us-west-2.amazonaws.com'
                    args '--entrypoint= -v /astro_efs:/astro_efs'
                   }
        }
        environment {
            ISISDATA        =   '/astro_efs/isis_data'
            ISISTESTDATA    =   '/astro_efs/isis_testData'
            MALLOC_CHECK_   =   1
            ISISROOT        =   "${env.WORKSPACE}/build"
            KAKADU_HEADERS  =   '/astro_efs/kakadu_7_9'
        }
        
        stages {
            stage('Environment Setup') {
                steps {
                    sh '''
                    . /home/conda/mambaforge3/etc/profile.d/conda.sh > /dev/null
                    echo "ISISROOT: ${ISISROOT}"
                    
                    conda create -y -n isis
                    conda activate isis > /dev/null
                    conda config --env --set channel_priority flexible
                    conda install -c conda-forge python=3 findutils
                    mamba env update -f environment.yml --prune
                    conda activate isis
                    mamba install -c conda-forge git
                    git submodule update --init --recursive
                    conda list
                    '''
                }
            }
            stage('Build') {
                steps {
                    sh '''
                    . /home/conda/mambaforge3/etc/profile.d/conda.sh > /dev/null
                    conda activate isis > /dev/null
                    mkdir -p build install
                    cd build
                    cmake -GNinja -DJP2KFLAG=ON  \
                          -DKAKADU_INCLUDE_DIR=${KAKADU_HEADERS} \
                          -Dpybindings=OFF \
                          -DCMAKE_BUILD_TYPE=RELEASE \
                          -DCMAKE_INSTALL_PREFIX=${CONDA_PREFIX} \
                          ../isis
                    ninja -j 8 install
                    '''
                }
            }
            stage('GTests') {
                steps {
                    catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
                        sh '''
                        . /home/conda/mambaforge3/etc/profile.d/conda.sh > /dev/null
                        conda activate isis > /dev/null
                        cd build
                        ctest -R '.' -E '(_app_|_unit_|_module_)' -j 8 --output-on-failure --timeout 10000
                        '''
                    }
                }
            }
            stage('Unit Tests') {
                steps {
                    catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
                        sh '''
                        . /home/conda/mambaforge3/etc/profile.d/conda.sh > /dev/null
                        conda activate isis > /dev/null
                        cd build
                        ctest -R _unit_ -j 8 --output-on-failure
                        '''
                    }
                }
            }
            stage('App Tests') {
                steps {
                    catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
                        sh '''
                        . /home/conda/mambaforge3/etc/profile.d/conda.sh > /dev/null
                        conda activate isis > /dev/null
                        cd build
                        ctest -R _app_ -j 8 --output-on-failure --timeout 10000
                        '''
                    }
                }
            }
            stage('Module Tests') {
                steps {
                    catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
                        sh '''
                        . /home/conda/mambaforge3/etc/profile.d/conda.sh > /dev/null
                        conda activate isis > /dev/null
                        cd build
                        ctest -R _module_ -j 8 --output-on-failure --timeout 10000
                        '''
                    }
                }
            }
            stage('Py Tests') {
                environment {
                    PATH            =   "${env.WORKSPACE}/install/bin:${env.PATH}"
                }
                steps {
                    catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
                        sh '''
                        . /home/conda/mambaforge3/etc/profile.d/conda.sh > /dev/null
                        conda activate isis > /dev/null
                        cd build
                        cd $WORKSPACE/isis/pytests 
                        pytest .
    
                        '''
                    }
                }
            }
            stage('Deploy') {
                steps {
                    sh '''
                    echo "This is where deploy would happen."
                    '''
                }
            }
        }
    }