Skip to content

Commit f0cebd9

Browse files
committed
feat(github):Upgrade to debian 12 all the CI tests, upgrade to clang-format-16 and update Readme
Minor change Minor changes for codemeta and zenodo
1 parent 4c6c2ad commit f0cebd9

11 files changed

Lines changed: 58 additions & 36 deletions

File tree

.github/ISSUE_TEMPLATE/bug_report.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,9 @@ A clear and concise description of what you expected to happen.
2020
If applicable, add logs or screenshots to help explain your problem.
2121

2222
**System information (please complete the following information):**
23-
- OS: [e.g. MacOS 12, Fedora 33, Ubuntu 20.04]
24-
- Compiler: [e.g. GCC 9.4, Clang 13]
25-
- Environment: [e.g. FairSoft version, FairRoot version]
23+
- **OS:** [e.g., macOS 15, Fedora 42, Ubuntu 25.04, Debian 13]
24+
- **Compiler:** [e.g., GCC 14.2, Clang 15.3]
25+
- **Environment:** [e.g., FairSoft version, FairRoot version]
2626

2727
**Additional context**
2828
Add any other context about the problem here.

.github/actions/cache-save/action.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ runs:
1515
steps:
1616
- name: cache ucesb
1717
id: cache-ucesb
18-
uses: actions/cache/save@v4
18+
uses: actions/cache/save@v5
1919
with:
2020
path: |
2121
${{ env.UCESB_DIR }}
@@ -25,7 +25,7 @@ runs:
2525
- name: cache r3b
2626
if: matrix.save != 'false'
2727
id: cache-r3b
28-
uses: actions/cache/save@v4
28+
uses: actions/cache/save@v5
2929
with:
3030
path: .ccache
3131
key: r3b-build-${{ inputs.cache-name }}-${{ inputs.r3b-dev-key }}

.github/actions/ctest-cdash/action.yml

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -27,9 +27,10 @@ runs:
2727
- name: running ctest
2828
run: |
2929
source $GITHUB_WORKSPACE/util/generate_geo_test.sh
30-
# ctest -S cmake/CI_CD/CDash.cmake -DBUILD_J=${NUM_THREADS}\
31-
# -DTEST_MODEL=${TEST_MODEL}\
32-
# -DTEST_NAME=${{ env.TEST_NAME }}\
33-
# -DSITE_NAME="Github hosted (${{ github.repository }})"\
34-
# -V -E "(run_gen_sim|run_digi|run_aladin_digi|califasim2|landreco|elsim)"
30+
ctest -S cmake/CI_CD/CDash.cmake -DBUILD_J=${NUM_THREADS}\
31+
-DTEST_MODEL=${TEST_MODEL}\
32+
-DTEST_NAME=${{ env.TEST_NAME }}\
33+
-DSITE_NAME="Github hosted (${{ github.repository }})"\
34+
--force-new-ctest-process \
35+
-V -E "(run_gen_sim|run_digi|run_aladin_digi|califasim2|landreco|elsim)"
3536
shell: bash

.github/actions/install-deps/action.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ runs:
1717
- name: cache ucesb
1818
if: github.event_name == 'pull_request'
1919
id: cache-ucesb
20-
uses: actions/cache/restore@v4
20+
uses: actions/cache/restore@v5
2121
with:
2222
path: |
2323
${{ env.UCESB_DIR }}
@@ -27,7 +27,7 @@ runs:
2727
- name: cache r3b
2828
if: inputs.cache-name != 'false' && github.event_name == 'pull_request'
2929
id: cache-r3b
30-
uses: actions/cache/restore@v4
30+
uses: actions/cache/restore@v5
3131
with:
3232
path: .ccache
3333
key: r3b-build-${{ inputs.cache-name }}-${{ inputs.r3b-dev-key }}

.github/actions/pre-build/action.yml

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
name: pre build
2-
description: 'steps before building R3BRoot'
2+
description: 'steps before building R3BRoot-FRS'
33

