You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
0. select the new version number following https://semver.org/:
4
+
5
+
> Given a version number MAJOR.MINOR.PATCH, increment the:
6
+
>
7
+
> - MAJOR version when you make incompatible API changes
8
+
> - MINOR version when you add functionality in a backward compatible manner
9
+
> - PATCH version when you make backward compatible bug fixes
10
+
11
+
12
+
1. create a github issue documenting significant release changes; review the commit log and closed issues to find them
13
+
14
+
```
15
+
This issue is to document functionality and features added to pcms since the #.#.# release (SHA1 of prior release):
16
+
17
+
New functionality or feature support:
18
+
19
+
- <feature> (SHA1,issueNumber)
20
+
- ...
21
+
22
+
Bug Fixes:
23
+
24
+
- <feature> (SHA1,issueNumber)
25
+
- ...
26
+
27
+
Other Updates and Improvements:
28
+
29
+
- <feature> (SHA1,issueNumber)
30
+
- ...
31
+
```
32
+
33
+
2. apply the issue/PR label 'v#.#.#' to significant issues and PR that are part of the release
34
+
3. increase the pcms version # in [CMakeLists.txt](https://github.com/Sichao25/pcms/blob/yus/format_check_test/CMakeLists.txt#L4) in the `develop` branch
35
+
4. commit; include the issue # in the commit message
36
+
37
+
```
38
+
pcms version #.#.#
39
+
see issue #<###>
40
+
```
41
+
42
+
5. push
43
+
6. create the tag `git tag -a v#.#.# -m "pcms version #.#.#"`
44
+
7. push the tag `git push origin v#.#.#`
45
+
46
+
47
+
## Maintain CI/CD
48
+
49
+
Current CI/CD contains:
50
+
- Cmake build and test using GitHub Actions triggered on pushes and pull requests to the `develop`,`main` branch. The workflow file is [`.github/workflows/cmake-test.yml`](https://github.com/SCOREC/pcms/blob/develop/.github/workflows/cmake-test.yml).
51
+
- Format check using clang-format and cmake-format. Workflow file is [`.github/workflows/format-check.yml`](https://github.com/SCOREC/pcms/blob/develop/.github/workflows/format-check.yml).
52
+
- Static code analysis using clang-tidy. Combined in the main cmake workflow at [`.github/workflows/cmake-test.yml`](https://github.com/SCOREC/pcms/blob/develop/.github/workflows/cmake-test.yml).
53
+
- Weekly globus build/test in supercomputer Perlmutter. Workflow file is in [`.github/workflows/perlmutter/`](https://github.com/SCOREC/pcms/tree/develop/.github/workflows/perlmutter) directory.
54
+
- Nightly build in [CDash dashboard](https://my.cdash.org/index.php?project=SCOREC). The build script is in [`cdash/`](https://github.com/SCOREC/pcms/tree/develop/cdash) directory. The script is triggered by a cron job on a SCOREC workstation daily at early morning.
55
+
56
+
To maintain the CI/CD pipeline, ensure that any changes to the build or test processes are reflected in those workflow file. Regularly review the workflow for updates to dependencies or tools used in the pipeline. When adding new steps to the CI/CD process, ensure they are properly integrated and tested to avoid disruptions. Try to avoid third party actions for security and maintenance reasons.
We can also add the spack setup line into the `~/.bashrc` with `echo ". spack/share/spack/setup-env.sh" >> ~/.bashrc". This will load the spack setup script every time we start our terminal session.
0 commit comments