Commit e19024b2 authored by Stuart Sides's avatar Stuart Sides
Browse files

Merge branch 'dev' of github.com:USGS-Astrogeology/ISIS3 into dev

parents 0609a282 3943057b
Loading
Loading
Loading
Loading
+102 −69
Original line number Diff line number Diff line
pipeline { 
    agent none 
    environment {
        ISISROOT="${workspace}" + "/build/"
        ISIS3TESTDATA="/usgs/cpkgs/isis3/testData/"
        ISIS3DATA="/usgs/cpkgs/isis3/data/"
    }
    stages {
        stage('Fedora25') {
            agent {
                docker {
                    label 'cmake'
                    image 'chrisryancombs/docker_isis'
                    args  '''\
                            -v /usgs/cpkgs/isis3/data:/usgs/cpkgs/isis3/data \
                            -v /usgs/cpkgs/isis3/testData:/usgs/cpkgs/isis3/testData\
                            -v /usgs/cpkgs/isis3/isis3mgr_scripts:/usgs/cpkgs/isis3/isis3mgr_scripts
                          '''  
                }
            }
            steps { 
                sh """
                    conda env create -n isis3 -f environment.yml
                    source activate isis3
                    mkdir -p ./install ./build && cd build
                    source /usgs/cpkgs/isis3/isis3mgr_scripts/initIsisCmake.sh .
                    cmake -GNinja -DJP2KFLAG=OFF -Dpybindings=OFF -DCMAKE_INSTALL_PREFIX=../install -Disis3Data=/usgs/cpkgs/isis3/data -Disis3TestData=/usgs/cpkgs/isis3/testData ../isis
                    set +e
                    ninja -j8 && ninja install
                    source /usgs/cpkgs/isis3/isis3mgr_scripts/initIsisCmake.sh .
                    ctest -V -R _unit_ --timeout 500
                    ctest -V -R _app_ --timeout 500
                    ctest -V -R _module_ --timeout 500
                    """
            }
        }
        stage('CentOS7') {
            agent {
                docker {
                    label 'cmake_cool'
                    image 'chrisryancombs/docker_isis_centos'
                    args  '''\
                            -v /usgs/cpkgs/isis3/data:/usgs/cpkgs/isis3/data \
                            -v /usgs/cpkgs/isis3/testData:/usgs/cpkgs/isis3/testData\
                            -v /usgs/cpkgs/isis3/isis3mgr_scripts:/usgs/cpkgs/isis3/isis3mgr_scripts
                          '''  
                }
            }
            steps {
                sh """
                    conda env create -n isis3 -f environment.yml
                    source activate isis3
                    cd build
                    set +e
                    source /usgs/cpkgs/isis3/isis3mgr_scripts/initIsisCmake.sh .
                    ctest -V -R _unit_ --timeout 500
                    ctest -V -R _app_ --timeout 500
                    ctest -V -R _module_ --timeout 500
                """
            }
        }
    }
//    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()
//        }
//    }
properties([pipelineTriggers([githubPush()])])

def nodes = [:]

nodes["isis-fedora-25"] = {
    node("isis-fedora-25") {
        withEnv(["ISISROOT=" + "${workspace}" + "/build/", "ISIS3TESTDATA=/usgs/cpkgs/isis3/testData/", "ISIS3DATA=/usgs/cpkgs/isis3/data/"]) {
            stage ("Fedora 25") {
                git branch: 'dev', url: 'https://github.com/USGS-Astrogeology/ISIS3.git'
//                sh """
//                    git clone https://github.com/abseil/googletest.git gtest
//                    sed -i "s|usgs-astrogeology|http://astro-bin.wr.usgs.gov/conda-usgs-astrogeology|" environment.yml
//                    sed -i "s|conda-forge|http://astro-bin.wr.usgs.gov/conda-forge|" environment.yml
//                    sed -i "s|defaults|http://astro-bin.wr.usgs.gov/conda|" environment.yml
//                    conda env create -n isis3 -f environment.yml
//                    source activate isis3
//                    mkdir -p ./install ./build && cd build
//                    cmake -GNinja -DJP2KFLAG=OFF -Dpybindings=OFF -DCMAKE_INSTALL_PREFIX=../install -Disis3Data=/usgs/cpkgs/isis3/data -Disis3TestData=/usgs/cpkgs/isis3/testData ../isis
//                    set +e
//                    ninja -j8 && ninja install
//                    source /usgs/cpkgs/isis3/isis3mgr_scripts/initIsisCmake.sh .
//                    ctest -V -R _unit_ --timeout 500
//                    ctest -V -R _app_ --timeout 500
//                    ctest -V -R _module_ --timeout 500
//                """
            }
        }
    }
}

nodes["isis-centos-7"] = {
    node("isis-centos-7") {
        withEnv(["ISISROOT=" + "${workspace}" + "/build/", "ISIS3TESTDATA=/usgs/cpkgs/isis3/testData/", "ISIS3DATA=/usgs/cpkgs/isis3/data/"]) {
            stage ("CentOS 7") {
                git branch: 'dev', url: 'https://github.com/USGS-Astrogeology/ISIS3.git'
//                sh """
//                    git clone https://github.com/abseil/googletest.git gtest
//                    sed -i "s|usgs-astrogeology|http://astro-bin.wr.usgs.gov/conda-usgs-astrogeology|" environment.yml
//                    sed -i "s|conda-forge|http://astro-bin.wr.usgs.gov/conda-forge|" environment.yml
//                    sed -i "s|defaults|http://astro-bin.wr.usgs.gov/conda|" environment.yml
//                    conda env create -n isis3 -f environment.yml
//                    source activate isis3
//                    mkdir -p ./install ./build && cd build
//                    cmake -GNinja -DJP2KFLAG=OFF -Dpybindings=OFF -DCMAKE_INSTALL_PREFIX=../install -Disis3Data=/usgs/cpkgs/isis3/data -Disis3TestData=/usgs/cpkgs/isis3/testData ../isis
//                    set +e
//                    ninja -j8 && ninja install
//                    source /usgs/cpkgs/isis3/isis3mgr_scripts/initIsisCmake.sh .
//                    ctest -V -R _unit_ --timeout 500
//                    ctest -V -R _app_ --timeout 500
//                    ctest -V -R _module_ --timeout 500
//                """
            }
        }
    }
}

nodes["isis-debian-9"] = {
    node("isis-debian-9") {
        withEnv(["ISISROOT=" + "${workspace}" + "/build/", "ISIS3TESTDATA=/usgs/cpkgs/isis3/testData/", "ISIS3DATA=/usgs/cpkgs/isis3/data/"]) {
            stage ("Debian 9") {
                git branch: 'dev', url: 'https://github.com/USGS-Astrogeology/ISIS3.git'
//                sh """
//                    git clone https://github.com/abseil/googletest.git gtest
//                    sed -i "s|usgs-astrogeology|http://astro-bin.wr.usgs.gov/conda-usgs-astrogeology|" environment.yml
//                    sed -i "s|conda-forge|http://astro-bin.wr.usgs.gov/conda-forge|" environment.yml
//                    sed -i "s|defaults|http://astro-bin.wr.usgs.gov/conda|" environment.yml
//                    conda env create -n isis3 -f environment.yml
//                    source activate isis3
//                    mkdir -p ./install ./build && cd build
//                    cmake -GNinja -DJP2KFLAG=OFF -Dpybindings=OFF -DCMAKE_INSTALL_PREFIX=../install -Disis3Data=/usgs/cpkgs/isis3/data -Disis3TestData=/usgs/cpkgs/isis3/testData ../isis
//                    set +e
//                    ninja -j8 && ninja install
//                    source /usgs/cpkgs/isis3/isis3mgr_scripts/initIsisCmake.sh .
//                    ctest -V -R _unit_ --timeout 500
//                    ctest -V -R _app_ --timeout 500
//                    ctest -V -R _module_ --timeout 500
//                """
            }
        }
    }
}

nodes["isis-ubuntu-1804"] = {
    node("isis-ubuntu-1804") {
        withEnv(["ISISROOT=" + "${workspace}" + "/build/", "ISIS3TESTDATA=/usgs/cpkgs/isis3/testData/", "ISIS3DATA=/usgs/cpkgs/isis3/data/"]) {
            stage ("Ubuntu 18.04") {
                git branch: 'dev', url: 'https://github.com/USGS-Astrogeology/ISIS3.git'
//                sh """
//                    git clone https://github.com/abseil/googletest.git gtest
//                    sed -i "s|usgs-astrogeology|http://astro-bin.wr.usgs.gov/conda-usgs-astrogeology|" environment.yml
//                    sed -i "s|conda-forge|http://astro-bin.wr.usgs.gov/conda-forge|" environment.yml
//                    sed -i "s|defaults|http://astro-bin.wr.usgs.gov/conda|" environment.yml
//                    conda env create -n isis3 -f environment.yml
//                    source activate isis3
//                    mkdir -p ./install ./build && cd build
//                    cmake -GNinja -DJP2KFLAG=OFF -Dpybindings=OFF -DCMAKE_INSTALL_PREFIX=../install -Disis3Data=/usgs/cpkgs/isis3/data -Disis3TestData=/usgs/cpkgs/isis3/testData ../isis
//                    set +e
//                    ninja -j8 && ninja install
//                    source /usgs/cpkgs/isis3/isis3mgr_scripts/initIsisCmake.sh .
//                    ctest -V -R _unit_ --timeout 500
//                    ctest -V -R _app_ --timeout 500
//                    ctest -V -R _module_ --timeout 500
//                """
            }
        }
    }
}

parallel nodes
+54 −50
Original line number Diff line number Diff line
@@ -34,20 +34,31 @@ you must <em>not</em> upgrade the ISIS Data Files!!!
    <ol>
      <li>Download either the Anaconda or Miniconda installation script for your OS platform.  Anaconda is a much larger distribtion of packages supporting scientific python, while Miniconda is a minimal installation and not as large:
      <a href="https://www.anaconda.com/download">Anaconda installer</a>, <a href="https://conda.io/miniconda.html">Miniconda installer</a></li>
      <li>If you are running on some variant of Linux, open a terminal window in the directory where you downloaded the script, and run the following commands.  In this example, we chose to do a full install of Anaconda, and our OS is Linux-based.  Your file name may be different depending on your environment.</li>

      <li>If you are running on some variant of Linux, open a terminal window in the directory where you downloaded the script, and run the following commands.  In this example, we chose to do a full install of Anaconda, and our OS is Linux-based.  Your file name may be different depending on your environment.
        <pre>
          <strong>chmod +x Anaconda3-5.2.0-Linux-x86_64.sh</strong>
          <strong>./Anaconda3-5.2.0-Linux-x86_64.sh</strong>
        </pre>

        This will start the Anaconda installer which will guide you through the installation process.
      <li>After the installation has finished, open up a bash prompt in your terminal window.</li>
        This will start the Anaconda installer which will guide you through the installation process.</li>

      <li>If you are running Mac OS X, a pkg file (which looks similar to Anaconda3-5.3.0-MacOSX-x86_64.pkg) will be downloaded.  Double-click on the file to start the installation process.</li>
      <li>Again from within a terminal window, create a new environment for your ISIS3 installation:

      <li>After the installation has finished, open up a bash prompt in your terminal window.</li>

      <li>Next setup your Anaconda environment for ISIS3. In the bash prompt, run the following commands:
        <pre>
          <em>#Add the following channels to the Anaconda installation</em>
          <strong>conda config --add channels conda-forge</strong>
          <strong>conda config --add channels usgs-astrogeology</strong>
          <em>#Create a new conda environment to install ISIS3 in</em>
          <strong>conda create -n isis3 python=3.6</strong>

          <em>#Activate the environment</em>
          <em>#Depending on your OS, you may need to use conda activate isis3 instead</em>
          <strong>source activate isis3</strong>

          <em>#Add the following channels to the environment</em>
          <strong>conda config --env --add channels conda-forge</strong>
          <strong>conda config --env --add channels usgs-astrogeology</strong>

          #Verify you have the correct channels:
          <strong>conda config --show channels</strong>
@@ -61,51 +72,41 @@ you must <em>not</em> upgrade the ISIS Data Files!!!

          <em>#The order is important.  If conda-forge is before usgs-astrogeology, you will need to run:</em>

           <strong>conda config --add channels usgs-astrogeology</strong>
          <strong>conda config --env --add channels usgs-astrogeology</strong>
        </pre></li>


          <em>#Create a new conda environment to install ISIS3 in.</em>
          <strong>conda create -n isis3</strong>

          <em>#Activate the environment</em>
          <strong>source activate isis3</strong>

          <em>#Download the ISIS3 version</em>
      <li>The environment is now ready to download ISIS3 and its dependencies:
        <pre>
          <strong>conda install -c usgs-astrogeology isis3</strong>
        </pre></li>

      <li>Finally, setup the environment variables:
        <pre>
          <em>#Execute the ISIS3 variable initialization script with default arguments.</em>
          <em>#This script prepares default values for:  $ISISROOT/$ISIS3DATA/$ISIS3TESTDATA</em>

          <strong>python $CONDA_PREFIX/scripts/isis3VarInit.py</strong>
        </pre>

        Executing this script with no arguments will result in $ISIS3DATA=$CONDA_PREFIX/data,
        and $ISIS3TESTDATA=$CONDA_PREFIX/testdata.  The user can specify different directories
        for both of these optional values:

         <strong>./$CONDA_PREFIX/scripts/isis3VarInit --data-dir=[path to data directory]  --test-dir=[path to test data directory]</strong>

        <pre>
          <strong>python $CONDA_PREFIX/scripts/isis3VarInit.py --data-dir=[path to data directory]  --test-dir=[path to test data directory]</strong>
        </pre>

        Directions for running rsync to download ISIS3 data can be found <a href="#ISIS3DataDownload">here.</a>


          <em>#Run the source activate command a second time to process the changes:</em>

          <strong>source activate isis3</strong>

          To avoid having to do this every time you open a new terminal window, we suggest adding the following lines to the end of your .bashrc file 
          (if running a variant of Linux) to ensure that conda is in your PATH variable.  If you are running Mac OS X, these lines would be appended
          to the end of your .bash_profile file:

          
          <strong>source activate isis3</strong>
          <strong>python $CONDA_PREFIX/scripts/isis3VarInit.py</strong>
        Now everytime the isis3 environment is activated, $ISISROOT, $ISIS3DATA, and $ISIS3TESTDATA
        will be set to the values passed to isis3VarInit.py. This does not happen retroactively,
        re-activate the isis3 envionment with the following command:
        <pre>
          <em>#Depending on your OS, you may need to use conda activate isis3 instead</em>
          <strong>source activate isis3</strong>
        </pre></li>
    </ol>



        </pre>
      </li>
    </ol>
  <h3>Operating System Requirements</h3>
  <p>ISIS3 runs on many UNIX variants. ISIS does not run natively on MS Windows,
     although it has been successfully run on Windows 10 using the Windows
@@ -117,12 +118,15 @@ you must <em>not</em> upgrade the ISIS Data Files!!!
      <li>Ubuntu 18.04 LTS</li>
      <li>Mac OS X 10.13.6 High Sierra</li>
      <li>Fedora 28</li>
      <li>CentOS 7.2</li>
    </ul>

<p>
    ISIS3 may be run on other Linux or macOS operating systems then those listed above,
    but it has not been tested and is not supported.
</p>


   <h3>Hardware Requirements</h3>
   <p>Here are the minimum hardware requirements</p>
    <ul>