From 2d15b2a107d47f5d52183334d44a579103e07f7c Mon Sep 17 00:00:00 2001
From: Jakob Maljaars <jakob.maljaars@stcorp.nl>
Date: Thu, 31 Mar 2022 13:55:59 +0000
Subject: [PATCH] AST-875: prepare for 0.3.1 release

---
 .gitlab-ci.common.yml       | 25 +++++++++++++++++++++++++
 CMakeLists.txt              |  2 +-
 docker/Dockerfile-base-2204 | 24 ++++++++++++++++++++++++
 external/aocommon           |  2 +-
 external/schaapcommon       |  2 +-
 5 files changed, 52 insertions(+), 3 deletions(-)
 create mode 100644 docker/Dockerfile-base-2204

diff --git a/.gitlab-ci.common.yml b/.gitlab-ci.common.yml
index a9fc8d55..e50cb42c 100644
--- a/.gitlab-ci.common.yml
+++ b/.gitlab-ci.common.yml
@@ -25,8 +25,10 @@ versioning:
     # Unshallowing ensures that 'git log' works
     - git fetch --unshallow
     - echo BASE_IMAGE=${CI_REGISTRY_IMAGE}/base:$(git log -n 1 --pretty=format:%H -- docker/Dockerfile-base) > versions.env
+    - echo BASE_IMAGE_2204=${CI_REGISTRY_IMAGE}/base_2204:$(git log -n 1 --pretty=format:%H -- docker/Dockerfile-base-2204) >> versions.env
     # Tag the Everybeam image with the commit id, since it uses the Everybeam source code.
     - echo EVERYBEAM_IMAGE=${CI_REGISTRY_IMAGE}/everybeam:${CI_COMMIT_SHORT_SHA} >> versions.env
+    - echo EVERYBEAM_IMAGE_2204=${CI_REGISTRY_IMAGE}/everybeam_2204:${CI_COMMIT_SHORT_SHA} >> versions.env
     - echo FORMAT_IMAGE=${CI_REGISTRY_IMAGE}/format:$(git log -n 1 --pretty=format:%H -- docker/Dockerfile-format) >> versions.env
     - cat versions.env
   artifacts:
@@ -61,6 +63,12 @@ prepare-base:
     DOCKER_IMAGE: $BASE_IMAGE
     DOCKER_FILE: ./docker/Dockerfile-base
 
+prepare-base-2204:
+  extends: .prepare
+  variables:
+    DOCKER_IMAGE: $BASE_IMAGE_2204
+    DOCKER_FILE: ./docker/Dockerfile-base-2204
+
 # Template for jobs that depend on the optional prepare-base job.
 .needs-base:
   needs:
@@ -68,6 +76,12 @@ prepare-base:
     - job: prepare-base
       optional: true
 
+.needs-base-2204:
+  needs:
+    - job: versioning
+    - job: prepare-base-2204
+      optional: true
+
 # Create and push the format image to the gitlab registry, if it does not exist.
 prepare-format:
   extends: .prepare
@@ -134,6 +148,17 @@ build-everybeam:
   rules: # Override 'changes' rule from .prepare
     - when: always
 
+build-everybeam-2204:
+  extends: [.prepare,.needs-base-2204]
+  stage: build
+  variables:
+    DOCKER_IMAGE: $EVERYBEAM_IMAGE_2204
+    DOCKER_FILE: ./docker/Dockerfile-everybeam
+    DOCKER_BUILD_ARG: --build-arg BASE_IMAGE=${BASE_IMAGE_2204}
+  rules: # Override 'changes' rule from .prepare
+    - when: always
+
+
 build-doc:
   extends: .needs-base
   stage: build
diff --git a/CMakeLists.txt b/CMakeLists.txt
index d804a981..7f81f6dc 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -7,7 +7,7 @@ cmake_minimum_required(VERSION 3.7)
 
 #------------------------------------------------------------------------------
 # Set version name and project number
-set(EVERYBEAM_VERSION 0.3.0)
+set(EVERYBEAM_VERSION 0.3.1)
 if(EVERYBEAM_VERSION MATCHES "^([0-9]+)\\.([0-9]+)\\.([0-9]+)")
   set(EVERYBEAM_VERSION_MAJOR "${CMAKE_MATCH_1}")
   set(EVERYBEAM_VERSION_MINOR "${CMAKE_MATCH_2}")
diff --git a/docker/Dockerfile-base-2204 b/docker/Dockerfile-base-2204
new file mode 100644
index 00000000..a585f103
--- /dev/null
+++ b/docker/Dockerfile-base-2204
@@ -0,0 +1,24 @@
+# Copyright (C) 2022 ASTRON (Netherlands Institute for Radio Astronomy)
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+# base
+FROM ubuntu:22.04
+RUN export DEBIAN_FRONTEND="noninteractive" && apt-get update && apt-get upgrade -y && \
+# install astronomy packages
+    apt-get -y install casacore-dev \
+        libcfitsio-dev wcslib-dev python3-pip
+# install misc packages
+RUN apt-get update && \
+    apt-get -y install wget git make cmake g++ doxygen graphviz ninja-build \
+# install dependencies
+        libboost-all-dev libhdf5-dev libfftw3-dev \
+        libblas-dev liblapack-dev libgsl-dev libxml2-dev \
+        libpng-dev libgtkmm-3.0-dev libpython3.9-dev && \
+# Install python dependencies
+    pip3 install gcovr pytest pytest-lazy-fixture \
+    # Install python requirements for the OSKAR "integration" test
+        numpy scipy h5py astropy tqdm matplotlib pandas lofarantpos \
+    # Install python requirements for building documentation
+        sphinx sphinx_rtd_theme breathe myst-parser \
+    # Install python requirements for packaging
+        aptly-api-client
\ No newline at end of file
diff --git a/external/aocommon b/external/aocommon
index cdb618b1..415a44c7 160000
--- a/external/aocommon
+++ b/external/aocommon
@@ -1 +1 @@
-Subproject commit cdb618b1ab0320b226be18464a851104b501a0fe
+Subproject commit 415a44c78bc23509e74930f318a495ac3e4dd0ab
diff --git a/external/schaapcommon b/external/schaapcommon
index 3f75e530..1f048294 160000
--- a/external/schaapcommon
+++ b/external/schaapcommon
@@ -1 +1 @@
-Subproject commit 3f75e530ef7efaefc26df208f682f162a960dc16
+Subproject commit 1f048294a3547b933925f20e1222e83a576f2bfd
-- 
GitLab