44
runs:
55
using: composite
@@ -8,9 +8,9 @@ runs:
88
run: |
99
git config --global --add safe.directory $GITHUB_WORKSPACE
1010
echo "UCESB_DIR=$GITHUB_WORKSPACE/ucesb/" >> $GITHUB_ENV
11-
export SIMPATH=${CVMDIR}/debian10/fairsoft/jan24p1
11+
export SIMPATH=${CVMDIR}/debian12/fairsoft/jan24p5
1212
echo "SIMPATH=${SIMPATH}" >> $GITHUB_ENV
13-
echo "FAIRROOTPATH=${CVMDIR}/debian10/fairroot/v18.8.2_jan24p1" >> $GITHUB_ENV
13+
echo "FAIRROOTPATH=${CVMDIR}/debian12/fairroot/v18.8.2_jan24p5" >> $GITHUB_ENV
1414
echo "${SIMPATH}/bin" >> $GITHUB_PATH
1515
# variables for ccache
1616
echo "CCACHE_BASEDIR=${GITHUB_WORKSPACE}" >> $GITHUB_ENV
@@ -26,13 +26,14 @@ runs:
2626
- name: mount cvmfs
2727
run: |
2828
apt-get update
29-
apt-get install -y ccache doxygen graphviz --fix-missing
29+
apt-get install --fix-missing -y sudo wget gnupg lsb-release
3030
wget https://cernbox.cern.ch/remote.php/dav/public-files/RmnTeeOZpYjCJQb/masterkey.gsi.de.pub
31+
mkdir -p /etc/cvmfs/keys
3132
mv masterkey.gsi.de.pub /etc/cvmfs/keys
3233
cp .github/config/fairsoft.gsi.de.conf /etc/cvmfs/config.d
34+
echo "CVMFS_USER=$(whoami)" >> /etc/cvmfs/config.d/fairsoft.gsi.de.conf
3335
mkdir -p ${CVMDIR}
3436
mount -t cvmfs fairsoft.gsi.de ${CVMDIR}
3537
mkdir -p ${UCESB_DIR}
3638
mkdir -p ${CCACHE_DIR}
37-
echo $PATH
3839
shell: bash

.github/workflows/main.yml

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ jobs:
6565
# tool-kits for the building, such as clang-tidy and cvmfs. For more
6666
# information, please visit the Docker repository at Dockerhub.
6767
container:
68-
image: yanzhaowang/cvmfs_clang:latest
68+
image: r3bdockers/debian12
6969
volumes:
7070
- /tmp:/cvmfs
7171
env:
@@ -83,7 +83,7 @@ jobs:
8383
# another github repo or a self-defined one in .github/actions.
8484
steps:
8585
# Fetch updates from pull request branches using a public github action.
86-
- uses: actions/checkout@v4
86+
- uses: actions/checkout@v5
8787
with:
8888
# This allows all commits of all branches to be fetched.
8989
fetch-depth: 0
@@ -120,9 +120,8 @@ jobs:
120120
mv frs R3BRoot
121121
mv R3BRoot frs
122122
cd frs
123-
git clone https://github.com/R3BRootGroup/macros.git
124123
mv frs/ucesb .
125-
cmake . -B build -C cmake/CI_CD/configure_options.cmake -DBUILD_GEOMETRY=OFF -DBUILD_DOXYGEN_FRS=ON
124+
cmake . -B build -C cmake/CI_CD/configure_options.cmake -DBUILD_GEOMETRY=OFF -DBUILD_DOXYGEN_FRS=OFF
126125
cd build
127126
make -j ${NUM_THREADS}
128127

.github/workflows/static_analysis.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,11 @@ jobs:
1717
runs-on: ubuntu-latest
1818

1919
steps:
20-
- uses: actions/checkout@v4
20+
- uses: actions/checkout@v5
2121
- name: Code formatting
2222
run: |
2323
cd $GITHUB_WORKSPACE
2424
sudo apt-get update
25-
sudo apt-get install clang-format-15
26-
./.clang-format-check.sh clang-format-15
25+
sudo apt-get install clang-format-16
26+
./.clang-format-check.sh clang-format-16
2727
shell: bash

