Skip to content

Commit 1e5f164

Browse files
committed
updated documents and workflow to skip md updates
1 parent 165d2b3 commit 1e5f164

8 files changed

Lines changed: 165 additions & 121 deletions

File tree

.github/workflows/codeql.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,16 @@ on:
55
branches: [ "main" ]
66
paths-ignore:
77
- "**/README*"
8+
- "**/CODE_OF_CONDUCT.md"
9+
- "**/CONTRIBUTING.md"
10+
- "**/SECURITY.md"
811
pull_request:
912
branches: [ "main" ]
1013
paths-ignore:
1114
- "**/README*"
15+
- "**/CODE_OF_CONDUCT.md"
16+
- "**/CONTRIBUTING.md"
17+
- "**/SECURITY.md"
1218
schedule:
1319
- cron: '20 2 * * 5'
1420

.github/workflows/dockers_deploy_and_test.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,13 +22,19 @@ on:
2222
pull_request:
2323
paths-ignore:
2424
- "**/README*"
25+
- "**/CODE_OF_CONDUCT.md"
26+
- "**/CONTRIBUTING.md"
27+
- "**/SECURITY.md"
2528
merge_group:
2629
push:
2730
branches: [ main ]
2831
tags: [ '*' ]
2932
paths-ignore:
3033
- "**/*.md"
3134
- "**/README*"
35+
- "**/CODE_OF_CONDUCT.md"
36+
- "**/CONTRIBUTING.md"
37+
- "**/SECURITY.md"
3238
- "releases/**"
3339
- "doc/**"
3440

.github/workflows/doxygen.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,9 @@ on:
99
- '*'
1010
paths-ignore:
1111
- "**/README*"
12+
- "**/CODE_OF_CONDUCT.md"
13+
- "**/CONTRIBUTING.md"
14+
- "**/SECURITY.md"
1215
workflow_dispatch:
1316

1417
jobs:

.github/workflows/sanitize.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,15 @@ on:
1212
tags: [ 'v*' ]
1313
paths-ignore:
1414
- "**/README*"
15+
- "**/CODE_OF_CONDUCT.md"
16+
- "**/CONTRIBUTING.md"
17+
- "**/SECURITY.md"
1518
pull_request:
1619
paths-ignore:
1720
- "**/README*"
21+
- "**/CODE_OF_CONDUCT.md"
22+
- "**/CONTRIBUTING.md"
23+
- "**/SECURITY.md"
1824

1925
jobs:
2026
discover:

CODE_OF_CONDUCT.md

Lines changed: 46 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -1,50 +1,62 @@
11
# GEMC Community Code of Conduct
22

33
## Our Pledge
4-
We, as members, contributors, and maintainers of GEMC, pledge to make participation
5-
in our project and community a harassment-free experience for everyone, regardless of
6-
age, body size, visible or invisible disability, ethnicity, experience level,
7-
education, gender identity and expression, level of experience, nationality, personal
8-
appearance, race, religion, or sexual identity and orientation.
4+
5+
GEMC is a scientific software project. We want project spaces to be useful, respectful, and welcoming for everyone, regardless of age, body size, visible or invisible disability, ethnicity, experience level, education, gender identity and expression, nationality, personal appearance, race, religion, sexual identity and orientation, or any other personal characteristic.
96

107
## Our Standards
11-
Examples of behavior that contributes to a positive environment include:
12-
- Being respectful of differing viewpoints and experiences
13-
- Giving and gracefully accepting constructive feedback
14-
- Focusing on what is best for the community
15-
- Showing empathy and kindness to other community members
16-
17-
Examples of unacceptable behavior include:
18-
- Harassment, intimidation, or discrimination
19-
- Trolling, insulting or derogatory comments, and personal or political attacks
20-
- Sexualized language or imagery
21-
- Public or private harassment, or publishing others’ private information
22-
- Sustained disruption of discussions or reviews
23-
- Spam or advertising unrelated to the project
248

