Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Documentation: https://spack-stack.readthedocs.io/en/latest/

Table of Contents

Table of Contents

Third party dependencies: licenses

...

JCSDA is currently responsible for testing spack-stack environments on S4 and Discover. The documented instructions for building spack-stack on HPC platforms are very good but there are two things to take care of before starting (as noted in the instructions).

  1. Make sure you are pointing to a python that is version 3.8 or higher

    HPC Platformpython3.8+ environmentS4

    module load miniconda/3.8-s4

    Discover

    module load python/GEOSpyD/Min4.10.3_py3.9

    your environment is set properly. Follow the instructions in the spack-stack ReadTheDocs for setting up an environment. Note that the first section of module commands are to be used for both building new spack-environments (which is this task) and for using an existing spack-stack environment to build jedi-bundle and run skylab. You should skip the additional moudle commands that are only for building jedi-bundle and running skylab.


  2. Make sure you have checked out the branches you need to test before running the setup.sh scriptMake sure you have checked out the branches you need to test before running the setup.sh script
    1. First, clone the JCSDA/spack-stack repo as shown in the instructions for creating a local spack-stack environment. It's important to use the "--recurse-submodules" option to the "git clone" command as shown in these instructions.

    1. Typically you will be testing feature branches that could have come from various developers. Each of these developers has their own fork of which will be marked on the PR, and you will need to gain access to check those out forks in your local clone. One The way to do this is to add their forks to your remotes in your local clone. This can be done using a series of the "git remote add ..."  command. Here's an example:

      Code Block
      languagebash
      themeMidnight
      firstline1
      titleAdd remote repos to your local clone
      # Alex Richert (NOAA) and Dom (NRL) are two of the more active PR contributors
      git remote add alex	https://github.com/AlexanderRichert-NOAA/spack-stack 
      git remote add dom	https://github.com/climbfuji/spack-stack
      ...
      
      # Check that you have these entered
      git remote -v
      
      # Update references to the other forks. Running the remote update
      # command below will pull in all the metadata to the other forks.
      git remote update -p
      
      # Check that you got the references to the other forks (note the use of
      # the -a option on the git branch command)
      git branch -avv


    2. Once you have the necessary remotes added, then you can checkout feature branches from other repos

      Code Block
      languagebash
      themeMidnight
      firstline1
      titleCheck out feature branches from other forks
      # Using the remote link entered above, checkout the feature/cool-spack-thing from Dom's spack-stack fork
      git checkout dom/feature/cool-spack-thing
      
      # Make sure to update the submodules
      git submodule update


Once the above steps are done, follow the documented instructions here: building spack-stack on HPC platforms. The ideal goal with the testing is to successfully complete the following steps:

...