Skip to content

Maintainer's Guide

Cameron Smith edited this page Sep 21, 2023 · 21 revisions

Creating a Release

  1. create a github issue documenting significant release changes; review the commit log and closed issues to find them
This issue is to document functionality and features added to PUMI since the #.#.# release (SHA1):

 - <feature> (SHA1,issueNumber)
 - <otherfeature> (SHA1,issueNumber)
  1. apply the issue/PR label 'v#.#.#' to significant issues and PR that are part of the release
  2. increase the pumi version # in CMakeLists.txt in the develop branch
  3. commit; include the issue # in the commit message
pumi version #.#.#                                                                                                                                                                                                                                                                                                           
                                                                                                                                                                                                                                                                                                                             
see issue #<###>
  1. push
  2. create the tag git tag -a v#.#.# -m "PUMI version #.#.#"
  3. push the tag git push origin v#.#.#

Updating the spack version

  1. Create a branch of spack develop
git clone -b develop git@github.com:spack/spack.git 
cd spack
git checkout -b pumi#### 
git remote add scorec git@github.com:SCOREC/spack.git # add scorec remote for the new branch
source share/spack/setup-env.sh
  1. Run spack edit pumi to edit pumi/package.py and change both the
  • version number and
  • commit hash which changes the pumi version (step 4 above)
  1. Push the new branch
git push -u scorec pumi####
  1. As of spack 0.21.0 (develop@abad16c) the following script will build and install pumi.

Create a file named testSpackPumi.sh:

#!/bin/bash                                                                                                                                                                                                                                                                                                                  
[[ $# -ne 1 ]] && echo "Test a PUMI Spack build." && echo "Usage: $0 <branch name>" && exit 1                                                                                                                                                                                                                                
set -x                                                                                                                                                                                                                                                                                                                       
branch=$1                                                                                                                                                                                                                                                                                                                    
date=`date +%F-%H-%M`                                                                                                                                                                                                                                                                                                        
pumiSpackDir=$PWD/pumiSpack_${date}                                                                                                                                                                                                                                                                                          
mkdir -p $pumiSpackDir                                                                                                                                                                                                                                                                                                       
cd $pumiSpackDir                                                                                                                                                                                                                                                                                                             
git clone -b ${branch} git@github.com:SCOREC/spack.git                                                                                                                                                                                                                                                                       
cd spack                                                                                                                                                                                                                                                                                                                     
                                                                                                                                                                                                                                                                                                                             
# setup scratch space for spack                                                                                                                                                                                                                                                                                              
spackScratch=$pumiSpackDir/spack_scratch                                                                                                                                                                                                                                                                                     
mkdir -p $spackScratch                                                                                                                                                                                                                                                                                                       
export SPACK_USER_CACHE_PATH=$spackScratch                                                                                                                                                                                                                                                                                   
export SPACK_DISABLE_LOCAL_CONFIG=true #disable use of user and system config files                                                                                                                                                                                                                                          
                                                                                                                                                                                                                                                                                                                             
export SPACK_ROOT=$PWD                                                                                                                                                                                                                                                                                                       
source $SPACK_ROOT/share/spack/setup-env.sh                                                                                                                                                                                                                                                                                  
which spack # sanity check                                                                                                                                                                                                                                                                                                   
                                                                                                                                                                                                                                                                                                                             
#specify upstream                                                                                                                                                                                                                                                                                                            
(                                                                                                                                                                                                                                                                                                                            
cat <<APPEND_HEREDOC
upstreams:
  spack-instance-1:
      install_tree: /path/to/spack/package/install/dir
APPEND_HEREDOC
) >> $SPACK_ROOT/etc/spack/upstreams.yaml                                                                                                                                                                                                                                                                       
                                                                                                                                                                                                                                                                                                                             
#add compiler                                                                                                                                                                                                                                                                                                                
spack compiler add /path/to/compiler/install/dir                                                                                                                                                                                               
                                                                                                                                                                                                                                                                                                                             
spack find #sanity check that the upstream was found                                                                                                                                                                                                                                                                                                                  
spec="pumi"                                                                                                                                                                                                                                                                                                                  
spack spec -I $spec                                                                                                                                                                                                                                                                                                          
spack install --fail-fast $spec   

Run the script:

chmod +x testSpackPumi.sh
./testSpackPumi.sh pumi####
  1. Create a PR to Spack develop.