From 48c1152d4317a078691edbec002954297705580c Mon Sep 17 00:00:00 2001
From: Matthew Feickert <matthew.feickert@cern.ch>
Date: Tue, 11 Apr 2023 17:21:23 -0500
Subject: [PATCH 1/5] feat: Update to Release 24

* As Release 22 won't be used for analysis update to use Release 24.
---
 .gitlab-ci.yml    | 4 ++--
 README.md         | 2 +-
 build_local.sh    | 2 +-
 run_docker_env.sh | 4 ++--
 4 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 5a4c3f5..54cdb72 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -7,7 +7,7 @@ before_script:
 
 compile:
   stage: build
-  image: gitlab-registry.cern.ch/atlas/athena/analysisbase:22.2.113
+  image: gitlab-registry.cern.ch/atlas/athena/analysisbase:24.2.2
   variables:
     GIT_SUBMODULE_STRATEGY: recursive
   script:
@@ -21,7 +21,7 @@ compile:
 
 run:
   stage: test
-  image: gitlab-registry.cern.ch/atlas/athena/analysisbase:22.2.113
+  image: gitlab-registry.cern.ch/atlas/athena/analysisbase:24.2.2
   before_script:
     - source /release_setup.sh
     - python3 -m venv .venv
diff --git a/README.md b/README.md
index 9ef61d1..1dfc33c 100644
--- a/README.md
+++ b/README.md
@@ -13,7 +13,7 @@ bash build_local.sh
 which is doing something similar to
 
 ```
-asetup AnalysisBase,22.2.113
+asetup AnalysisBase,24.2.2
 cmake -S src -B build
 cmake --build build --clean-first
 PYTHONPATH="$(dirname $(find . -type f -iname "PyColumnarPrototype*.so")):${PYTHONPATH}" python3 -c 'import PyColumnarPrototype; print(f"{PyColumnarPrototype.column_maker()=}")'
diff --git a/build_local.sh b/build_local.sh
index 7872e1b..914ba68 100644
--- a/build_local.sh
+++ b/build_local.sh
@@ -1,6 +1,6 @@
 #!/bin/bash
 
-_ANALYSISBASE_VERSION=22.2.113
+_ANALYSISBASE_VERSION=24.2.2
 if [ -d "/cvmfs/atlas.cern.ch" ]; then
     if [ "$(basename -- $0)" = "$(basename ${BASH_SOURCE})" ]; then
         # running in subshell
diff --git a/run_docker_env.sh b/run_docker_env.sh
index 2d1bb5c..84e7a7b 100644
--- a/run_docker_env.sh
+++ b/run_docker_env.sh
@@ -1,12 +1,12 @@
 #!/bin/bash
 
-RUNNER_IMAGE="gitlab-registry.cern.ch/atlas/athena/analysisbase:22.2.113"
+RUNNER_IMAGE="gitlab-registry.cern.ch/atlas/athena/analysisbase:24.2.2"
 
 docker pull "${RUNNER_IMAGE}"
 
 # As default user 'atlas' is uid 1000
 # ```
-# $ docker run --rm gitlab-registry.cern.ch/atlas/athena/analysisbase:22.2.113 /bin/bash -c 'id'
+# $ docker run --rm gitlab-registry.cern.ch/atlas/athena/analysisbase:24.2.2 /bin/bash -c 'id'
 # uid=1000(atlas) gid=1000(atlas) groups=1000(atlas),0(root),10(wheel)
 # ```
 # match it with `--user 1000:1000`` to ensure that output files from bindmount are under user control
-- 
GitLab


From af6e5e0579c3e201290f8ad26f77db0f625eb8f4 Mon Sep 17 00:00:00 2001
From: Matthew Feickert <matthew.feickert@cern.ch>
Date: Tue, 11 Apr 2023 17:25:45 -0500
Subject: [PATCH 2/5] Add cvmfs-venv for working virtual environments

---
 .gitlab-ci.yml | 2 +-
 build_local.sh | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 54cdb72..f3edf18 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -24,7 +24,7 @@ run:
   image: gitlab-registry.cern.ch/atlas/athena/analysisbase:24.2.2
   before_script:
     - source /release_setup.sh
