diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 17d625fe5346b889ec1ce6d485335714f9f95dbe..5c0cb0dfb4cc171c3d3cfdfd8912ca8027529b9f 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -37,19 +37,13 @@ stages: .envvar_template: variables: CEPCSW_LCG_RELEASE: LCG - CEPCSW_LCG_PLATFORM: x86_64-centos7-gcc11-opt - CEPCSW_LCG_VERSION: 103.0.2 - -.build_template: - extends: .envvar_template - stage: build - script: - - bash ./.build.ci.sh - - bash ./.test.ci.sh + CEPCSW_LCG_PLATFORM: x86_64-el9-gcc11-opt + CEPCSW_LCG_VERSION: 105.0.0 # for k8s .build_template_k8s: extends: .envvar_template + image: cepc/cepcsw-cvmfs:el9 stage: build tags: - k8s # using k8s as runner @@ -59,37 +53,11 @@ stages: - bash ./.build.ci.sh - bash ./.test.ci.sh -############################################################################## -# Build & Test in CentOS 7 (LCG) -############################################################################## -# build:lcg:el7: -# extends: .build_template -# tags: -# - centos7 -# artifacts: -# paths: -# - InstallArea -# - TDR_o1_v01.tgeo.root -# - TDR_o1_v02.tgeo.root -# reports: -# junit: build.${CEPCSW_LCG_VERSION}.${CEPCSW_LCG_PLATFORM}/cepcsw-ctest-result.xml - - ############################################################################## # Build & Test in k8s (LCG) ############################################################################## -# build:lcg:el7:k8s: -# extends: .build_template_k8s -# image: cepc/cepcsw-cvmfs:el7 -# rules: -# - if: $CI_PIPELINE_SOURCE == 'merge_request_event' -# when: manual build:lcg:el9:k8s: extends: .build_template_k8s - image: cepc/cepcsw-cvmfs:el9 - variables: - CEPCSW_LCG_PLATFORM: x86_64-el9-gcc11-opt - CEPCSW_LCG_VERSION: 105.0.0 rules: - if: $CI_PIPELINE_SOURCE == 'merge_request_event' when: manual @@ -97,15 +65,14 @@ build:lcg:el9:k8s: reports: junit: build.${CEPCSW_LCG_VERSION}.${CEPCSW_LCG_PLATFORM}/cepcsw-ctest-result.xml - ############################################################################## # Build the docs ############################################################################## build:docs:k8s: extends: .build_template_k8s - image: cepc/cepcsw-cvmfs:el9 + image: sphinxdoc/sphinx script: - - bash ./.build.ci.sh docs + - bash build-docs.sh artifacts: paths: - docs/build/html/ diff --git a/README.md b/README.md index b3b51f89febcd2830a2aadcdc95e9695b506f339..788c7024d9801566dfd1524911bca0c597012973 100644 --- a/README.md +++ b/README.md @@ -7,10 +7,7 @@ CEPC offline software prototype based on [Key4hep](https://github.com/key4hep). ## Quick start -SSH to lxlogin (Alma Linux 9) and start the container CentOS 7: -``` -$ /cvmfs/container.ihep.ac.cn/bin/hep_container shell CentOS7 -``` +SSH to lxlogin (Alma Linux 9). Before run following commands, please make sure you setup the CVMFS: @@ -20,6 +17,7 @@ $ cd CEPCSW $ git checkout master # branch name $ source setup.sh $ ./build.sh +$ source setup.sh $ ./run.sh Examples/options/helloalg.py ``` @@ -37,8 +35,3 @@ $ ./run.sh Examples/options/helloalg.py * Reconstruction: Reconstruction - -## CyberPFA-5.0.1-dev (developing) -* Based on CEPCSW tag tdr 24.12.0 - - diff --git a/build-docs.sh b/build-docs.sh index 6ab5cd7a5eb419557136e194b186a2d9ac26edb8..085360bd7fa916916fd1fb49eecac157f409e495 100755 --- a/build-docs.sh +++ b/build-docs.sh @@ -2,19 +2,32 @@ # Description: # This script is used to build the CEPCSW docs. +function install-sphinx() { + if [ ! -d "venv" ]; then + python -m venv venv + source venv/bin/activate + # pip install -r requirements.txt + pip install sphinx-rtd-theme myst-parser + else + source venv/bin/activate + fi +} + function check-sphinx() { which sphinx-build >& /dev/null } function run-build-docs() { - pushd docs make html - popd } +pushd docs +install-sphinx + if check-sphinx; then run-build-docs else echo "Please setup sphinx before build the docs. " 1>&2 exit -1 fi +popd diff --git a/docs/source/quickstart/quickstart.md b/docs/source/quickstart/quickstart.md index 969f9b0231a7c6699a3dfe4cb2862b1be1537a9c..505b94f5c222866903fc4bb16339d6881893a4cd 100644 --- a/docs/source/quickstart/quickstart.md +++ b/docs/source/quickstart/quickstart.md @@ -13,7 +13,7 @@ It consists three major parts: To use CEPCSW, users can use the software release deployed at IHEP's CVMFS or build from source code. -Currently, the libraries are built in `CentOS 7`. If you are using other different operating systems, you can consider to use the container technologies, such as Docker, Apptainer. +Currently, the libraries are built in `AlmaLinux 9` (previously it is `CentOS 7`). If you are using other different operating systems, you can consider to use the container technologies, such as Docker, Apptainer. ### SSH login If you already have an IHEP AFS account, you can first login using an SSH client, such as OpenSSH: @@ -21,8 +21,10 @@ If you already have an IHEP AFS account, you can first login using an SSH client $ ssh -Y username@lxlogin.ihep.ac.cn ``` -### Start CentOS 7 container -Then, you need to **start the container** with following command: +### Start container if necessary (optional) +Before start the container, make sure you really need it. Since tdr25.3, the default OS is AlmaLinux 9. If you still work on an older version, then you need the CentOS 7 container. + +Then, you need to **start the container** with following command if necessary: ```bash $ /cvmfs/container.ihep.ac.cn/bin/hep_container shell CentOS7 ``` @@ -51,12 +53,10 @@ REDHAT_SUPPORT_PRODUCT_VERSION="7" As CEPCSW is already deployed at IHEP CVMFS. You can use it as following: ```bash -Singularity> source /cvmfs/cepcsw.ihep.ac.cn/prototype/releases/tdr24.5.0/CEPCSW/setup.sh -INFO: Setup CEPCSW externals: /cvmfs/cepcsw.ihep.ac.cn/prototype/releases/externals/103.0.2/setup-103.0.2.sh -INFO: Setup CEPCSW: /cvmfs/cepcsw.ihep.ac.cn/prototype/releases/tdr24.5.0/CEPCSW/InstallArea +$ source /cvmfs/cepcsw.ihep.ac.cn/prototype/releases/tdr25.3.2/CEPCSW/setup.sh ``` -From the output, you will know the current version of external libraries is 103.0.2. This is based on the LCG 103. +From the output, you will know the current version of external libraries is 105.0.0. This is based on the LCG 105. To start a simulation and reconstruction with `TDR_o1_v1`: ```bash @@ -129,7 +129,9 @@ There are two options: * One is that install CVMFS in your machine directly. * Another is that install CVMFS in the Docker container. -We provide two images for the two cases: +We provide several images for the two cases: +* `cepc/cepcsw:el9` +* `cepc/cepcsw-cvmfs:el9` * `cepc/cepcsw:el7` * `cepc/cepcsw-cvmfs:el7` @@ -161,13 +163,13 @@ $ sudo cvmfs_config setup After you see CVMFS is setup without issues, you can try to access the CEPCSW: ```bash -ls /cvmfs/cepcsw.ihep.ac.cn/prototype/releases/tdr24.5.0 +ls /cvmfs/cepcsw.ihep.ac.cn/prototype/releases/tdr25.3.2 CEPCSW CEPCSWData ``` Now, you can start the container with following long command: ```bash -$ docker run --privileged --rm -i -t -v /home:/home -v /cvmfs/sft.cern.ch:/cvmfs/sft.cern.ch -v /cvmfs/geant4.cern.ch:/cvmfs/geant4.cern.ch -v /cvmfs/cepcsw.ihep.ac.cn:/cvmfs/cepcsw.ihep.ac.cn -v /cvmfs/container.ihep.ac.cn:/cvmfs/container.ihep.ac.cn cepc/cepcsw:el7 /bin/bash +$ docker run --privileged --rm -i -t -v /home:/home -v /cvmfs/sft.cern.ch:/cvmfs/sft.cern.ch -v /cvmfs/geant4.cern.ch:/cvmfs/geant4.cern.ch -v /cvmfs/cepcsw.ihep.ac.cn:/cvmfs/cepcsw.ihep.ac.cn -v /cvmfs/container.ihep.ac.cn:/cvmfs/container.ihep.ac.cn cepc/cepcsw:el9 /bin/bash ``` The option `-v` allows the Docker container to access the directories in the local machine. @@ -176,7 +178,7 @@ The option `-v` allows the Docker container to access the directories in the loc We also provide a Docker image with cvmfs client installed inside. ```bash -$ docker run --privileged --rm -i -t -v /home:/home cepc/cepcsw-cvmfs:el7 /bin/bash +$ docker run --privileged --rm -i -t -v /home:/home cepc/cepcsw-cvmfs:el9 /bin/bash ``` Now, you should be in the container. However, the cvmfs is not setup automatically. You need to mount the repositories manually. Here is an example: @@ -190,9 +192,7 @@ Then, you should be able access the necessary CVMFS repositories. For example, setting up an existing CEPCSW: ```bash -$ source /cvmfs/cepcsw.ihep.ac.cn/prototype/releases/tdr24.5.0/CEPCSW/setup.sh -INFO: Setup CEPCSW externals: /cvmfs/cepcsw.ihep.ac.cn/prototype/releases/externals/103.0.2/setup-103.0.2.sh -INFO: Setup CEPCSW: /cvmfs/cepcsw.ihep.ac.cn/prototype/releases/tdr24.5.0/CEPCSW/InstallArea +$ source /cvmfs/cepcsw.ihep.ac.cn/prototype/releases/tdr25.3.2/CEPCSW/setup.sh ``` Run a simulation: