From 3bd1d2c3ab83cecacd34fa54c4e043bacaaab5ac Mon Sep 17 00:00:00 2001
From: Will Buttinger <will.buttinger@cern.ch>
Date: Tue, 30 May 2023 19:19:07 +0200
Subject: [PATCH 1/6] prepare for root master in master branch

---
 ProjectOptions/CMakeLists.txt   | 12 ++++++------
 TestProject/cmake/testing.cmake | 13 +++++++++++--
 2 files changed, 17 insertions(+), 8 deletions(-)

diff --git a/ProjectOptions/CMakeLists.txt b/ProjectOptions/CMakeLists.txt
index 08e21f2..131712f 100644
--- a/ProjectOptions/CMakeLists.txt
+++ b/ProjectOptions/CMakeLists.txt
@@ -87,19 +87,19 @@ option( ATLAS_BUILD_BOOST "Build Boost" TRUE )
 
 # Introduce STATANA_XXX_VERSION options to control software versions
 # Also STATANA_XXX_SOURCE for controlling source where relevant (may not create these for now)
-set( STATANA_ROOT_VERSION "v6-28-04" CACHE STRING "Version of ROOT")
+set( STATANA_ROOT_VERSION "master" CACHE STRING "Version of ROOT")
 set( STATANA_PYHF_VERSION "0.7.1" CACHE STRING "Version of pyhf" ) # this currently does nothing!
 set( STATANA_ROOFITEXTENSIONS_VERSION "v1.0.4" CACHE STRING "Version of RooFitExtensions"  )
 set( STATANA_XROOFIT_VERSION "c874e0fd" CACHE STRING "Version of xRooFit"  )
-set( STATANA_COMMONSTATTOOLS_VERSION "2de12f83" CACHE STRING "Version of CommonStatTools" )
+set( STATANA_COMMONSTATTOOLS_VERSION "" CACHE STRING "Version of CommonStatTools" )
 set( STATANA_BOOTSTRAPGENERATOR_VERSION "71e6ebe2" CACHE STRING "Version of BootstrapGenerator" )
 set( STATANA_HISTFITTER_VERSION "" CACHE STRING "Version of HistFitter" )
-set( STATANA_TREXFITTER_VERSION "TRExFitter-00-04-21" CACHE STRING "Version of TRExFitter" )
+set( STATANA_TREXFITTER_VERSION "" CACHE STRING "Version of TRExFitter" )
 set( STATANA_SIGNIFICANCE_VERSION "d59b9a2" CACHE STRING "Version of Significance" )
 set( STATANA_ROOUNFOLD_VERSION "924c8b60" CACHE STRING "Version of RooUnfold" )
-set( STATANA_QUICKFIT_VERSION "e56ede5b" CACHE STRING "Version of quickFit" )
-set( STATANA_WORKSPACECOMBINER_VERSION "d41b333b" CACHE STRING "Version of workspaceCombiner" )
-set( STATANA_XMLANAWSBUILDER_VERSION "a89c1178" CACHE STRING "Version of xmlAnaWSBuilder" )
+set( STATANA_QUICKFIT_VERSION "" CACHE STRING "Version of quickFit" )
+set( STATANA_WORKSPACECOMBINER_VERSION "" CACHE STRING "Version of workspaceCombiner" )
+set( STATANA_XMLANAWSBUILDER_VERSION "" CACHE STRING "Version of xmlAnaWSBuilder" )
 
 option( TRACK_CHANGES "forces cmake to detect changes in directories of submodules and recompile if changes detected - slower to build, but required for development" ON)
 
diff --git a/TestProject/cmake/testing.cmake b/TestProject/cmake/testing.cmake
index c08d1df..b2f42f5 100644
--- a/TestProject/cmake/testing.cmake
+++ b/TestProject/cmake/testing.cmake
@@ -3,8 +3,17 @@ file(GLOB TestScripts "${CMAKE_CURRENT_SOURCE_DIR}/tests/*/*.sh")
 
 foreach(TestScript ${TestScripts})
   get_filename_component(TestName ${TestScript} NAME)
-  add_test(NAME ${TestName} WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} COMMAND bash -e ${TestScript})
-  set_tests_properties(${TestName} PROPERTIES ENVIRONMENT "PYTHONPATH=$ENV{PYTHONPATH}:${EXPORT_PYTHONPATH};LD_LIBRARY_PATH=$ENV{LD_LIBRARY_PATH}:${EXPORT_LD_LIBRARY_PATH}")
+  get_filename_component(TestDir ${TestScript} DIRECTORY)
+  get_filename_component(TestDir ${TestDir} NAME)
+  string(TOUPPER ${TestDir} TestDir)
+  # todo: this check requires the cmake cache variables to be moved somewhere so they can be loaded here
+  if( (NOT DEFINED ${STATANA_${TestDir}_VERSION}) OR (NOT ${STATANA_${TestDir}_VERSION} STREQUAL ""))
+    add_test(NAME ${TestName} WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} COMMAND bash -e ${TestScript})
+    set_tests_properties(${TestName} PROPERTIES ENVIRONMENT "PYTHONPATH=$ENV{PYTHONPATH}:${EXPORT_PYTHONPATH};LD_LIBRARY_PATH=$ENV{LD_LIBRARY_PATH}:${EXPORT_LD_LIBRARY_PATH}")
+  else()
+    message(STATUS "Skipping test " ${TestScript})
+  endif()
 endforeach()
 