-    - python3 -m venv .venv
+    - bash <(curl -sL https://raw.githubusercontent.com/matthewfeickert/cvmfs-venv/v0.0.4/cvmfs-venv.sh) .venv
     - . .venv/bin/activate
     - python -m pip install --upgrade --requirement requirements.txt
     - python -m pip list
diff --git a/build_local.sh b/build_local.sh
index 914ba68..a183a40 100644
--- a/build_local.sh
+++ b/build_local.sh
@@ -24,7 +24,7 @@ fi
 python3 -c 'import awkward' &> /dev/null
 if [ $? -eq 1 ]; then
     if [ ! -d .venv ]; then
-        python3 -m venv --system-site-packages .venv
+        bash <(curl -sL https://raw.githubusercontent.com/matthewfeickert/cvmfs-venv/v0.0.4/cvmfs-venv.sh) .venv
     fi
     . .venv/bin/activate
     python3 -m pip install --upgrade --requirement requirements.txt
-- 
GitLab


From 947998ea102ef07a76b9bc87e9ee37d1a62bb785 Mon Sep 17 00:00:00 2001
From: Matthew Feickert <matthew.feickert@cern.ch>
Date: Tue, 11 Apr 2023 17:30:08 -0500
Subject: [PATCH 3/5] Update AB version in CMakeLists.txt

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

diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 561fd8b..a2520af 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -23,7 +23,7 @@ cmake_minimum_required( VERSION 3.18...3.22 )
 project( PyColumnarPrototypeDemo VERSION 1.0.0 LANGUAGES CXX )
 
 # Find the base project.
-find_package( AnalysisBase 22.2 REQUIRED )
+find_package( AnalysisBase 24.2 REQUIRED )
 
 # Set up the project's custom CMake code.
 list( PREPEND CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake" )
@@ -50,7 +50,7 @@ add_subdirectory(bindings)
 message(STATUS "${Python_LIBRARIES}")
 
 # Set the ATLAS project, for building all packages in the repository.
-atlas_project( USE AnalysisBase 22.2 )
+atlas_project( USE AnalysisBase 24.2 )
 
 # Set up the runtime environment setup script(s).
 lcg_generate_env( SH_FILE ${CMAKE_BINARY_DIR}/${ATLAS_PLATFORM}/env_setup.sh )
-- 
GitLab


From e7fe543b7340ab72b7589441313a21abb3ebd300 Mon Sep 17 00:00:00 2001
From: Matthew Feickert <matthew.feickert@cern.ch>
Date: Thu, 13 Apr 2023 19:03:31 -0500
Subject: [PATCH 4/5] Update to v24.2.3

---
 .gitlab-ci.yml    | 4 ++--
 README.md         | 2 +-
 build_local.sh    | 2 +-
 run_docker_env.sh | 4 ++--
 4 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index f3edf18..f2a648a 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -7,7 +7,7 @@ before_script:
 
 compile:
   stage: build
-  image: gitlab-registry.cern.ch/atlas/athena/analysisbase:24.2.2
+  image: gitlab-registry.cern.ch/atlas/athena/analysisbase:24.2.3
   variables:
     GIT_SUBMODULE_STRATEGY: recursive
   script:
@@ -21,7 +21,7 @@ compile:
 
 run:
   stage: test
-  image: gitlab-registry.cern.ch/atlas/athena/analysisbase:24.2.2
+  image: gitlab-registry.cern.ch/atlas/athena/analysisbase:24.2.3
   before_script:
     - source /release_setup.sh
     - bash <(curl -sL https://raw.githubusercontent.com/matthewfeickert/cvmfs-venv/v0.0.4/cvmfs-venv.sh) .venv
diff --git a/README.md b/README.md
index 1dfc33c..024cf5c 100644
--- a/README.md
+++ b/README.md
@@ -13,7 +13,7 @@ bash build_local.sh
 which is doing something similar to
 
 ```
-asetup AnalysisBase,24.2.2
+asetup AnalysisBase,24.2.3
 cmake -S src -B build
 cmake --build build --clean-first
 PYTHONPATH="$(dirname $(find . -type f -iname "PyColumnarPrototype*.so")):${PYTHONPATH}" python3 -c 'import PyColumnarPrototype; print(f"{PyColumnarPrototype.column_maker()=}")'
diff --git a/build_local.sh b/build_local.sh
index a183a40..480407f 100644
--- a/build_local.sh
+++ b/build_local.sh
@@ -1,6 +1,6 @@
 #!/bin/bash
 
-_ANALYSISBASE_VERSION=24.2.2
+_ANALYSISBASE_VERSION=24.2.3
 if [ -d "/cvmfs/atlas.cern.ch" ]; then
     if [ "$(basename -- $0)" = "$(basename ${BASH_SOURCE})" ]; then
         # running in subshell
diff --git a/run_docker_env.sh b/run_docker_env.sh
index 84e7a7b..9ad2328 100644
--- a/run_docker_env.sh
+++ b/run_docker_env.sh
@@ -1,12 +1,12 @@
 #!/bin/bash
 
-RUNNER_IMAGE="gitlab-registry.cern.ch/atlas/athena/analysisbase:24.2.2"
+RUNNER_IMAGE="gitlab-registry.cern.ch/atlas/athena/analysisbase:24.2.3"
 
 docker pull "${RUNNER_IMAGE}"
 
 # As default user 'atlas' is uid 1000
 # ```
-# $ docker run --rm gitlab-registry.cern.ch/atlas/athena/analysisbase:24.2.2 /bin/bash -c 'id'
+# $ docker run --rm gitlab-registry.cern.ch/atlas/athena/analysisbase:24.2.3 /bin/bash -c 'id'
 # uid=1000(atlas) gid=1000(atlas) groups=1000(atlas),0(root),10(wheel)
 # ```
 # match it with `--user 1000:1000`` to ensure that output files from bindmount are under user control
-- 
GitLab


From 739b9e42f685599446dda0206079224acec740f6 Mon Sep 17 00:00:00 2001
From: Matthew Feickert <matthew.feickert@cern.ch>
Date: Thu, 13 Apr 2023 19:07:25 -0500
Subject: [PATCH 5/5] Rename columnarprototype to ColumnarPrototype to deal
 with exact string matching

---
 .gitmodules                                  | 2 +-
 src/{columnarprototype => ColumnarPrototype} | 0
 2 files changed, 1 insertion(+), 1 deletion(-)
 rename src/{columnarprototype => ColumnarPrototype} (100%)

diff --git a/.gitmodules b/.gitmodules
index 2bbc1de..52c3bc6 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -1,5 +1,5 @@
 [submodule "src/columnarprototype"]
-	path = src/columnarprototype
+	path = src/ColumnarPrototype
 	url = ../../krumnack/columnarprototype
 [submodule "src/nanobind"]
 	path = src/nanobind
diff --git a/src/columnarprototype b/src/ColumnarPrototype
similarity index 100%
rename from src/columnarprototype
rename to src/ColumnarPrototype
-- 
GitLab