-
Notifications
You must be signed in to change notification settings - Fork 65
Maintainer's Guide
Cameron Smith edited this page Sep 30, 2025
·
31 revisions
- select the new version number following https://semver.org/:
Given a version number MAJOR.MINOR.PATCH, increment the:
- MAJOR version when you make incompatible API changes
- MINOR version when you add functionality in a backward compatible manner
- PATCH version when you make backward compatible bug fixes
- 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 of prior release):
New functionality or feature support:
- <feature> (SHA1,issueNumber)
- ...
Bug Fixes:
- <feature> (SHA1,issueNumber)
- ...
Other Updates and Improvements:
- <feature> (SHA1,issueNumber)
- ...
- tag the issue 'tracking version features'
- apply the issue/PR label 'v#.#.#' to significant issues and PR that are part of the release
- increase the pumi version # in CMakeLists.txt in the
develop
branch - commit; include the issue # in the commit message
pumi version #.#.#
see issue #<###>
- push
- create the tag
git tag -a v#.#.# -m "PUMI version #.#.#"
- push the tag
git push origin v#.#.#
Updated for spack 1.0 as of 9/30/2025.
- Clone spack and spack-packages then create a branch of spack-packages
git clone -b develop --depth=2 [email protected]:spack/spack.git
git clone [email protected]:spack/spack-packages.git
source spack/share/spack/setup-env.sh
spack repo set --destination $PWD/spack-packages builtin
pushd spack-packages
git checkout -b pumi####
git remote add scorec [email protected]:SCOREC/spack-packages.git # add scorec remote for the new branch
- Run
spack edit pumi
to editpumi/package.py
and change both the
- version number and
- commit hash which changes the pumi version (step 4 above)
- Commit and push the new branch
git commit -am "pumi: add version #.#.#"
git push -u scorec pumi####
- As of spack 1.1.0.dev0 (develop@f09c960) the following script will build and install pumi.
Create a file named testSpackPumi.sh
:
#!/bin/bash
set -x
date=`date +%F-%H-%M`
pumiSpackDir=$PWD/pumiSpack_${date}
mkdir -p $pumiSpackDir
cp -r spack $pumiSpackDir
cp -r spack-packages $pumiSpackDir
# 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=$pumiSpackDir/spack
source $SPACK_ROOT/share/spack/setup-env.sh
which spack # sanity check
spack repo set --destination $pumiSpackDir/spack-packages builtin
#avoid permission errors
spack config add "config:allow_sgid:false"
spec="pumi"
spack spec -I $spec
spack install --fail-fast $spec
Run the script:
chmod +x testSpackPumi.sh
./testSpackPumi.sh pumi####
-
Create a PR to spack-packages
develop
. -
Create a highlight slide (using the ASCR Highlight Template 2025-FASTMath.pptx) for releases that include significant new functionality.