+
 enable_testing()
-- 
GitLab


From 1a69a5453aec63509bf99a1cfaa1c5c5ddd68e10 Mon Sep 17 00:00:00 2001
From: Will Buttinger <will.buttinger@cern.ch>
Date: Wed, 31 May 2023 18:54:16 +0200
Subject: [PATCH 2/6] Update .gitlab-ci.yml

---
 .gitlab-ci.yml | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 3be474b..e5d174a 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -7,6 +7,14 @@
 #  - A Docker image can be created with the help of the RPM file, and uploaded
 #    into gitlab-registry.cern.ch.
 
+# this snippet prevents pipelines starting for branches that have an MR open, so as to avoid duplications
+workflow:
+  rules:
+    - if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
+    - if: '$CI_COMMIT_BRANCH && $CI_OPEN_MERGE_REQUESTS'
+      when: never
+    - if: '$CI_COMMIT_BRANCH'
+
 # "Global" build stages.
 stages:
   - build
@@ -101,7 +109,7 @@ docker:
     - docker-image-build
   script: echo
   rules:
-    - if: ($CI_PIPELINE_SOURCE == "merge_request_event" || ($CI_PIPELINE_SOURCE == "schedule"  && $BUILD_BASE_IMAGE == "true"))
+    - if: (($CI_PIPELINE_SOURCE == "schedule"  && $BUILD_BASE_IMAGE == "true"))
       when: never
     - if: $CI_PROJECT_NAMESPACE == "atlas"
       variables:
@@ -126,6 +134,7 @@ test:
     - make
     - ctest --output-on-failure --output-junit ./../testRes.xml # Actually execute tests embedded in testproject
     - ls ./../
+  allow_failure: true # IMPORTANT: Should remove this line once tests are fixed (can handle missing components)
   artifacts:
     when: always
     reports:
-- 
GitLab


From debc5cfaaa114ece04046fb6ed5aaac294ac65ad Mon Sep 17 00:00:00 2001
From: Will Buttinger <will.buttinger@cern.ch>
Date: Wed, 31 May 2023 18:57:45 +0200
Subject: [PATCH 3/6] Update CMakeLists.txt

---
 CMakeLists.txt | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index f28f475..9035741 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -3,7 +3,7 @@
 # Set up the project.
 cmake_minimum_required( VERSION 3.6 )
 set(CMAKE_FIND_NO_INSTALL_PREFIX TRUE) # don't add installation location to find path
-project( StatAnalysis VERSION 0.2.1 LANGUAGES C CXX )
+project( StatAnalysis VERSION 999.999.999 LANGUAGES C CXX )
 
 # set (CMAKE_FIND_PACKAGE_PREFER_CONFIG TRUE) # this is here so that if using ROOT from local install its picked up
 
-- 
GitLab


From 78f7bd0b0acfb58ed969eb9d74b4fbab916052fe Mon Sep 17 00:00:00 2001
From: Tomas Dado <tomas.dado@cern.ch>
Date: Thu, 1 Jun 2023 17:03:31 +0200
Subject: [PATCH 4/6] Updating TRExFitter and CommonStatTools

---
 ProjectOptions/CMakeLists.txt | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/ProjectOptions/CMakeLists.txt b/ProjectOptions/CMakeLists.txt
index 131712f..199a3de 100644
--- a/ProjectOptions/CMakeLists.txt
+++ b/ProjectOptions/CMakeLists.txt
@@ -91,10 +91,10 @@ set( STATANA_ROOT_VERSION "master" CACHE STRING "Version of ROOT")
 set( STATANA_PYHF_VERSION "0.7.1" CACHE STRING "Version of pyhf" ) # this currently does nothing!
 set( STATANA_ROOFITEXTENSIONS_VERSION "v1.0.4" CACHE STRING "Version of RooFitExtensions"  )
 set( STATANA_XROOFIT_VERSION "c874e0fd" CACHE STRING "Version of xRooFit"  )
-set( STATANA_COMMONSTATTOOLS_VERSION "" CACHE STRING "Version of CommonStatTools" )
+set( STATANA_COMMONSTATTOOLS_VERSION "39f8ee13" CACHE STRING "Version of CommonStatTools" )
 set( STATANA_BOOTSTRAPGENERATOR_VERSION "71e6ebe2" CACHE STRING "Version of BootstrapGenerator" )
 set( STATANA_HISTFITTER_VERSION "" CACHE STRING "Version of HistFitter" )
