Commit 8c2d0ccc authored by Jesse Mapel's avatar Jesse Mapel
Browse files

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

parents 3adc5a72 c1f322e2
Loading
Loading
Loading
Loading
+140 −59
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('Build') {
            parallel {
                stage('Fedora25') {
                    agent {
                        label 'isis-fedora-25'
                    }
                    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 {
                        label 'isis-centos-7'
                    }
                    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
//                    conda config --set channel_alias http://astro-bin.wr.usgs.gov/conda
//                    conda config --prepend channels anaconda
//                    conda config --append channels conda-forge
//                    conda config --append channels usgs-astrogeology
//                    conda config --prepend default_channels anaconda
//                    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
//                    conda config --set channel_alias http://astro-bin.wr.usgs.gov/conda
//                    conda config --prepend channels anaconda
//                    conda config --append channels conda-forge
//                    conda config --append channels usgs-astrogeology
//                    conda config --prepend default_channels anaconda
//                    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
//                    conda config --set channel_alias http://astro-bin.wr.usgs.gov/conda
//                    conda config --prepend channels anaconda
//                    conda config --append channels conda-forge
//                    conda config --append channels usgs-astrogeology
//                    conda config --prepend default_channels anaconda
//                    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
//                    conda config --set channel_alias http://astro-bin.wr.usgs.gov/conda
//                    conda config --prepend channels anaconda
//                    conda config --append channels conda-forge
//                    conda config --append channels usgs-astrogeology
//                    conda config --prepend default_channels anaconda
//                    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["mac1013"] = {
    node("mac1013") {
        withEnv(["ISISROOT=" + "${workspace}" + "/build/", "ISIS3TESTDATA=/usgs/cpkgs/isis3/testData/", "ISIS3DATA=/usgs/cpkgs/isis3/data/"]) {
            stage ("MacOS 10.13 (High Sierra)") {
                git branch: 'dev', url: 'https://github.com/USGS-Astrogeology/ISIS3.git'
//                sh """
//                    git clone https://github.com/abseil/googletest.git gtest
//                    conda config --set channel_alias http://astro-bin.wr.usgs.gov/conda
//                    conda config --prepend channels anaconda
//                    conda config --append channels conda-forge
//                    conda config --append channels usgs-astrogeology
//                    conda config --prepend default_channels anaconda
//                    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
+3 −0
Original line number Diff line number Diff line
@@ -79,6 +79,9 @@
       Modified Makefile of badinputs app test to truncate paths before data directory. Allows tests
       to pass when not using the default data area. Fixes #4783.
     </change>
     <change name="Stuart Sides" date="2018-11-19">
       Removed the tracking label group if it exists in the output cube. Fixes #5533.
     </change>
     </history>

  <groups>
+7 −0
Original line number Diff line number Diff line
@@ -183,6 +183,13 @@ void IsisMain() {
    ocube->deleteBlob("Table", "InputImages");
  }

  // Delete the Tracking group if it exists (3.6.0 and up)
  // The tracking group could be transfered from the first input cube, but it does not
  // represent the images used in any other band after cubeit.
  if(ocube->hasGroup("Tracking")) {
    ocube->deleteGroup("Tracking");
  }

  p2.EndProcess();

 // Now loop and mosaic in each cube
+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>