Software Release Procedure
Estimated reading time: 1 minuteCEPC Software Release Procedure
The software packages are defined in the repository cepc-release.
Define New Version
Edit file config/version
and set to new version name and commit this
change with git commit
.
Then tag cepc-release
with new version name, e.g., 1.2.3:
git tag -a v1.2.3 -m 'Version 1.2.3'
git push origin v1.2.3
Then this version could be found with cepcenv ls-remote
command:
$ cepcenv ls-remote
...
1.2.3
Patch for Package
Several packages may be not compatible once other packages updated, like changed function definition, different compiler version. But sometimes we do not want to update these packages to a new version which may sovle this problem. Then we need to patch them in order to make them work. This is the patch steps:
- Copy the original package and modify the incompatible codes:
copy -r package-1.2.3 package-1.2.3_patched
- Use
diff
command to generate the patch file:diff -Nur package-1.2.3 package-1.2.3_patched > package-1.2.3.patch
- Copy this patch file under the
patch
directory incepc-release
. - Modify the
install
configuration of the package and addpre_compile
step:pre_compile: handler: patch param: file: package-1.2.3.patch
The patch file will be automatically applied before compilation.