-set( STATANA_TREXFITTER_VERSION "" CACHE STRING "Version of TRExFitter" )
+set( STATANA_TREXFITTER_VERSION "7ba3158c" CACHE STRING "Version of TRExFitter" )
 set( STATANA_SIGNIFICANCE_VERSION "d59b9a2" CACHE STRING "Version of Significance" )
 set( STATANA_ROOUNFOLD_VERSION "924c8b60" CACHE STRING "Version of RooUnfold" )
 set( STATANA_QUICKFIT_VERSION "" CACHE STRING "Version of quickFit" )
-- 
GitLab


From 18b9645c3bbf2d987c30be15708e2acdd527d6a7 Mon Sep 17 00:00:00 2001
From: Hongtao Yang <Hongtao.Yang@cern.ch>
Date: Fri, 2 Jun 2023 17:19:23 +0200
Subject: [PATCH 5/6] Fixing compilation error against latest ROOT version for
 quickFit and xmlAnaWSBuilder

---
 ProjectOptions/CMakeLists.txt | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/ProjectOptions/CMakeLists.txt b/ProjectOptions/CMakeLists.txt
index 199a3de..c744418 100644
--- a/ProjectOptions/CMakeLists.txt
+++ b/ProjectOptions/CMakeLists.txt
@@ -97,9 +97,9 @@ set( STATANA_HISTFITTER_VERSION "" CACHE STRING "Version of HistFitter" )
 set( STATANA_TREXFITTER_VERSION "7ba3158c" CACHE STRING "Version of TRExFitter" )
 set( STATANA_SIGNIFICANCE_VERSION "d59b9a2" CACHE STRING "Version of Significance" )
 set( STATANA_ROOUNFOLD_VERSION "924c8b60" CACHE STRING "Version of RooUnfold" )
-set( STATANA_QUICKFIT_VERSION "" CACHE STRING "Version of quickFit" )
+set( STATANA_QUICKFIT_VERSION "46aa84f9" CACHE STRING "Version of quickFit" )
 set( STATANA_WORKSPACECOMBINER_VERSION "" CACHE STRING "Version of workspaceCombiner" )
-set( STATANA_XMLANAWSBUILDER_VERSION "" CACHE STRING "Version of xmlAnaWSBuilder" )
+set( STATANA_XMLANAWSBUILDER_VERSION "ba8fda1a" CACHE STRING "Version of xmlAnaWSBuilder" )
 
 option( TRACK_CHANGES "forces cmake to detect changes in directories of submodules and recompile if changes detected - slower to build, but required for development" ON)
 
-- 
GitLab


From 602679d41bcf8c4db00100573a272157625c9c5a Mon Sep 17 00:00:00 2001
From: Hongtao Yang <Hongtao.Yang@cern.ch>
Date: Thu, 7 Dec 2023 14:40:53 +0100
Subject: [PATCH 6/6] Updating software releasese for xmlAnaWSBuilder,
 quickFit, and worskpaceCombiner

---
 ProjectOptions/CMakeLists.txt | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/ProjectOptions/CMakeLists.txt b/ProjectOptions/CMakeLists.txt
index 4123ccd..e8c1d02 100644
--- a/ProjectOptions/CMakeLists.txt
+++ b/ProjectOptions/CMakeLists.txt
@@ -98,9 +98,9 @@ set( STATANA_HISTFITTER_VERSION "v1.3.0" CACHE STRING "Version of HistFitter" )
 set( STATANA_TREXFITTER_VERSION "TRExFitter-00-04-26" CACHE STRING "Version of TRExFitter" )
 set( STATANA_SIGNIFICANCE_VERSION "d59b9a2" CACHE STRING "Version of Significance" )
 set( STATANA_ROOUNFOLD_VERSION "" CACHE STRING "Version of RooUnfold" )
-set( STATANA_QUICKFIT_VERSION "" CACHE STRING "Version of quickFit" )
-set( STATANA_WORKSPACECOMBINER_VERSION "" CACHE STRING "Version of workspaceCombiner" )
-set( STATANA_XMLANAWSBUILDER_VERSION "ba8fda1a" CACHE STRING "Version of xmlAnaWSBuilder" )
+set( STATANA_QUICKFIT_VERSION "73075ec1" CACHE STRING "Version of quickFit" )
+set( STATANA_WORKSPACECOMBINER_VERSION "2aeab14a" CACHE STRING "Version of workspaceCombiner" )
+set( STATANA_XMLANAWSBUILDER_VERSION "c84841c4" CACHE STRING "Version of xmlAnaWSBuilder" )
 
 option( TRACK_CHANGES "forces cmake to detect changes in directories of submodules and recompile if changes detected - slower to build, but required for development" ON)
 
-- 
GitLab