.zenodo.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929
"affiliation": "Universität zu Köln, 50923 Köln, Germany"
3030
}
3131
],
32-
"description": "The FRS-R3B directory within R3BRoot contains the software for the FRS (Fragment Separator) detectors that are utilized in the FRS-R3B experiments. The FRS is a pivotal instrument for investigating nuclear reactions with relativistic radioactive beams, enabling high-precision studies of exotic nuclei and nuclear structure at the limits of stability. This software is built upon the FairRoot framework, which provides the tools necessary for both Monte Carlo simulations and data analysis of experimental results. The R3B experimental program is part of the broader nuclear physics research efforts at the FAIR (Facility for Antiproton and Ion Research), a cutting-edge international research facility that utilizes heavy-ion and antiproton beams to explore fundamental questions in nuclear physics, with a particular focus on the production and behavior of rare isotopes under extreme conditions. The FRS-R3B software package is a source distribution with recurring releases for macOS and Linux.",
32+
"description": "The FRS-R3B directory within R3BRoot contains the software for the FRS (Fragment Separator) detectors that are utilized in the FRS-R3B experiments. The FRS is a pivotal instrument for investigating nuclear reactions with relativistic radioactive beams, enabling high-precision studies of exotic nuclei and nuclear structure at the limits of stability. This software is built upon the FairRoot framework, which provides the tools necessary for both Monte Carlo simulations and data analysis of experimental results. The R3B experimental program is part of the broader nuclear physics research efforts at the FAIR (Facility for Antiproton and Ion Research), a cutting-edge international research facility that utilizes heavy-ion and antiproton beams to explore fundamental questions in nuclear physics, with a particular focus on the production and behavior of rare isotopes under extreme conditions. The FRS-R3B software package is a source distribution with recurring releases for MacOS and Linux.",
3333
"maintainers": [
3434
{
3535
"name": "Rodriguez-Sánchez, Jose Luis",
@@ -85,7 +85,7 @@
8585
],
8686
"operatingSystem": [
8787
"Linux",
88-
"macOS"
88+
"MacOS"
8989
],
9090
"keywords": [
9191
"Geant4",

README.md

Lines changed: 26 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
1-
# FRS-R3B Software [![license](https://alfa-ci.gsi.de/shields/badge/license-LGPL--3.0-orange.svg)](COPYRIGHT) [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.14294218.svg)](https://doi.org/10.5281/zenodo.14294218)
1+
# FRS-R3B Software [![license](https://img.shields.io/badge/License-GPLv3-blue.svg)](COPYRIGHT) [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.14294218.svg)](https://doi.org/10.5281/zenodo.14294218)
22

33
[![static analysis](https://github.com/R3BRootGroup/frs/actions/workflows/static_analysis.yml/badge.svg)](https://github.com/R3BRootGroup/frs/actions/workflows/static_analysis.yml) [![CI-CD](https://github.com/R3BRootGroup/frs/actions/workflows/main.yml/badge.svg)](https://github.com/R3BRootGroup/frs/actions/workflows/main.yml)
44
--------
55

66
## The FRS-R3B Framework
7-
The FRS-R3B directory within [R3BRoot](https://github.com/R3BRootGroup/R3BRoot) contains the software for the [FRS](https://wiki.gsi.de/FRS) (Fragment Separator) detectors that are utilized in the FRS-R3B experiments. The FRS is a pivotal instrument for investigating nuclear reactions with relativistic radioactive beams, enabling high-precision studies of exotic nuclei and nuclear structure at the limits of stability. This software is built upon the FairRoot framework, which provides the tools necessary for both Monte Carlo simulations and data analysis of experimental results. The R3B experimental program is part of the broader nuclear physics research efforts at the FAIR (Facility for Antiproton and Ion Research), a cutting-edge international research facility that utilizes heavy-ion and antiproton beams to explore fundamental questions in nuclear physics, with a particular focus on the production and behavior of rare isotopes under extreme conditions. The FRS-R3B software package is a source distribution with recurring releases for macOS and Linux.
7+
The FRS-R3B directory within [R3BRoot](https://github.com/R3BRootGroup/R3BRoot) contains the software for the [FRS](https://wiki.gsi.de/FRS) (Fragment Separator) detectors that are utilized in the FRS-R3B experiments. The FRS is a pivotal instrument for investigating nuclear reactions with relativistic radioactive beams, enabling high-precision studies of exotic nuclei and nuclear structure at the limits of stability. This software is built upon the FairRoot framework, which provides the tools necessary for both Monte Carlo simulations and data analysis of experimental results. The R3B experimental program is part of the broader nuclear physics research efforts at the FAIR (Facility for Antiproton and Ion Research), a cutting-edge international research facility that utilizes heavy-ion and antiproton beams to explore fundamental questions in nuclear physics, with a particular focus on the production and behavior of rare isotopes under extreme conditions. The FRS-R3B software package is a source distribution with recurring releases for MacOS and Linux.
88

99
## License
1010
FRS is distributed under the terms of the GNU Lesser General Public Licence version 3 ([GPLv3](https://github.com/R3BRootGroup/frs/blob/dev/LICENSE)).
@@ -23,15 +23,21 @@ git clone dev https://github.com/R3BRootGroup/frs.git
2323
cd frs
2424
~~~
2525

26+
## Code Formatting
27+
The FRS-R3B project (as part of R3BRoot) uses clang-format-16 to ensure a common code formatting. The script "apply-format.sh" can be used for this purpose:
28+
~~~bash
29+
bash apply-format.sh
30+
~~~
31+
2632
## Step by Step Installation
2733

2834
### Required Softwares
2935

3036
First, you will need to install FairSoft, FairRoot and R3BRoot. For more details:
3137

32-
1. Install [FairSoft](https://github.com/FairRootGroup/FairSoft)
38+
1. Install [FairSoft](https://github.com/FairRootGroup/FairSoft), required version jan24p1 or later
3339

34-
2. Install [FairRoot](http://fairroot.gsi.de)
40+
2. Install [FairRoot](https://github.com/FairRootGroup/FairRoot), required version 18.8.1 or later
3541

3642
3. Install [R3BRoot](https://github.com/R3BRootGroup/R3BRoot)
3743

@@ -78,7 +84,6 @@ export SIMPATH=%PATH_TO_FAIRSOFT%
7884
export FAIRROOTPATH=%PATH_TO_FAIRROOT%
7985
git clone dev https://github.com/R3BRootGroup/R3BRoot.git
8086
cd R3BRoot
81-
git clone dev https://github.com/R3BRootGroup/macros.git
8287
git clone dev https://github.com/R3BRootGroup/frs.git
8388
cd ..
8489
mkdir build
@@ -115,6 +120,22 @@ If the flage -DBUILD_DOXYGEN_FRS=ON is set when calling cmake, the doxygen docum
115120

116121
Doxygen documantation is also available online [here](http://R3BRootGroup.github.io/frs/html/index.html)
117122

123+
## Tested systems
124+
125+
The following systems are tested regularly.
126+
127+
| **OS Name** | **Arch** | **OS Version** | **Compiler** | **CMake** | **C++ Version** |
128+
| ----------- | -------- | -------------- | ------------- | --------------- | --------------- |
129+
| Almalinux | x86\_64 | 9.3 | GCC 11.4.1 | 3.27.9 / 4.0.3 | C++17 / C++20 / C++23 |
130+
| Almalinux | x86\_64 | 9.4 | GCC 14.2.0 | 3.30.6 | C++17 |
131+
| RHEL | x86\_64 | 9.6 | GCC 14.2.0 | 3.30.6 | C++17 |
132+
| Debian | x86\_64 | 11 | GCC 10.2.1 | 3.27.4 / 3.30.0 | C++17 |
133+
| Debian | x86\_64 | 12 | GCC 12.2.0 | 3.27.4 / 3.30.0 | C++17 / C++20 |
134+
| Debian | x86\_64 | 13 | GCC 14.2.0 | 3.31.6 / 4.0.3 | C++17 |
135+
| Ubuntu | x86\_64 | 24.04 | GCC 13.3.0 | 3.28.3 / 4.0.3 | C++17 / C++20 |
136+
| Ubuntu | x86\_64 | 25.04 | GCC 14.2.0 | 3.31.6 | C++17 |
137+
| MacOS | arm64 | 15.3 | AppleClang 15 | 4.0.3 | C++17 |
138+
118139
## More Information
119140

120141
* [Static analyzer using Clang-tidy](https://github.com/R3BRootGroup/R3BRoot/blob/dev/config/clang_tidy/README.md)

apply-format.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
#!/bin/bash
2-
find -type f | grep -e '.(\.C\|\.cpp\|\.cxx\|\.h)$' | grep -v ^./macros | xargs -L 1 clang-format-15 -i
2+
find -type f | grep -e '.(\.C\|\.cpp\|\.cxx\|\.h)$' | grep -v ^./macros | xargs -L 1 clang-format-16 -i
33
echo "Use git add -A ; git commit -m \"clang-format all files\" --author=\"white space <whitespace@example.com>\" to commit changes."

0 commit comments

Comments
 (0)