From 995af296482af80b0dbe49fe28c36483c85c43d5 Mon Sep 17 00:00:00 2001
From: "Patrick L.S. Connor" <connorpa@mail.desy.de>
Date: Thu, 18 Jul 2024 09:30:43 +0200
Subject: [PATCH 1/5] temporary fix for Core CI (waiting for Corevim main.tex
 and Corecmake --build build -j)

---
 .gitlab-ci.yml | 117 +++++++++++++++----------------------------------
 1 file changed, 36 insertions(+), 81 deletions(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index b1d4ab05..fa7aa533 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,11 +1,8 @@
-image: gitlab-registry.cern.ch/ci-tools/ci-worker:cc7
-
 before_script:
-    - source /cvmfs/cms.cern.ch/cmsset_default.sh
-    - shopt -s expand_aliases  # allows aliases like cmsenv to be used
-    - yum install -y openssl-devel python3 zsh
+  - yum install -y cmake python3 zsh which libtirpc libicu libglvnd-glx pcre2-utf16 libXrender libSM glibc-devel zlib-devel git-lfs
+  - source /cvmfs/sft.cern.ch/lcg/views/LCG_104/x86_64-el9-gcc13-opt/setup.sh
 
-installation_cmake:
+installation:
     stage: build
     variables:
         GIT_STRATEGY: none  # Will be checked out by the installer
@@ -15,12 +12,12 @@ installation_cmake:
         paths:
         - Installer/
     script:
-        - source /cvmfs/sft.cern.ch/lcg/views/LCG_104/x86_64-centos7-gcc12-opt/setup.sh 
         # Get the installer
         - git clone https://gitlab.cern.ch/lmoureau/Darwin.git -b feature/cmake Installer  # TODO
         # Compile everything (with ninja!)
         - cmake Installer -B build -G Ninja -DCORE_GIT_REPOSITORY="$CI_REPOSITORY_URL" -DCORE_GIT_TAG="$CI_COMMIT_REF_NAME"
         - cmake --build build --target install -j
+        # TODO: doxygen
 
 test_cmake:
     stage: test
@@ -31,52 +28,17 @@ test_cmake:
     artifacts:
         when: always
         paths:
-          - Installer/Core.build/bin/printDarwinSoftwareVersion
           - Installer/Core.build/test_report.xml
           - Installer/Core.build/Testing/Temporary/LastTest.log
         reports:
           junit: Installer/Core.build/test_report.xml
     script:
-        - source /cvmfs/sft.cern.ch/lcg/views/LCG_104/x86_64-centos7-gcc12-opt/setup.sh
-        - cd Installer/Core.build
+        - cd Installer
+        - source tools/setup.sh
+        - printDarwinSoftwareVersion
+        - cd Core.build
         - ctest --output-junit test_report.xml -j$(nproc)
 
-
-installation:
-    stage: build
-    variables:
-        GIT_STRATEGY: clone
-    tags:
-        - cvmfs
-    artifacts:
-        paths:
-        - DAS/
-    script:
-        - yum install -y cmake3
-        # All the cd and mv gymnastics below is there to make sure install.sh
-        # picks up the version of Core we want to test.
-        # We start within a copy of the right version of Core. Rename it so we
-        # can move it more easily later.
-        - REPO=$PWD
-        - cd ..
-        - mv $REPO $REPO.bak
-        # Create an empty dir with the same name so GitLab copies artifacts.
-        - mkdir $REPO
-        - cd $REPO
-        # Now get the installer and run it.
-        - git clone https://gitlab.cern.ch/cms-analysis/general/DasAnalysisSystem/gitlab-profile.git DAS
-        - cd DAS
-        - ./install.sh
-        - cd CMSSW_*; cmsenv; cd ..
-        # Delete the Core fetched by the installer and replace it with our own.
-        - rm -rf CMSSW_*/src/Core
-        - mv $REPO.bak CMSSW_12_4_0/src/Core
-        # Finally compile everything.
-        - cd CMSSW_*
-        - scram b -j$(nproc)
-        # And generate the docs.
-        - src/Core/CommonTools/doc/mkDoc
-
 clang-format:
     stage: test
     variables:
@@ -85,39 +47,37 @@ clang-format:
         - cvmfs
     allow_failure: true
     script:
-        - cd DAS/CMSSW_*
-        - cmsenv
         - echo $CI_MERGE_REQUEST_SOURCE_BRANCH_NAME
         - echo $CI_MERGE_REQUEST_TARGET_BRANCH_NAME
         - git-clang-format --diff $CI_MERGE_REQUEST_SOURCE_BRANCH_NAME
         - git-clang-format --diff $CI_MERGE_REQUEST_TARGET_BRANCH_NAME
         - "[[ -z \"$(git-clang-format -q --diff $CI_MERGE_REQUEST_TARGET_BRANCH_NAME)\" ]]"
 
-analysis:
-    retry: 2
-    stage: test
-    variables:
-        GIT_STRATEGY: none
-    tags:
-        - cvmfs
-    allow_failure: true
-    artifacts:
-        when: on_failure
-        paths:
-            - _test
-    script:
-        - TEST_FOLDER=$PWD/_test
-        - |
-          (cd DAS/CMSSW_*/src/Core/Ntupliser/test
-           cmsenv
-           ./mkFastSimTestSample.sh $TEST_FOLDER
-           ./mkNtuple.sh $TEST_FOLDER/mc   $TEST_FOLDER/MINIAODSIMv2-DYToLL_M-50_13TeV_pythia8_cff-UL18.root yes
-           ./mkNtuple.sh $TEST_FOLDER/data $TEST_FOLDER/MINIAODv2-DYToLL_M-50_13TeV_pythia8_cff-UL18.root    no)
-        - find $TEST_FOLDER
-        - source /cvmfs/sft.cern.ch/lcg/views/LCG_104/x86_64-centos7-gcc12-opt/setup.sh
-        - source Installer/tools/setup.sh
-        - Installer/Core/Ntupliser/test/runAnalysis.sh $TEST_FOLDER/mc   $TEST_FOLDER/mc/ntuple.root   yes
-        - Installer/Core/Ntupliser/test/runAnalysis.sh $TEST_FOLDER/data $TEST_FOLDER/data/ntuple.root no
+# TODO: first solve https://gitlab.cern.ch/cms-analysis/general/DasAnalysisSystem/Core/-/merge_requests/170
+#analysis:
+#    retry: 2
+#    stage: test
+#    variables:
+#        GIT_STRATEGY: none
+#    tags:
+#        - cvmfs
+#    allow_failure: true
+#    artifacts:
+#        when: on_failure
+#        paths:
+#            - _test
+#    script:
+#        - TEST_FOLDER=$PWD/_test
+#        - |
+#          (cd DAS/CMSSW_*/src/Core/Ntupliser/test
+#           cmsenv
+#           ./mkFastSimTestSample.sh $TEST_FOLDER
+#           ./mkNtuple.sh $TEST_FOLDER/mc   $TEST_FOLDER/MINIAODSIMv2-DYToLL_M-50_13TeV_pythia8_cff-UL18.root yes
+#           ./mkNtuple.sh $TEST_FOLDER/data $TEST_FOLDER/MINIAODv2-DYToLL_M-50_13TeV_pythia8_cff-UL18.root    no)
+#        - find $TEST_FOLDER
+#        - source Installer/tools/setup.sh
+#        - Installer/Core/Ntupliser/test/runAnalysis.sh $TEST_FOLDER/mc   $TEST_FOLDER/mc/ntuple.root   yes
+#        - Installer/Core/Ntupliser/test/runAnalysis.sh $TEST_FOLDER/data $TEST_FOLDER/data/ntuple.root no
 
 pages:
     stage: deploy
@@ -132,17 +92,12 @@ pages:
         - if: $CI_COMMIT_REF_NAME == $CI_DEFAULT_BRANCH
     tags:
         - cvmfs
-    before_script:
-        - yum install -y zsh ghostscript
-    script:
-        - source /cvmfs/sft.cern.ch/lcg/releases/gcc/9.3.0-467e1/x86_64-centos7/setup.sh
-        - source /cvmfs/sft.cern.ch/lcg/views/LCG_100/x86_64-centos7-gcc9-opt/setup.sh
+    script: # TODO: first solve https://gitlab.cern.ch/cms-analysis/general/DasAnalysisSystem/Core/-/merge_requests/152
+        - yum install -y ghostscript
         - export PATH=/cvmfs/sft.cern.ch/lcg/external/texlive/latest/bin/x86_64-linux:$PATH
         - doxygen --version
-        - cd DAS/CMSSW_*
         - VERSION=$CI_COMMIT_SHA
-          CMSSW_BASE=$PWD
-          doxygen src/Core/CommonTools/doc/Doxyfile
+          doxygen Core/CommonTools/doc/Doxyfile
         - mv doc/html $OLDPWD/public
         - make -C doc/latex || cat doc/latex/refman.log
         - mv doc/latex/ $OLDPWD
-- 
GitLab


From 95cf8a8a5a3743185488ec4ef77734299bc16d44 Mon Sep 17 00:00:00 2001
From: "Patrick L.S. Connor" <connorpa@mail.desy.de>
Date: Thu, 18 Jul 2024 09:46:00 +0200
Subject: [PATCH 2/5] trying CI without ninja

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

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index fa7aa533..fe151786 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -14,8 +14,8 @@ installation:
     script:
         # Get the installer
         - git clone https://gitlab.cern.ch/lmoureau/Darwin.git -b feature/cmake Installer  # TODO
-        # Compile everything (with ninja!)
-        - cmake Installer -B build -G Ninja -DCORE_GIT_REPOSITORY="$CI_REPOSITORY_URL" -DCORE_GIT_TAG="$CI_COMMIT_REF_NAME"
+        # Compile everything
+        - cmake Installer -B build -DCORE_GIT_REPOSITORY="$CI_REPOSITORY_URL" -DCORE_GIT_TAG="$CI_COMMIT_REF_NAME"
         - cmake --build build --target install -j
         # TODO: doxygen
 
-- 
GitLab


From 23d4ab334ceb3dae69a768bd88aa227fbf55c807 Mon Sep 17 00:00:00 2001
From: "Patrick L.S. Connor" <connorpa@mail.desy.de>
Date: Thu, 18 Jul 2024 10:00:03 +0200
Subject: [PATCH 3/5] controlling the number of parallel tasks

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

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index fe151786..3558cddc 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -16,7 +16,7 @@ installation:
         - git clone https://gitlab.cern.ch/lmoureau/Darwin.git -b feature/cmake Installer  # TODO
         # Compile everything
         - cmake Installer -B build -DCORE_GIT_REPOSITORY="$CI_REPOSITORY_URL" -DCORE_GIT_TAG="$CI_COMMIT_REF_NAME"
-        - cmake --build build --target install -j
+        - cmake --build build --target install -j$(nproc)
         # TODO: doxygen
 
 test_cmake:
-- 
GitLab


From 2b4b89c4c3ba9891d1e5200cd144ddb2b19b3c0f Mon Sep 17 00:00:00 2001
From: "Patrick L.S. Connor" <connorpa@mail.desy.de>
Date: Thu, 18 Jul 2024 10:55:17 +0200
Subject: [PATCH 4/5] changing Installer version

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

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 3558cddc..f8a8028a 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -13,7 +13,7 @@ installation:
         - Installer/
     script:
         # Get the installer
-        - git clone https://gitlab.cern.ch/lmoureau/Darwin.git -b feature/cmake Installer  # TODO
+        - git clone https://gitlab.cern.ch/cms-analysis/general/DasAnalysisSystem/gitlab-profile.git -b micromamba Installer  # TODO: change to main branch once the whole migration is done
         # Compile everything
         - cmake Installer -B build -DCORE_GIT_REPOSITORY="$CI_REPOSITORY_URL" -DCORE_GIT_TAG="$CI_COMMIT_REF_NAME"
         - cmake --build build --target install -j$(nproc)
-- 
GitLab


From ce05f5ab380e565de08e5e927b46943510657e42 Mon Sep 17 00:00:00 2001
From: "Patrick L.S. Connor" <connorpa@mail.desy.de>
Date: Fri, 19 Jul 2024 08:41:17 +0200
Subject: [PATCH 5/5] Addressing Louis' comments

---
 .gitlab-ci.yml | 54 +++++++++++++++++++++++++-------------------------
 1 file changed, 27 insertions(+), 27 deletions(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index f8a8028a..f2ec2c68 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,6 +1,6 @@
 before_script:
-  - yum install -y cmake python3 zsh which libtirpc libicu libglvnd-glx pcre2-utf16 libXrender libSM glibc-devel zlib-devel git-lfs
-  - source /cvmfs/sft.cern.ch/lcg/views/LCG_104/x86_64-el9-gcc13-opt/setup.sh
+    - yum install -y cmake python3 zsh which libtirpc libicu libglvnd-glx pcre2-utf16 libXrender libSM glibc-devel zlib-devel git-lfs
+    - source /cvmfs/sft.cern.ch/lcg/views/LCG_104/x86_64-el9-gcc13-opt/setup.sh
 
 installation:
     stage: build
@@ -53,31 +53,31 @@ clang-format:
         - git-clang-format --diff $CI_MERGE_REQUEST_TARGET_BRANCH_NAME
         - "[[ -z \"$(git-clang-format -q --diff $CI_MERGE_REQUEST_TARGET_BRANCH_NAME)\" ]]"
 
-# TODO: first solve https://gitlab.cern.ch/cms-analysis/general/DasAnalysisSystem/Core/-/merge_requests/170
-#analysis:
-#    retry: 2
-#    stage: test
-#    variables:
-#        GIT_STRATEGY: none
-#    tags:
-#        - cvmfs
-#    allow_failure: true
-#    artifacts:
-#        when: on_failure
-#        paths:
-#            - _test
-#    script:
-#        - TEST_FOLDER=$PWD/_test
-#        - |
-#          (cd DAS/CMSSW_*/src/Core/Ntupliser/test
-#           cmsenv
-#           ./mkFastSimTestSample.sh $TEST_FOLDER
-#           ./mkNtuple.sh $TEST_FOLDER/mc   $TEST_FOLDER/MINIAODSIMv2-DYToLL_M-50_13TeV_pythia8_cff-UL18.root yes
-#           ./mkNtuple.sh $TEST_FOLDER/data $TEST_FOLDER/MINIAODv2-DYToLL_M-50_13TeV_pythia8_cff-UL18.root    no)
-#        - find $TEST_FOLDER
-#        - source Installer/tools/setup.sh
-#        - Installer/Core/Ntupliser/test/runAnalysis.sh $TEST_FOLDER/mc   $TEST_FOLDER/mc/ntuple.root   yes
-#        - Installer/Core/Ntupliser/test/runAnalysis.sh $TEST_FOLDER/data $TEST_FOLDER/data/ntuple.root no
+analysis:
+    allow_failure: true # TODO: finalise https://gitlab.cern.ch/cms-analysis/general/DasAnalysisSystem/Core/-/merge_requests/170
+    retry: 2
+    stage: test
+    variables:
+        GIT_STRATEGY: none
+    tags:
+        - cvmfs
+    allow_failure: true
+    artifacts:
+        when: on_failure
+        paths:
+            - _test
+    script:
+        - TEST_FOLDER=$PWD/_test
+        - |
+          (cd DAS/CMSSW_*/src/Core/Ntupliser/test
+           cmsenv
+           ./mkFastSimTestSample.sh $TEST_FOLDER
+           ./mkNtuple.sh $TEST_FOLDER/mc   $TEST_FOLDER/MINIAODSIMv2-DYToLL_M-50_13TeV_pythia8_cff-UL18.root yes
+           ./mkNtuple.sh $TEST_FOLDER/data $TEST_FOLDER/MINIAODv2-DYToLL_M-50_13TeV_pythia8_cff-UL18.root    no)
+        - find $TEST_FOLDER
+        - source Installer/tools/setup.sh
+        - Installer/Core/Ntupliser/test/runAnalysis.sh $TEST_FOLDER/mc   $TEST_FOLDER/mc/ntuple.root   yes
+        - Installer/Core/Ntupliser/test/runAnalysis.sh $TEST_FOLDER/data $TEST_FOLDER/data/ntuple.root no
 
 pages:
     stage: deploy
-- 
GitLab