From 9f10802384df7640938bf1eb19534f7e822b04ba Mon Sep 17 00:00:00 2001
From: lintao <lintao@ihep.ac.cn>
Date: Wed, 5 Mar 2025 23:44:54 +0800
Subject: [PATCH 01/11] docs: Switch to Alma Linux 9.

---
 README.md | 11 ++---------
 1 file changed, 2 insertions(+), 9 deletions(-)

diff --git a/README.md b/README.md
index b3b51f89..788c7024 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
-
-
-- 
GitLab


From aea3db67280e00fa3f9159f0e2f5dd9d804f6425 Mon Sep 17 00:00:00 2001
From: lintao <lintao@ihep.ac.cn>
Date: Wed, 5 Mar 2025 23:53:17 +0800
Subject: [PATCH 02/11] update docs.

---
 docs/source/quickstart/quickstart.md | 28 ++++++++++++++--------------
 1 file changed, 14 insertions(+), 14 deletions(-)

diff --git a/docs/source/quickstart/quickstart.md b/docs/source/quickstart/quickstart.md
index 969f9b02..505b94f5 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:
-- 
GitLab


From 9283b86f9ced89d87200541f0eb047025ea965e8 Mon Sep 17 00:00:00 2001
From: lintao <lintao@ihep.ac.cn>
Date: Wed, 5 Mar 2025 23:57:25 +0800
Subject: [PATCH 03/11] try to fix the CI for docs

