Skip to content

Commit

Permalink
Added contributing file
Browse files Browse the repository at this point in the history
Added bestpractices badge

Update readme

Update readme

Update readme

Update readme

Update Copyright

Added Deniz to the list of contributors

Added fair-software.yml

Update zenodo file

Minor

Minor

Update github workflows

Update github workflows

Update scripts for generating json files
  • Loading branch information
jose-luis-rs committed Dec 22, 2024
1 parent 331d5ed commit 23c3397
Show file tree
Hide file tree
Showing 1,628 changed files with 2,097 additions and 1,704 deletions.
22 changes: 14 additions & 8 deletions .github/workflows/check_metadata.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,21 +7,27 @@ name: Check AUTHORS and CONTRIBUTORS in metadata
on:
push:
paths:
- AUTHORS
- CONTRIBUTORS
- .zenodo.json
- AUTHORS
- CONTRIBUTORS
- .zenodo.json
pull_request:
paths:
- AUTHORS
- CONTRIBUTORS
- .zenodo.json
- AUTHORS
- CONTRIBUTORS
- .zenodo.json

jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- name: Try updating metadata
run: python meta_update.py
run: python update_zenodo.py

- name: Check for Updates
run: git diff --exit-code || echo "Metadata files require updates. Please commit the changes."
run: |
git diff --exit-code || (echo "Metadata files require updates. Please commit the changes." && exit 1)
23 changes: 23 additions & 0 deletions .github/workflows/fair-software.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# SPDX-FileCopyrightText: 2024 GSI Helmholtzzentrum fuer Schwerionenforschung GmbH, Darmstadt, Germany
#
# SPDX-License-Identifier: LGPL-3.0-or-later

name: fair-software

on:
push:
paths:
- README.md

jobs:
verify:
name: "fair-software"
runs-on: ubuntu-latest
if: github.repository == 'R3BRootGroup/R3BRoot'
steps:
- uses: fair-software/howfairis-github-action@0.2.1
name: Measure compliance with fair-software.eu recommendations
env:
PYCHARM_HOSTED: "Trick colorama into displaying colored output"
with:
MY_REPO_URL: "https://github.com/${{ github.repository }}"
8 changes: 7 additions & 1 deletion .zenodo.json
Original file line number Diff line number Diff line change
Expand Up @@ -69,9 +69,10 @@
"Data analysis",
"Structure and dynamics of nuclei",
"Nuclear reactions",
"Equation of state",
"Nuclear fission",
"Hypernuclei",
"Equation of state",
"Short range NN correlations",
"R3B experiments",
"GSI/FAIR facility"
],
Expand Down Expand Up @@ -352,6 +353,11 @@
"name": "Rossi, Dominic",
"affiliation": "Technische Universität Darmstadt, Fachbereich Physik, Institut für Kernphysik, 64289 Darmstadt, Germany"
},
{
"type": "Other",
"name": "Savran, Deniz",
"affiliation": "GSI Helmholtzzentrum für Schwerionenforschung, 64291 Darmstadt, Germany"
},
{
"type": "Other",
"name": "Storck, Sonja",
Expand Down
2 changes: 1 addition & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
##############################################################################
# Copyright (C) 2019 GSI Helmholtzzentrum für Schwerionenforschung GmbH #
# Copyright (C) 2019-2024 Members of R3B Collaboration #
# Copyright (C) 2019-2025 Members of R3B Collaboration #
# #
# This software is distributed under the terms of the #
# GNU General Public Licence (GPL) version 3, #
Expand Down
130 changes: 130 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,130 @@
# Contributing

## Bug reports, feature request, questions etc

Create a [Github Issue](https://github.com/R3BRootGroup/R3BRoot/issues/new/choose).

## Contributing code

Create a [Github Pull Request](https://github.com/R3BRootGroup/R3BRoot/compare):

1. By default, develop against the [`dev`](https://github.com/R3BRootGroup/R3BRoot/tree/dev)
branch and base your PR against it.
* In rare cases (e.g. backports, some hotfixes) base against the appropriate
branch.
2. If you are a first time contributor, add a separate commit in your PR which
adds your name to the [`CONTRIBUTORS`](CONTRIBUTORS) file.
3. Follow our [Coding Guidelines](#coding-guidelines).
4. Expect that a reviewer will ask you for restructuring your commits! This
usually happens towards the end of the lifetime of a PR when it matured
enough for merging.

# Coding Guidelines

These guidelines are horribly incomplete at this point in time, but one has to
start somewhere ;) Exactly because these guidelines are relatively new, do not be
alarmed if large parts of this repo do not follow them (yet). The idea is to
apply them incrementally on new code and when existing code is modified. These
guidelines will also evolve as time passes.

How to reference a rule in an issue or PR discussion:
```
// reference to our guideline
[G.2](https://github.com/R3BRootGroup/R3BRoot/blob/master/CONTRIBUTING.md#g.2-adopted-c++-core-guidelines)
// reference to c++ core guideline with prefix CPPCG::
[CPPCG::I.11](https://github.com/isocpp/CppCoreGuidelines/blob/master/CppCoreGuidelines.md#i11-never-transfer-ownership-by-a-raw-pointer-t-or-reference-t)
```

## G - General

### G.1 Our CI runs [`clang-tidy`](https://clang.llvm.org/extra/clang-tidy/)

**Config**: [`.clang-tidy`](.clang-tidy)

We currently do not strictly enforce *clang-tidy* checks, but the author
should try to address any warnings. The set of enabled checks will evolve over
time.

### G.2 Adopted C++ Core Guidelines

This shall be an evolving list of explicitely adopted C++ Core Guidelines:

* [CPPCG::I.11: Never transfer ownership by a raw pointer (`T*`) or reference (`T&`)](https://github.com/isocpp/CppCoreGuidelines/blob/master/CppCoreGuidelines.md#i11-never-transfer-ownership-by-a-raw-pointer-t-or-reference-t)
* If an owning raw pointer cannot be avoided for legacy reasons,
**you must add a comment documenting the ownership semantics!**

### G.3 Write a good Git history

* Follow [the seven rules of a great Git commit message](https://cbea.ms/git-commit/#seven-rules)!
* Use a meaningful commit granularity, e.g. do not mix
unrelated changes in a single commit and vice verse squash related commits
into one.
* Utilize [the commit message body to explain *what* and *why* and not *how*](https://cbea.ms/git-commit/#why-not-how).
Aim your message to be meaningful (concise, but complete
enough) to a reader in the future! See also G.4!
* Utilize [reference keywords](https://docs.github.com/en/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue#linking-a-pull-request-to-an-issue-using-a-keyword)
both in commit messages as well as in PR comments if applicable.

### G.4 Conventional Commits

* Follow the [Conventional Commits Specification](https://www.conventionalcommits.org/en/v1.0.0/)
* Adopted `type`s: `fix:`, `feat:`, `build:`, `chore:`, `ci:`, `docs:`,
`style:`, `refactor:`, `perf:`, `test:`
* If a `scope` is used, prefer the library name (first directory level below
`R3BRoot/`), e.g. `fix(base):` or `feat(geobase):`

### G.5 Signed Commits and Tags

You may use any signature format Git and Github support (SSH e.g. may be more
convenient, if one does not have a GPG key yet).

* [Github - Setup](https://docs.github.com/en/authentication/managing-commit-signature-verification/telling-git-about-your-signing-key)
* [Github - Signing Commits](https://docs.github.com/en/authentication/managing-commit-signature-verification/signing-commits)
* [Github - Signing Tags](https://docs.github.com/en/authentication/managing-commit-signature-verification/signing-tags)
* [Git - Signing Your Work](https://git-scm.com/book/en/v2/Git-Tools-Signing-Your-Work)
Make sure to consider `git config [--local|--global] commit.gpgsign true`
(scroll down to the bottom)

## D - Documentation

### D.1 Use [doxygen-style comments](https://www.doxygen.nl/manual/commands.html)

## S - Style

### S.1 Our CI enforces formatting with [`clang-format`](https://clang.llvm.org/docs/ClangFormat.html)

**Config**: [`.clang-format`](.clang-format)

Rarely, it is needed to opt-out of *clang-format* for certain code sections
because it would just make things worse.

**Example**:
```cpp
// clang-format off
fDescription.add_options()
("help", "Print this message")
("nevents", po::value<int>(), "Number of events to simulate")
("engine", po::value<vector<string>>(), "Monte Carlo engine")
("multi-threaded", "Geant4 multi threaded")
("output-file", po::value<vector<string>>(), "Output file")
("parameter-file", po::value<vector<string>>(), "Parameter file")
("random-seed", po::value<int>(), "Seed for the random number generator");
// clang-format on
```

### S.2 Prefer variable names describing *what* they contain

Avoid repeating just the typename.

**Reason**: Readability

**Example**:
```cpp
TList* list = module->GetList(); // avoid
TList* volList = module->GetListOfVolumes(); // acceptable
TList* volumes = module->GetVolumes(); // ✓ prefer

for (auto const& listEntry : *list) { /*...*/ } // avoid
for (auto const& aVol : *volList) { /*...*/ } // acceptable
for (auto const& volume : *volumes) { /*...*/ } // ✓ prefer
```
1 change: 1 addition & 0 deletions CONTRIBUTORS
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ Ponnath, Lukas [Technische Universität Darmstadt, Fachbereich Physik, Institut
Rybalchenko, Alexey
Rose, Luke [School of Physics, Engineering and Technology, University of York, YO10 5DD York, United Kingdom]
Rossi, Dominic [Technische Universität Darmstadt, Fachbereich Physik, Institut für Kernphysik, 64289 Darmstadt, Germany]
Savran, Deniz [GSI Helmholtzzentrum für Schwerionenforschung, 64291 Darmstadt, Germany]
Storck, Sonja [Technische Universität Darmstadt, Fachbereich Physik, Institut für Kernphysik, 64289 Darmstadt, Germany]
Sürder, Christian [Technische Universität Darmstadt, Fachbereich Physik, Institut für Kernphysik, 64289 Darmstadt, Germany]
Syndikus, Ina [Technische Universität Darmstadt, Fachbereich Physik, Institut für Kernphysik, 64289 Darmstadt, Germany]
Expand Down
8 changes: 5 additions & 3 deletions COPYRIGHT
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@ Upstream-Contact: Kresan Dmytro <d.kresan@gsi.de>
Source: https://github.com/R3BRootGroup/R3BRoot

Files: *
Copyright: 2009-2024, GSI Helmholtzzentrum fuer Schwerionenforschung GmbH
Copyright: 2009-2024, [see AUTHORS file]
Copyright: 2009-2024, [see CONTRIBUTORS file]
Copyright: 2009-2025, GSI Helmholtzzentrum fuer Schwerionenforschung GmbH
Copyright: 2009-2025, [see AUTHORS file]
Copyright: 2009-2025, [see CONTRIBUTORS file]
License: LGPL-3.0, [see LICENSE file]
License: GPL-3.0, [see LICENSE file]
2 changes: 1 addition & 1 deletion CTestConfig.cmake
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
##############################################################################
# Copyright (C) 2019 GSI Helmholtzzentrum für Schwerionenforschung GmbH #
# Copyright (C) 2019-2024 Members of R3B Collaboration #
# Copyright (C) 2019-2025 Members of R3B Collaboration #
# #
# This software is distributed under the terms of the #
# GNU General Public Licence (GPL) version 3, #
Expand Down
2 changes: 1 addition & 1 deletion CTestCustom.cmake
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
##############################################################################
# Copyright (C) 2019 GSI Helmholtzzentrum für Schwerionenforschung GmbH #
# Copyright (C) 2019-2024 Members of R3B Collaboration #
# Copyright (C) 2019-2025 Members of R3B Collaboration #
# #
# This software is distributed under the terms of the #
# GNU General Public Licence (GPL) version 3, #
Expand Down
2 changes: 1 addition & 1 deletion Dart.sh
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
##############################################################################
# Copyright (C) 2019 GSI Helmholtzzentrum für Schwerionenforschung GmbH #
# Copyright (C) 2019-2024 Members of R3B Collaboration #
# Copyright (C) 2019-2025 Members of R3B Collaboration #
# #
# This software is distributed under the terms of the #
# GNU General Public Licence (GPL) version 3, #
Expand Down
7 changes: 6 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# R3BRoot Software [![license](https://alfa-ci.gsi.de/shields/badge/license-GPL--3.0-orange.svg)](COPYRIGHT) [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.5549469.svg)](https://doi.org/10.5281/zenodo.5549469)
# R3BRoot Software [![license](https://alfa-ci.gsi.de/shields/badge/license-GPL--3.0-orange.svg)](COPYRIGHT) [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.5549469.svg)](https://doi.org/10.5281/zenodo.5549469) [![OpenSSF Best Practices](https://www.bestpractices.dev/projects/9851/badge)](https://www.bestpractices.dev/projects/9851) [![fair-software.eu](https://img.shields.io/badge/fair--software.eu-%E2%97%8F%20%20%E2%97%8F%20%20%E2%97%8F%20%20%E2%97%8F%20%20%E2%97%8F-green)](https://fair-software.eu)

[![CI-CD](https://github.com/R3BRootGroup/R3BRoot/actions/workflows/main.yml/badge.svg)](https://github.com/R3BRootGroup/R3BRoot/actions/workflows/main.yml) [![Static Analysis](https://github.com/R3BRootGroup/R3BRoot/actions/workflows/static_analysis.yml/badge.svg)](https://github.com/R3BRootGroup/R3BRoot/actions/workflows/static_analysis.yml) [![Validate Codemeta](https://github.com/R3BRootGroup/R3BRoot/actions/workflows/codemeta_validate.yaml/badge.svg)](https://github.com/R3BRootGroup/R3BRoot/actions/workflows/codemeta_validate.yaml) [![Cleanup Caches on PR Close](https://github.com/R3BRootGroup/R3BRoot/actions/workflows/cleanup_cache.yml/badge.svg)](https://github.com/R3BRootGroup/R3BRoot/actions/workflows/cleanup_cache.yml)

Expand Down Expand Up @@ -26,6 +26,11 @@ cd R3BRoot
git clone https://github.com/R3BRootGroup/macros.git
~~~

## Using the Project Template

R3BRoot delivers various project templates that can be used as a starting point for anybody who would like to build simulation and reconstruction algorithms. The project Templates are located in the [R3BRoot/template](template) directory.


## Step by Step Installation

### Required Software
Expand Down
2 changes: 1 addition & 1 deletion actar/ActarLinkDef.h
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

/******************************************************************************
* Copyright (C) 2019 GSI Helmholtzzentrum für Schwerionenforschung GmbH *
* Copyright (C) 2019-2024 Members of R3B Collaboration *
* Copyright (C) 2019-2025 Members of R3B Collaboration *
* *
* This software is distributed under the terms of the *
* GNU General Public Licence (GPL) version 3, *
Expand Down
2 changes: 1 addition & 1 deletion actar/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
##############################################################################
# Copyright (C) 2019 GSI Helmholtzzentrum für Schwerionenforschung GmbH #
# Copyright (C) 2019-2024 Members of R3B Collaboration #
# Copyright (C) 2019-2025 Members of R3B Collaboration #
# #
# This software is distributed under the terms of the #
# GNU General Public Licence (GPL) version 3, #
Expand Down
2 changes: 1 addition & 1 deletion actar/FastSimulation.cxx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
/******************************************************************************
* Copyright (C) 2019 GSI Helmholtzzentrum für Schwerionenforschung GmbH *
* Copyright (C) 2019-2024 Members of R3B Collaboration *
* Copyright (C) 2019-2025 Members of R3B Collaboration *
* *
* This software is distributed under the terms of the *
* GNU General Public Licence (GPL) version 3, *
Expand Down
2 changes: 1 addition & 1 deletion actar/FastSimulation.h
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
/******************************************************************************
* Copyright (C) 2019 GSI Helmholtzzentrum für Schwerionenforschung GmbH *
* Copyright (C) 2019-2024 Members of R3B Collaboration *
* Copyright (C) 2019-2025 Members of R3B Collaboration *
* *
* This software is distributed under the terms of the *
* GNU General Public Licence (GPL) version 3, *
Expand Down
2 changes: 1 addition & 1 deletion actar/GarfieldG4FastSimulationModel.cxx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
/******************************************************************************
* Copyright (C) 2019 GSI Helmholtzzentrum für Schwerionenforschung GmbH *
* Copyright (C) 2019-2024 Members of R3B Collaboration *
* Copyright (C) 2019-2025 Members of R3B Collaboration *
* *
* This software is distributed under the terms of the *
* GNU General Public Licence (GPL) version 3, *
Expand Down
2 changes: 1 addition & 1 deletion actar/GarfieldG4FastSimulationModel.h
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
/******************************************************************************
* Copyright (C) 2019 GSI Helmholtzzentrum für Schwerionenforschung GmbH *
* Copyright (C) 2019-2024 Members of R3B Collaboration *
* Copyright (C) 2019-2025 Members of R3B Collaboration *
* *
* This software is distributed under the terms of the *
* GNU General Public Licence (GPL) version 3, *
Expand Down
2 changes: 1 addition & 1 deletion actar/GarfieldMessenger.cxx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
/******************************************************************************
* Copyright (C) 2019 GSI Helmholtzzentrum für Schwerionenforschung GmbH *
* Copyright (C) 2019-2024 Members of R3B Collaboration *
* Copyright (C) 2019-2025 Members of R3B Collaboration *
* *
* This software is distributed under the terms of the *
* GNU General Public Licence (GPL) version 3, *
Expand Down
2 changes: 1 addition & 1 deletion actar/GarfieldMessenger.h
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
/******************************************************************************
* Copyright (C) 2019 GSI Helmholtzzentrum für Schwerionenforschung GmbH *
* Copyright (C) 2019-2024 Members of R3B Collaboration *
* Copyright (C) 2019-2025 Members of R3B Collaboration *
* *
* This software is distributed under the terms of the *
* GNU General Public Licence (GPL) version 3, *
Expand Down
2 changes: 1 addition & 1 deletion actar/GarfieldPhysics.cxx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
/******************************************************************************
* Copyright (C) 2019 GSI Helmholtzzentrum für Schwerionenforschung GmbH *
* Copyright (C) 2019-2024 Members of R3B Collaboration *
* Copyright (C) 2019-2025 Members of R3B Collaboration *
* *
* This software is distributed under the terms of the *
* GNU General Public Licence (GPL) version 3, *
Expand Down
2 changes: 1 addition & 1 deletion actar/GarfieldPhysics.h
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
/******************************************************************************
* Copyright (C) 2019 GSI Helmholtzzentrum für Schwerionenforschung GmbH *
* Copyright (C) 2019-2024 Members of R3B Collaboration *
* Copyright (C) 2019-2025 Members of R3B Collaboration *
* *
* This software is distributed under the terms of the *
* GNU General Public Licence (GPL) version 3, *
Expand Down
2 changes: 1 addition & 1 deletion actar/R3BActar.cxx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
/******************************************************************************
* Copyright (C) 2019 GSI Helmholtzzentrum für Schwerionenforschung GmbH *
* Copyright (C) 2019-2024 Members of R3B Collaboration *
* Copyright (C) 2019-2025 Members of R3B Collaboration *
* *
* This software is distributed under the terms of the *
* GNU General Public Licence (GPL) version 3, *
Expand Down
Loading

0 comments on commit 23c3397

Please sign in to comment.