25-
## Enforcement Responsibilities
26-
Project maintainers are responsible for clarifying and enforcing standards of acceptable
27-
behavior and may take appropriate and fair corrective action in response to any behavior
28-
they deem inappropriate, threatening, offensive, or harmful.
9+
Examples of behavior that helps the project:
10+
11+
- Being respectful of different viewpoints and experiences.
12+
- Giving and accepting constructive technical feedback.
13+
- Focusing discussion on the work, evidence, and project goals.
14+
- Asking for clarification before assuming intent.
15+
- Helping new users and contributors find the right documentation, issue, or maintainer.
16+
17+
Examples of unacceptable behavior:
18+
19+
- Harassment, intimidation, discrimination, or threats.
20+
- Personal attacks, insults, trolling, or sustained disruption of discussions and reviews.
21+
- Sexualized language or imagery in project spaces.
22+
- Publishing private information without explicit permission.
23+
- Repeatedly ignoring maintainer requests to stop a behavior.
24+
- Spam, advertising, or unrelated promotion.
2925

3026
## Scope
31-
This Code of Conduct applies within all project spaces and also applies when an
32-
individual is representing the project in public spaces.
27+
28+
This Code of Conduct applies in all GEMC project spaces, including repositories, issues, pull requests, discussions, documentation, examples, release channels, and project-related meetings. It also applies when someone is representing GEMC in public spaces, such as conferences, workshops, mailing lists, or social platforms.
29+
30+
## Enforcement Responsibilities
31+
32+
Maintainers are responsible for clarifying standards and may remove, edit, or reject comments, commits, issues, pull requests, documentation, or other contributions that do not follow this Code of Conduct. Maintainers may also restrict participation when behavior is inappropriate, threatening, offensive, or harmful.
33+
34+
Maintainers who are involved in a reported incident should not handle that report. An uninvolved maintainer or reviewer should be brought in.
3335

3436
## Reporting
35-
If you experience or witness unacceptable behavior, report it to **gemc@jlab.org**.
36-
Reports will be reviewed and handled confidentially to the extent possible.
37-
If the incident involves a maintainer, the project will bring in an uninvolved reviewer.
37+
38+
Report Code of Conduct concerns to **ungaro@jlab.org**.
39+
40+
Please include, when possible:
41+
42+
- What happened and where it happened.
43+
- Links, screenshots, or other context.
44+
- Names or handles of people involved.
45+
- Whether the situation is ongoing or urgent.
46+
47+
Reports will be handled confidentially to the extent possible. Retaliation against a person who reports a concern or participates in an investigation is itself a violation of this Code of Conduct.
3848

3949
## Enforcement
40-
All complaints will be reviewed and investigated promptly and fairly.
41-
Maintainers are obligated to respect the privacy and security of the reporter of any incident.
4250

43-
### Enforcement Guidelines
44-
- **Correction** — For minor, one-off issues. Consequence: private or public clarification of expectations.
45-
- **Warning** — For a single significant incident or repeated minor issues. Consequence: written warning and expectations for change.
46-
- **Temporary Restriction** — For repeated violations. Consequence: temporary removal from interactions (issues, PRs, etc.).
47-
- **Permanent Ban** — For severe or repeated violations. Consequence: permanent removal from community spaces.
51+
Maintainers will review reports promptly and fairly. Responses may include:
52+
53+
- **Correction**: Private or public clarification of expectations.
54+
- **Warning**: Written warning and expectations for change.
55+
- **Temporary restriction**: Temporary removal from issues, pull requests, discussions, or other project spaces.
56+
- **Permanent restriction**: Permanent removal from project spaces for severe or repeated violations.
57+
58+
The response will be based on the impact and severity of the behavior, the safety of the community, and any relevant pattern of prior conduct.
4859

4960
## Attribution
61+
5062
This Code of Conduct is adapted from the [Contributor Covenant](https://www.contributor-covenant.org), version 2.1.

CONTRIBUTING.md

Lines changed: 56 additions & 66 deletions
Original file line numberDiff line numberDiff line change
@@ -1,100 +1,90 @@
11
# Contributing to GEMC
22

3-
We welcome contributions of code, documentation, tests, examples, and bug reports. This guide explains how to propose changes via GitHub.
3+
Contributions to GEMC are welcome. Useful contributions include source code, Python API improvements, documentation, examples, tests, bug reports, build-system fixes, and reproducible simulation problems.
44

5-
> **Quickstart**
6-
> 1. Open an issue to discuss your idea or bug.
7-
> 2. Fork the repo and clone your fork.
8-
> 3. Create a feature branch.
9-
> 4. Commit changes with clear messages and add tests/docs.
10-
> 5. Keep your fork in sync with `upstream`.
11-
> 6. Open a pull request (PR) from your branch.
5+
Keep changes focused and reviewable. A small pull request with clear motivation is easier to review and safer to merge than a broad rewrite.
126

13-
---
7+
## Before You Start
148

15-
## 1) Before you start: open an issue
16-
Have a feature in mind? Open an issue describing the problem, proposed solution, and any alternatives. For obvious, small bug fixes, opening a PR directly is fine—but filing an issue first is still appreciated.
9+
Open an issue before working on large changes, new features, build-system changes, public APIs, file formats, or behavior that affects examples and documentation. Small typo fixes, narrow documentation edits, and obvious bug fixes can go directly to a pull request.
1710

18-
If you’re not sure where to help, ask in an issue—documentation improvements are always welcome.
11+
For security vulnerabilities, do not open a public issue. Follow [`SECURITY.md`](SECURITY.md).
1912

20-
## 2) Fork and clone
13+
## Development Setup
2114

22-
Create your fork on GitHub, then:
15+
Fork `gemc/src` on GitHub, then clone your fork:
2316

24-
```bash
25-
git clone https://github.com/<your-username>/src.git gemc
26-
cd gemc
27-
git remote add upstream https://github.com/gemc/src.git
28-
git remote -v
17+
```shell
18+
git clone https://github.com/<your-username>/src.git gemc-src
19+
cd gemc-src
2920
```
3021

31-
## 3) Create a branch
22+
## Build and Test
3223

33-
Use a descriptive branch name:
24+
Use the project Meson build. The normal local command for building and installing the current tree is:
3425

35-
```bash
36-
# Replace "main" with "master" if your fork uses that as the default
37-
git switch -c feature/my-awesome-idea
38-
# or: git checkout -b feature/my-awesome-idea
26+
```shell
27+
meson install -C build
3928
```
4029

41-
## 4) Keep your fork in sync
42-
Update your local default branch and your feature branch regularly:
30+
List available tests:
4331

44-
```bash
45-
git fetch upstream
46-
git switch main
47-
git merge upstream/main # or: git rebase upstream/main
48-
git push origin main
49-
50-
# Update your feature branch
51-
git switch feature/my-awesome-idea
52-
git rebase main # keeps history clean; use merge if you prefer
32+
```shell
33+
meson test -C build --list
5334
```
5435

55-
## 5) Code standards & tests
36+
Run the relevant test with logs:
37+
38+
```shell
39+
meson test -C build -v --print-errorlogs <testname>
40+
```
5641

57-
- **Style**: Match the existing project style. If a .clang-format/formatter is present, use it before committing.
58-
- **C++/Python APIs**: Keep naming, headers, and error handling consistent with the code around your changes.
59-
- **Tests**: Add or update tests for any behavior change.
60-
- **Docs**: Update README/installation/examples and any relevant docs when behavior or options change.
61-
- **Small, focused PR**s: Prefer multiple small PRs over one very large PR.
42+
When a change touches shared code, run the smallest useful set of related tests plus any examples that exercise the behavior. If a test cannot be run locally, say why in the pull request.
6243

63-
## 6) Commit messages
44+
## Contribution Guidelines
6445

65-
Write clear, imperative messages:
46+
- Match the style of the surrounding C++ or Python code.
47+
- Prefer clear, local fixes over broad refactors.
48+
- Add or update tests for behavior changes.
49+
- Update README files, examples, and website documentation when user-facing behavior changes.
50+
- Keep generated files, build output, caches, and local IDE files out of commits.
51+
- Do not mix unrelated cleanup with feature or bug-fix work.
52+
- For geometry or visualization changes, include screenshots or links to generated images when that helps review.
6653

67-
```bash
54+
## Commit Messages
6855

69-
Short summary (max ~72 chars)
56+
Use short, imperative commit summaries:
7057

71-
Longer explanation of what and why,
72-
including any breaking changes or migration notes.
58+
```text
59+
Fix flux digitization timestamp output
7360
```
7461

75-
If your PR closes an issue, end the description with: Closes #<issue-number>.
62+
When the reasoning is not obvious, add a body explaining what changed and why. If the pull request closes an issue, include `Closes #123` in the pull request description.
63+
64+
## Pull Requests
65+
66+
Open a pull request from your fork to `gemc/src`.
67+
68+
Before requesting review, check that:
7669

77-
## 7) Open a Pull Request
78-
From your fork/branch, open a PR against gemc/source:
70+
- The title and description explain the change.
71+
- Related issues are linked.
72+
- Relevant tests or examples were run and listed.
73+
- Documentation and examples were updated if needed.
74+
- The pull request is focused on one topic.
7975

80-
**Checklist**
76+
Reviews may ask for changes to improve correctness, maintainability, performance, documentation, or test coverage.
8177

82-
- Clear title and concise description
83-
- Link to related issues; include Closes #123 when appropriate
84-
- Include screenshots for UI/visual changes
85-
- Tests pass locally; CI is green
86-
- Docs/examples updated as needed
78+
## Communication
8779

88-
Reviews in this project are thorough. Feedback is offered in good spirit to improve clarity, performance, and maintainability.
80+
- General questions: open an issue.
81+
- Security vulnerabilities: email **ungaro@jlab.org** instead of opening a public issue.
82+
- Conduct concerns: email **ungaro@jlab.org** and see [`CODE_OF_CONDUCT.md`](CODE_OF_CONDUCT.md).
8983

90-
## 8) Communication & support
84+
## Licensing and Citation
9185

92-
- Questions / help: Open an issue.
93-
- Security vulnerabilities: Do not open a public issue. Email gemc@jlab.org.
94-
- Conduct: All interactions are governed by our Code of Conduct.
86+
By contributing, you agree that your contributions are licensed under the GEMC Software License v1.0. See [`LICENSE.md`](LICENSE.md).
9587

96-
## 9) Licensing of contributions
97-
By contributing, you agree that your contributions are licensed under the GEMC Software License v1.0 and
98-
that publications using GEMC should cite:
88+
If you use GEMC in scientific work, cite:
9989

100-
M. Ungaro, Geant4 Monte-Carlo (GEMC) A database-driven simulation program, EPJ Web of Conferences 295, 05005 (2024), https://doi.org/10.1051/epjconf/202429505005
90+
> M. Ungaro, "Geant4 Monte-Carlo (GEMC) A database-driven simulation program," EPJ Web of Conferences 295, 05005 (2024). https://doi.org/10.1051/epjconf/202429505005

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -144,7 +144,7 @@ Geometry scripts can write SQLite or ASCII databases, display geometry with PyVi
144144

145145
PyVista is part of the normal GEMC geometry workflow. It lets users inspect detector geometry before running Geant4, export portable VTK.js scenes for documentation, and catch placement or rotation mistakes while editing Python geometry scripts.
146146

147-
<!-- PyVista gallery setting: edit width="200" height="200" below to resize all thumbnails. -->
147+
<!-- PyVista gallery setting: edit width="300" height="300" below to resize all thumbnails. -->
148148
| B1 | B2 |
149149
| --- | --- |
150150
| <a href="https://gemc.github.io/home/assets/vtkjs-viewer.html?fileURL=https://gemc.github.io/home/assets/images/examples/b1/b1.vtksz"><img src="https://gemc.github.io/home/assets/images/examples/b1/geometry.png" alt="B1 PyVista geometry" width="300" height="300"></a> | <a href="https://gemc.github.io/home/assets/vtkjs-viewer.html?fileURL=https://gemc.github.io/home/assets/images/examples/b2/b2.vtksz"><img src="https://gemc.github.io/home/assets/images/examples/b2/geometry.png" alt="B2 PyVista geometry" width="300" height="300"></a> |

0 commit comments

Comments
 (0)