forked from sandialabs/omega_h
-
Notifications
You must be signed in to change notification settings - Fork 9
Maintainer's Guide
Cameron Smith edited this page Nov 6, 2024
·
6 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):
- <feature> (issue/PR link)
- <otherfeature> (issue/PR link)
-
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
master
branch -
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#.#.#
- Create a branch of spack
develop
git clone -b develop git@github.com:spack/spack.git
cd spack
git checkout -b omegah####
git remote add scorec git@github.com:SCOREC/spack.git # add scorec remote for the new branch
source share/spack/setup-env.sh
- Run
spack edit omega-h
to 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
[[ $# -ne 1 ]] && echo "Test a Omega_h Spack build." && echo "Usage: $0 <branch name>" && exit 1
branch=$1
date=`date +%F-%H-%M`
ohSpackDir=$PWD/omegahSpack_${date}
mkdir -p $ohSpackDir
pushd $ohSpackDir
git clone -b ${branch} git@github.com:SCOREC/spack.git
pushd spack
# setup scratch space for spack
spackScratch=$ohSpackDir/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
#add compiler
spack compiler add /path/to/compiler/install/dir
spack find #sanity check that the upstream was found
spec="omega-h@scorec.#### ~mpi ~trilinos +kokkos"
spack spec -I $spec
spack install --fail-fast $spec
#set the arch and version as needed
spec="omega-h@scorec.#### +cuda ~mpi ~trilinos +kokkos ^kokkos+cuda+wrapper cuda_arch=## cuda_lambda=true"
spack spec -I $spec
spack install --fail-fast $spec
Run the script:
chmod +x testSpackOmegah.sh
./testSpackOmegah.sh omegah####
- Create a PR to Spack
develop
.