---
 .gitlab-ci.yml | 32 ++++----------------------------
 1 file changed, 4 insertions(+), 28 deletions(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 17d625fe..d4274f5a 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -37,15 +37,8 @@ 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:
@@ -59,37 +52,20 @@ 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
+#   CEPCSW_LCG_PLATFORM: x86_64-centos7-gcc11-opt
+#   CEPCSW_LCG_VERSION: 103.0.2
 #   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
-- 
GitLab


From 2148c1709bcad05a7cec2c5e5fc3b6b469efba8f Mon Sep 17 00:00:00 2001
From: lintao <lintao@ihep.ac.cn>
Date: Thu, 6 Mar 2025 00:02:23 +0800
Subject: [PATCH 04/11] fix the cvmfs issue.

---
 .gitlab-ci.yml | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index d4274f5a..ee7b05f2 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -79,8 +79,9 @@ build:lcg:el9:k8s:
 ##############################################################################
 build:docs:k8s:
   extends: .build_template_k8s
-  image: cepc/cepcsw-cvmfs:el9
   script:
+    - sed -i 's%^CVMFS_HTTP_PROXY=.*%CVMFS_HTTP_PROXY=http://squid-01.ihep.ac.cn:3128%' /etc/cvmfs/default.local
+    - for repo in sft.cern.ch cepcsw.ihep.ac.cn; do [ -d "/cvmfs/$repo" ] || mkdir /cvmfs/$repo; sudo mount -t cvmfs $repo /cvmfs/$repo; done
     - bash ./.build.ci.sh docs
   artifacts:
     paths:
-- 
GitLab


From 34c677ea5913d4e12d7cf57bfde3d2ef5839e7c6 Mon Sep 17 00:00:00 2001
From: lintao <lintao@ihep.ac.cn>
Date: Thu, 6 Mar 2025 00:05:20 +0800
Subject: [PATCH 05/11] add default image.

---
 .gitlab-ci.yml | 11 +----------
 1 file changed, 1 insertion(+), 10 deletions(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index ee7b05f2..33755829 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -43,6 +43,7 @@ stages:
 # for k8s
 .build_template_k8s:
   extends: .envvar_template
+  image: cepc/cepcsw-cvmfs:el9
   stage: build
   tags:
     - k8s # using k8s as runner
@@ -55,17 +56,8 @@ stages:
 ##############################################################################
 # Build & Test in k8s (LCG)
 ##############################################################################
-# build:lcg:el7:k8s:
-#   extends: .build_template_k8s
-#   image: cepc/cepcsw-cvmfs:el7
-#   CEPCSW_LCG_PLATFORM: x86_64-centos7-gcc11-opt
-#   CEPCSW_LCG_VERSION: 103.0.2
-#   rules:
-#     - if: $CI_PIPELINE_SOURCE == 'merge_request_event'
-#       when: manual
 build:lcg:el9:k8s:
   extends: .build_template_k8s
-  image: cepc/cepcsw-cvmfs:el9
   rules:
     - if: $CI_PIPELINE_SOURCE == 'merge_request_event'
       when: manual
@@ -73,7 +65,6 @@ build:lcg:el9:k8s:
     reports:
       junit: build.${CEPCSW_LCG_VERSION}.${CEPCSW_LCG_PLATFORM}/cepcsw-ctest-result.xml
 
-
 ##############################################################################
 # Build the docs
 ##############################################################################
-- 
GitLab


From 74e8bb04eb06fea0bbb73deaca19ec54b6fbafee Mon Sep 17 00:00:00 2001
From: lintao <lintao@ihep.ac.cn>
Date: Thu, 6 Mar 2025 00:31:30 +0800
Subject: [PATCH 06/11] don't need cvmfs for docs.

---
 .gitlab-ci.yml | 2 +-
 build-docs.sh  | 5 +++++
 2 files changed, 6 insertions(+), 1 deletion(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 33755829..23e8d90c 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -73,7 +73,7 @@ build:docs:k8s:
   script:
     - sed -i 's%^CVMFS_HTTP_PROXY=.*%CVMFS_HTTP_PROXY=http://squid-01.ihep.ac.cn:3128%' /etc/cvmfs/default.local
     - for repo in sft.cern.ch cepcsw.ihep.ac.cn; do [ -d "/cvmfs/$repo" ] || mkdir /cvmfs/$repo; sudo mount -t cvmfs $repo /cvmfs/$repo; done
-    - bash ./.build.ci.sh docs
+    - bash build-docs.sh
   artifacts:
     paths:
       - docs/build/html/
diff --git a/build-docs.sh b/build-docs.sh
index 6ab5cd7a..da3f9093 100755
--- a/build-docs.sh
+++ b/build-docs.sh
@@ -8,6 +8,11 @@ function check-sphinx() {
 
 function run-build-docs() {
     pushd docs
+    if [ ! -d "venv" ]; then
+        python -m venv venv
+        source venv/bin/activate
+        pip install -r requirements.txt
+    fi
     make html
     popd
 }
-- 
GitLab


From 06bdac26e5e1765296a3f51f72b999f042acb6d7 Mon Sep 17 00:00:00 2001
From: lintao <lintao@ihep.ac.cn>
Date: Thu, 6 Mar 2025 00:33:56 +0800
Subject: [PATCH 07/11] need to install-sphinx.

---
 build-docs.sh | 17 ++++++++++++-----
 1 file changed, 12 insertions(+), 5 deletions(-)

diff --git a/build-docs.sh b/build-docs.sh
index da3f9093..88734ed5 100755
--- a/build-docs.sh
+++ b/build-docs.sh
@@ -2,21 +2,28 @@
 # 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
+    else
+        source venv/bin/activate
+    fi
+}
+
 function check-sphinx() {
     which sphinx-build >& /dev/null
 }
 
 function run-build-docs() {
     pushd docs
-    if [ ! -d "venv" ]; then
-        python -m venv venv
-        source venv/bin/activate
-        pip install -r requirements.txt
-    fi
     make html
     popd
 }
 
+install-sphinx
+
 if check-sphinx; then
     run-build-docs
 else
-- 
GitLab


From ca205958cdf8061f3a9994bccf37aa668df6f829 Mon Sep 17 00:00:00 2001
From: lintao <lintao@ihep.ac.cn>
Date: Thu, 6 Mar 2025 00:42:51 +0800
Subject: [PATCH 08/11] try other image.

---
 .gitlab-ci.yml | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 23e8d90c..5c0cb0df 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -70,9 +70,8 @@ build:lcg:el9:k8s:
 ##############################################################################
 build:docs:k8s:
   extends: .build_template_k8s
+  image: sphinxdoc/sphinx
   script:
-    - sed -i 's%^CVMFS_HTTP_PROXY=.*%CVMFS_HTTP_PROXY=http://squid-01.ihep.ac.cn:3128%' /etc/cvmfs/default.local
-    - for repo in sft.cern.ch cepcsw.ihep.ac.cn; do [ -d "/cvmfs/$repo" ] || mkdir /cvmfs/$repo; sudo mount -t cvmfs $repo /cvmfs/$repo; done
     - bash build-docs.sh
   artifacts:
     paths:
-- 
GitLab


From 6127b91465f81511fe3dd6fa52c99c834bff45e9 Mon Sep 17 00:00:00 2001
From: lintao <lintao@ihep.ac.cn>
Date: Thu, 6 Mar 2025 00:45:39 +0800
Subject: [PATCH 09/11] update.

---
 build-docs.sh | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/build-docs.sh b/build-docs.sh
index 88734ed5..865a4262 100755
--- a/build-docs.sh
+++ b/build-docs.sh
@@ -17,11 +17,10 @@ function check-sphinx() {
 }
 
 function run-build-docs() {
-    pushd docs
     make html
-    popd
 }
 
+pushd docs
 install-sphinx
 
 if check-sphinx; then
@@ -30,3 +29,4 @@ else
     echo "Please setup sphinx before build the docs. " 1>&2
     exit -1
 fi
+popd
-- 
GitLab


From efd0a683f01f93e00668c592cae4e5be07876b8d Mon Sep 17 00:00:00 2001
From: lintao <lintao@ihep.ac.cn>
Date: Thu, 6 Mar 2025 00:48:57 +0800
Subject: [PATCH 10/11] test.

---
 build-docs.sh | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/build-docs.sh b/build-docs.sh
index 865a4262..f47d1f81 100755
--- a/build-docs.sh
+++ b/build-docs.sh
@@ -6,7 +6,8 @@ function install-sphinx() {
     if [ ! -d "venv" ]; then
         python -m venv venv
         source venv/bin/activate
-        pip install -r requirements.txt
+        # pip install -r requirements.txt
+        pip install myst-parser
     else
         source venv/bin/activate
     fi
-- 
GitLab


From 326fad86343498e142ad6e4ce3d45cd2385cf64d Mon Sep 17 00:00:00 2001
From: lintao <lintao@ihep.ac.cn>
Date: Thu, 6 Mar 2025 00:50:51 +0800
Subject: [PATCH 11/11] update.

---
 build-docs.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/build-docs.sh b/build-docs.sh
index f47d1f81..085360bd 100755
--- a/build-docs.sh
+++ b/build-docs.sh
@@ -7,7 +7,7 @@ function install-sphinx() {
         python -m venv venv
         source venv/bin/activate
         # pip install -r requirements.txt
-        pip install myst-parser
+        pip install sphinx-rtd-theme myst-parser
     else
         source venv/bin/activate
     fi
-- 
GitLab