forked from sandialabs/omega_h
-
Notifications
You must be signed in to change notification settings - Fork 11
Maintainer's Guide
Cameron Smith edited this page Oct 1, 2025
·
9 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
Additional labels for pre-release and build metadata are available as extensions to the MAJOR.MINOR.PATCH format.
- 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 Omega_h since the #.#.# release (SHA1):
New functionality or feature support:
- <feature> (SHA1,issueNumber)
- ...
Bug Fixes:
- <feature> (SHA1,issueNumber)
- ...
Other Updates and Improvements:
- <feature> (SHA1,issueNumber)
- ...
-
apply the issue/PR label 'scorec-v#.#.#' to significant issues and PR that are part of the release
-
increase the Omega_h version # in CMakeLists.txt in the
masterbranch -
commit; include the issue # in the commit message
Omega_h version scorec-v#.#.#
see issue #<###>
- push
- create the tag
git tag -a scorec-v#.#.# -m "Omega_h version scorec-v#.#.#" - push the tag
git push origin scorec-v#.#.#
- Clone spack and spack-packages then create a branch of spack-packages
git clone -b develop --depth=2 git@github.com:spack/spack.git
git clone git@github.com: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 git@github.com:SCOREC/spack-packages.git # add scorec remote for the new branch
- Run
spack edit omega-hto edit[omega-h/package.py](https://github.com/spack/spack/blob/develop/var/spack/repos/builtin/packages/omega-h/package.py)and change both the
- version number and
- commit hash which changes the Omega_h version (step 4 above)
- Push the new branch
git push -u scorec omegah####
- As of spack 0.23.0 the following script will build and install omegah.
Create a file named testSpackOmegah.sh:
#!/bin/bash
set -x
date=`date +%F-%H-%M`
testSpackDir=$PWD/omegahSpack_${date}
mkdir -p $testSpackDir
cp -r spack $testSpackDir
cp -r spack-packages $testSpackDir
# setup scratch space for spack
spackScratch=$testSpackDir/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=$testSpackDir/spack
source $SPACK_ROOT/share/spack/setup-env.sh
which spack # sanity check
spack repo set --destination $testSpackDir/spack-packages builtin
#avoid permission errors
spack config add "config:allow_sgid:false"
oh="omega-h@10.10.0-scorec"
spec="$oh ~mpi ~trilinos +kokkos"
spack spec -I $spec
spack install --fail-fast $spec
#set the arch and version as needed
spec="$oh +cuda ~mpi ~trilinos +kokkos ^kokkos+cuda+wrapper cuda_arch=86 cuda_lambda=true"
spack spec -I $spec
spack install --fail-fast $spec
#run stand-alone tests
#- note, without '--keep-stage' there was a problem cleaning up the created mesh files after testing
spack test run --keep-stage omega-h
Run the script:
chmod +x testSpackOmegah.sh
./testSpackOmegah.sh omegah####
- Create a PR to spack-packages develop.