Skip to content

Maintainer's Guide

Cameron Smith edited this page Jun 25, 2021 · 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 [email protected]:spack/spack.git 
git checkout -b pumi#### 
cd spack
git remote add scorec [email protected]: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.15.4 the following script will build and install pumi:
#!/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} [email protected]:SCOREC/spack.git
cd spack
export SPACK_ROOT=$PWD
source $SPACK_ROOT/share/spack/setup-env.sh
which spack # sanity check

#yaml files
spack external find --not-buildable --scope site

# setup scratch space for spack
spackScratch=$pumiSpackDir/spack_scratch
mkdir -p $spackScratch
(
cat <<APPEND_HEREDOC
config:
  build_stage:
   - \$tempdir/\$user/spack-stage
   - $spackScratch
   - ~/.spack/stage
APPEND_HEREDOC
) >> $SPACK_ROOT/etc/spack/config.yaml

spec="pumi" 
spack spec -I $spec
spack install $spec
  1. Create a PR to Spack develop.
Clone this wiki locally