From 58ee2f4082d241b1a03f5256bfb219ef288a4dd5 Mon Sep 17 00:00:00 2001 From: Noah Oblath Date: Fri, 3 Feb 2023 13:21:18 -0800 Subject: [PATCH 1/5] Dev build based on Ubuntu 22.04 --- Dev/Dockerfile | 4 ++-- Scripts/install_other_packages.sh | 2 +- Scripts/install_packages.sh | 3 +++ 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/Dev/Dockerfile b/Dev/Dockerfile index 79d89fa..cfd8b83 100644 --- a/Dev/Dockerfile +++ b/Dev/Dockerfile @@ -1,5 +1,5 @@ -ARG img_repo=python -ARG img_tag=bullseye +ARG img_repo=ubuntu +ARG img_tag=22.04 FROM ${img_repo}:${img_tag} as base_image diff --git a/Scripts/install_other_packages.sh b/Scripts/install_other_packages.sh index 8d26ba6..e832d2a 100755 --- a/Scripts/install_other_packages.sh +++ b/Scripts/install_other_packages.sh @@ -11,7 +11,7 @@ # # List files to be downloaded/used -ROOT_TARBALL="root_v6.22.06.Linux-ubuntu20-x86_64-gcc9.3.tar.gz" +ROOT_TARBALL="root_v6.26.10.Linux-ubuntu22-x86_64-gcc11.3.tar.gz" cd /usr/local diff --git a/Scripts/install_packages.sh b/Scripts/install_packages.sh index 05cebb9..ee3f1d7 100755 --- a/Scripts/install_packages.sh +++ b/Scripts/install_packages.sh @@ -51,10 +51,13 @@ if [[ "$1" = "dev" ]]; then DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \ build-essential \ dpkg-dev \ + wget \ cmake \ clang \ openssl \ vim \ + python3 \ + pipenv \ libgsl-dev \ libopenblas-dev \ liblapack-dev \ From bdfbee96995af1becd1e1ce8c82d8ac76c9b7335 Mon Sep 17 00:00:00 2001 From: Noah Oblath Date: Fri, 3 Feb 2023 13:59:19 -0800 Subject: [PATCH 2/5] Updated the Prod image for a build based on Ubuntu 22.04 --- Prod/Dockerfile | 5 +++-- Scripts/install_packages.sh | 14 ++++++++------ 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/Prod/Dockerfile b/Prod/Dockerfile index 24c503b..b108176 100644 --- a/Prod/Dockerfile +++ b/Prod/Dockerfile @@ -1,5 +1,5 @@ -ARG img_repo=python -ARG img_tag=bullseye +ARG img_repo=ubuntu +ARG img_tag=22.04 FROM ${img_repo}:${img_tag} as base_image @@ -38,6 +38,7 @@ RUN ${scripts_dir}/install_packages.sh prod &&\ ${scripts_dir}/install_other_packages.sh &&\ apt-get purge -y \ wget \ + pipenv \ libhdf5-dev \ &&\ ${scripts_dir}/create_common_setup.sh &&\ diff --git a/Scripts/install_packages.sh b/Scripts/install_packages.sh index ee3f1d7..b72ec7e 100755 --- a/Scripts/install_packages.sh +++ b/Scripts/install_packages.sh @@ -78,17 +78,19 @@ if [[ "$1" = "dev" ]]; then rapidjson-dev \ pybind11-dev elif [[ "$1" = "prod" ]]; then - DEBIAN_FRONTEND=noninteractive apt-get install -y \ + DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \ build-essential \ wget \ - libgsl25 \ + python3.10-minimal \ + pipenv \ + libgsl27 \ libx11-6 \ libxpm4 \ libxft2 \ libxext6 \ libpng16-16 \ - libjpeg62-turbo \ - libssl1.1 \ + libjpeg9 \ + libssl3 \ libfftw3-double3 \ libboost-date-time1.74.0 \ libboost-filesystem1.74.0 \ @@ -99,8 +101,8 @@ elif [[ "$1" = "prod" ]]; then libhdf5-cpp-103 \ libhdf5-dev \ libmatio11 \ - libvtk9 \ - libyaml-cpp0.6 \ + libvtk9.1 \ + libyaml-cpp0.7 \ rapidjson-dev else exit 1 From ce4fc8cccce02a566b8094c7443a77599b7c9b08 Mon Sep 17 00:00:00 2001 From: Noah Oblath Date: Fri, 3 Feb 2023 14:27:20 -0800 Subject: [PATCH 3/5] Change the base image to ubuntu:22.04 in the GHA build --- .github/workflows/build.yaml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index a9eaec2..7cbdb69 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -10,6 +10,8 @@ on: env: REGISTRY: ghcr.io + BASE_REPO: ubuntu + BASE_TAG: "22.04" jobs: @@ -79,8 +81,8 @@ jobs: file: ${{ matrix.build }}/Dockerfile push: ${{ github.event_name == 'push' && contains(github.ref, 'refs/tags/') }} build-args: | - img_repo=python - img_tag=bullseye + img_repo=${{ env.BASE_REPO }} + img_tag=${{ env.BASE_TAG }} common_tag=${{ steps.tag_name.outputs.tag }} tags: ${{ steps.docker_meta.outputs.tags }} platforms: linux/amd64 From 5cfee0e73111d4df1e3972a4953025534afd8361 Mon Sep 17 00:00:00 2001 From: Penny Slocum Date: Wed, 8 Feb 2023 16:11:16 -0500 Subject: [PATCH 4/5] Add boost::atomic to [prod] build. --- Scripts/install_packages.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/Scripts/install_packages.sh b/Scripts/install_packages.sh index b72ec7e..50887d2 100755 --- a/Scripts/install_packages.sh +++ b/Scripts/install_packages.sh @@ -97,6 +97,7 @@ elif [[ "$1" = "prod" ]]; then libboost-program-options1.74.0 \ libboost-system1.74.0 \ libboost-thread1.74.0 \ + libboost-atomic1.74.0 \ libeigen3-dev \ libhdf5-cpp-103 \ libhdf5-dev \ From b38a00953cfeadfa0300cd378c005cabb505c40b Mon Sep 17 00:00:00 2001 From: Noah Oblath Date: Thu, 9 Feb 2023 16:55:09 -0800 Subject: [PATCH 5/5] Documentation updates --- Documentation/ValidationLog.rst | 13 +++++++++++++ README.md | 4 +++- Scripts/install_packages.sh | 2 ++ 3 files changed, 18 insertions(+), 1 deletion(-) diff --git a/Documentation/ValidationLog.rst b/Documentation/ValidationLog.rst index 5dc7c31..dcf0668 100644 --- a/Documentation/ValidationLog.rst +++ b/Documentation/ValidationLog.rst @@ -43,6 +43,19 @@ Fixes: Log --- +Version: 1.3.3 +~~~~~~~~~~~~~~~ + +Release Date: Feb 23, 2023 +''''''''''''''''''''''''''''''' + +New Features: +''''''''''''' + +* Ubuntu base image +* Dev/Prod split (v1.3.0) + + Version: 1.2.0 ~~~~~~~~~~~~~~~ diff --git a/README.md b/README.md index 196e9b1..ca811ff 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ This repo includes the Dockerfiles for the base images of the Project 8 analysis The Dev image includes packages that are needed to build the Project 8 software (usually ending in `-dev`). The Prod image includes non-dev packages that are necessary to run Project 8 software. The Prod image is about a factor of two smaller than the Dev image when built. -These images are based on the `python/bullseye (Debian-based) image. +These images are based on the Ubuntu 22.04 image. Dockerfiles for individual software packages can be found in their respective repositories. They are all based on the `luna_base` image. @@ -13,6 +13,7 @@ Dockerfiles for individual software packages can be found in their respective re Installed by aptitude for Dev/Prod (and what requires it): * build-essential / build-essential (many things) * dpkg-dev / [none] (many things) +* python3 / python3.10-minimal (many things) * cmake / [none] (any dev work) * git / [none] (any dev work) * vim / [none] (any dev work) @@ -30,6 +31,7 @@ Installed by aptitude for Dev/Prod (and what requires it): * libjpeg-dev / libjpeg62-turbo (ROOT) * libfftw3-dev / libfftw3-double3 (Katydid, Locust, ROOT, ...) * libboost-all-dev / [none] (many things) +* [none] / libboost-atomic1.74.0 (many things) * [none] / libboost-date-time1.74.0 (many things) * [none] / libboost-filesystem1.74.0 (many things) * [none] / libboost-program-options1.74.0 (Katydid) diff --git a/Scripts/install_packages.sh b/Scripts/install_packages.sh index 50887d2..a467d63 100755 --- a/Scripts/install_packages.sh +++ b/Scripts/install_packages.sh @@ -13,6 +13,7 @@ # Current dependencies installed # - build-essential: anything to be built; standard libraries # - dpkg-dev: ??? +# - python3.10-minimal: anything using Python # - cmake: anything to be built # - clang: anything to be built with clang # - git: any p8 projects to be built @@ -31,6 +32,7 @@ # - libpng(-dev): ROOT # - libjpeg(-dev): ROOT # - libfftw3(-dev): ROOT, Katydid, Locust +# - libboost-atomic: Katydid, Locust # - libboost-date-time: Katydid, Locust # - libboost-filesystem: Katydid, Locust # - libboost-program-options: Katydid