Commit 9c838f9d authored by Christopher Ryan Combs Jr's avatar Christopher Ryan Combs Jr Committed by Kelvin Rodriguez
Browse files

Added support for dockerized ISIS (#29)

* Added Jenkinsfile for testing of Pipeline build

* Debugging Jenkinsfile #1

* Debugging Jenkinsfile #2

* Debugging Jenkinsfile #3

* Debugging Jenkinsfile #4

* Debugging Jenkinsfile #5

* Debugging Jenkinsfile #6

* Debugging Jenkinsfile #7

* Debugging Jenkinsfile #8

* Debugging Jenkinsfile #9

* Debugging Jenkinsfile #10

* typo in ctest line

* Debugging Jenkinsfile #11

* Debugging Jenkinsfile 12

* Debugging Jenkinsfile 13

* Debugging Jenkinsfile 14

* Debugging Jenkinsfile 15

* Debugging Jenkinsfile 16

* Update Jenkinsfile

* Debugging Jenkinsfile 18

* Update Jenkinsfile

* Debugging Jenkinsfile 20

* Debugging Jenkinsfile 21

Reverted to 16

* Debugging Jenkinsfile 22

* Debugging Jenkinsfile 24

* Debuggin Jenkinsfile 25

* Debugging Jenkinsfile 26

* Debugging Jenkinsfile 27

* Debugging Jenkinsfile 28

* Debugging Jenkinsfile 29

* Debugging Jenkinsfile 30

* Debugging Jenkinsfile 31

* Debugging Jenkinsfile 32

* Debugging Jenkinsfile 32

* Debugging Jenkinsfile 33

* Debugging Jenkinsfile 34

* Debugging Jenkinsfile 34

* Debugging Jenkinsfile 35

* Debugging Jenkinsfile 36

* Debugging Jenkinsfile 36

* Debugging Jenkinsfile 37

* Debugging Jenkinsfile 38

* Debugging Jenkinsfile 39

* Debugging Jenkinsfile 40

* Debugging Jenkinsfile 41

* Debugging Jenkinsfile 41

* Debugging Jenkinsfile 42

* Debugging Jenkinsfile 43

* Debugging Jenkinsfile 44

* Debugging Jenkinsfile 45

* Debugging Jenkinsfile 46

* Debugging Jenksinsfile 47

* Debugging Jenkinsfile 48

* Debugging Jenk file 49

* Debugging Jenkinsfile 50

* Debugging Jenkinsfile 51

* Debugging Jenkinsfile 52

* Debugging Jenkinsfile

* Update Jenkinsfile

* Update Jenkinsfile

* Update Jenkinsfile

* Update FindSuperLU.cmake

* Update Jenkinsfile

* Update Jenkinsfile

* Update Jenkinsfile

* Update Jenkinsfile

* Update Jenkinsfile

* Update Jenkinsfile

* Update Jenkinsfile

* Update Jenkinsfile

* Update Jenkinsfile

* Update Jenkinsfile

* Update Jenkinsfile

* Update Jenkinsfile

* Update Jenkinsfile

* Update Jenkinsfile

* Update Jenkinsfile

* Create Dockerfile

* Update Jenkinsfile

* Update Dockerfile

* Update Dockerfile

* Update Jenkinsfile

* Update Jenkinsfile

* Update Jenkinsfile

* Update Jenkinsfile

* Fixed reversal of mac and linux geos find-versions

* Update FindAllDependencies.cmake

* Revert of mac/linux find version reversal

* Update FindCholmod.cmake

* Update FindAllDependencies.cmake

* Added /lib64 to include path for docker

* Update FindAllDependencies.cmake

* Update Jenkinsfile

* Update Jenkinsfile

* Update Jenkinsfile

* Removed bug with find kakadu

* Update Jenkinsfile

* Added find for opengl

* Fixed issue with kakadu namespace

* Update FindOpenGL.cmake

* Update FindOpenGL.cmake

* Update CMakeLists.txt

* Update CMakeLists.txt

* Update FindOpenGL.cmake

* Update CMakeLists.txt

* Update FindOpenGL.cmake

* Update FindOpenGL.cmake

* Update Jenkinsfile

* Update FindCholmod.cmake

* Update Jenkinsfile

* Update Jenkinsfile

* Added Set for isisroot

* Update Jenkinsfile

* Update Jenkinsfile

* Update Jenkinsfile

* Update Jenkinsfile

* Update Jenkinsfile

* Update Jenkinsfile

* Update Jenkinsfile

* Update Jenkinsfile

* Update Jenkinsfile

* Update Jenkinsfile

* Update Jenkinsfile

* Update Jenkinsfile

* Update Jenkinsfile

* Update Jenkinsfile

* Update Jenkinsfile

* Update Jenkinsfile

* Update Jenkinsfile

* Update Jenkinsfile

* Update Jenkinsfile

* Update Jenkinsfile

* Update Jenkinsfile

* Update Jenkinsfile

* Update Jenkinsfile

* Update Jenkinsfile

* Update Jenkinsfile

* Debugging TestPreferences

* Update Jenkinsfile

* Update Jenkinsfile

* Update Jenkinsfile

* Debugging TestPreferences for docker

* Update Jenkinsfile

* Update Jenkinsfile

* Update Jenkinsfile

* Update Jenkinsfile

* Update Jenkinsfile

* Update Jenkinsfile

* Update Jenkinsfile

* Update Jenkinsfile

* Update Jenkinsfile

* Update Jenkinsfile

* Update Jenkinsfile

* Added app tests and module tests

* Update Jenkinsfile

* Update Jenkinsfile

* Update Jenkinsfile

* Update Jenkinsfile

* Update Jenkinsfile

* Update Jenkinsfile

* Update Jenkinsfile

* Update Jenkinsfile

* Update Jenkinsfile

* Update Jenkinsfile

* Update Jenkinsfile

* Update Jenkinsfile

* Update Jenkinsfile

* Update Jenkinsfile

* Update Jenkinsfile

* Update Jenkinsfile

* Update RunMakeFileTest.cmake

* Debugging find for truth data dir

* Update Jenkinsfile

* Remove verbose setting ctest

* Debugging dockerized jenkins apptests

* Debugging dockerized jenkins apptests

* Debugging dockerized jenkins apptests

* Update isismake.tsts

* Debugging dockerized jenkins apptests

* Debugging dockerized jenkins apptests

* Added environment variables for testing

* Removed Dockerfile

* Fixed issues with test output directory

* Commented out debug statements

* Added fix to prevent early exit on failed build

* Update Jenkinsfile

* Update Jenkinsfile

* Update Jenkinsfile
parent 7429e73a
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -10,7 +10,6 @@ cmake_minimum_required(VERSION 3.4)
# Point cmake to our other CMake files.
list(APPEND CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake")

# always look for framworks last
set(CMAKE_FIND_FRAMEWORK LAST)

include(AddIsisModule)
@@ -109,6 +108,7 @@ endif()

if(${testOutputDir} STREQUAL "OFF")
  message("Writing test data folders to = ${CMAKE_BINARY_DIR}/testOutputDir")
  set(testOutputDir "${CMAKE_BINARY_DIR}/testOutputDir")
  execute_process(COMMAND mkdir -p ${CMAKE_BINARY_DIR}/testOutputDir)
else()
  # User specified a test output folder, make sure it exists.

isis/Jenkinsfile

0 → 100644
+62 −0
Original line number Diff line number Diff line
pipeline { 
    agent {
        docker {
            label 'cmake'
            image 'chrisryancombs/docker_isis'
            args  '''\
                    -v /usgs/pkgs/local/v007:/usgs/pkgs/local/v007 \
                    -v /usgs/cpkgs/isis3/data:/usgs/cpkgs/isis3/data \
                    -v /usgs/cpkgs/isis3/testData:/usgs/cpkgs/isis3/testData\
                  '''  
        }
    }
    environment {
        ISISROOT="${workspace}" + "/build/"
        ISIS3TESTDATA="/usgs/cpkgs/isis3/testData/"
        ISIS3DATA="/usgs/cpkgs/isis3/data/"
    }
    stages {
        stage('Config') { 
            steps { 
                sh """
                    mkdir -p ./install ./build && cd build
                    cmake -GNinja -DCMAKE_INSTALL_PREFIX=../install -Disis3Data=/usgs/cpkgs/isis3/data -Disis3TestData=/usgs/cpkgs/isis3/testData ../isis \
                   """
            }
        }
        stage('Build') { 
            steps {
                sh """
                    set +e
                    cd build
                    ninja -j8 && ninja install
                   """
            }
        }
        stage('Test'){
            steps {
                sh """
                    export PATH="${PATH}:${ISISROOT}/bin"
                    set +e
                    cd build
                    ctest -j8 -R _unit_ 
                    ctest -j8 -R _app_ 
                    ctest -j8 -R _module_ 
                   """
            }
        }
    }
//    post {
//        success {
//            sh 'pwd && ls'
//            archiveArtifacts artifacts: "build/objects/*.o"
//        }
//        always {
//            mail to: 'ccombs@usgs.gov',
//                    subject: "Build Finished: ${currentBuild.fullDisplayName}",
//                    body: "Link: ${env.BUILD_URL}"
//            sh "rm -rf build/* && rm -rf install/*"
//            cleanWs()
//        }
//    }
}
+2 −5
Original line number Diff line number Diff line
@@ -71,10 +71,6 @@ find_program(PROTOC protoc REQUIRED)

include(FindProtobuf)


find_package(Geos 3.5.0 REQUIRED)


if(APPLE)
  find_package(OpenGL            REQUIRED)
  find_package(Qt5 COMPONENTS
@@ -175,6 +171,7 @@ find_package(HDF5 1.8.15 REQUIRED)
find_package(Jama      125     REQUIRED) # Jama version is 1.2.5, but v007 directory is "jama/jama125/"
find_package(NN                REQUIRED)
find_package(OpenCV    3.1.0   REQUIRED)
find_package(OpenGL            REQUIRED)
find_package(PCL       1.8     REQUIRED) # "pcl-${PCL_FIND_VERSION}"
find_package(Protobuf  2.6.1   REQUIRED) # "google-protobuf/protobuf${Protobuf_FIND_VERSION}/"
find_package(Qwt       6       REQUIRED) # "qwt${Qwt_FIND_VERSION}"
@@ -376,7 +373,7 @@ foreach(lib ${RAW_DYNAMIC_LIBS})
  endif()
endforeach()

message("THIRDPARTYLIBS = ${THIRDPARTYLIBS}")
# message("THIRDPARTYLIBS = ${THIRDPARTYLIBS}")

# Plugins
file(GLOB_RECURSE THIRDPARTYPLUGINS "${PLUGIN_DIR}/*${SO}")
+8 −6
Original line number Diff line number Diff line
@@ -25,12 +25,14 @@ endif()
# Dependencies for lapack

# add gcc location for MacOS
# if(APPLE)
  find_library(FORTRAN_LIBRARY      NAMES gfortran
    NAMES gfortran
    PATHS /opt/usgs/v007/ports/lib/gcc5/
  )

  find_library(BLAS_LIBRARY NAMES blas)
# endif(APPLE)

get_filename_component(CHOLMOD_ROOT_INCLUDE_DIR "${CHOLMOD_INCLUDE_DIR}" DIRECTORY)

+27 −0
Original line number Diff line number Diff line
# CMake module for find_package(OpenGL)
# Finds include directory and all applicable libraries
#
# Sets the following:
#   KAKADU_INCLUDE_DIR
#   KAKADU_A_LIBRARY
#   KAKADU_V_LIBRARY

find_path(OPENGL_INCLUDE_DIR
  NAME gl.h
  PATH_SUFFIXES GL
  HINTS GL
)

find_library(GL_LIBRARY
  NAMES GL
)

find_library(GLU_LIBRARY
  NAMES GLU
)
message("==================")
message(${OPENGL_INCLUDE_DIR})
message(${GL_LIBRARY})
message(${GLU_LIBRARY})

get_filename_component(OPENGL_INCLUDE_DIR "${OPENGL_INCLUDE_DIR}" DIRECTORY)
Loading