Skip to content

Base image for releases #6

Description

@fsimonis

We currently repeat the dependencies of preCICE in some docker builds, requiring changes in all pipelines when base requirements change.
Assuming ubuntu:22.04 as baseline and ubuntu:24.04 as latest supported LTS.

flowchart LR

  A[ubuntu:22.04]--> ACI[ci-ubuntu-2204]
  A --> |download & install deb| RV[precice/precice:3.0.0]
  A --> |build & install deb| RN[precice/precice:nightly]
Loading

A better solution may be to install common base dependencies in a base docker image and build from there.

flowchart LR

  A[ubuntu:22.04]--> AB[base-ubuntu-2204]

  AB--> ACI[ci-ubuntu-2204]
  AB --> ICI[ci-intel]
  AB --> |build & install deb| RN[precice/precice:nightly]
  AB --> |download & install deb| RV[precice/precice:3.0.0]
  B[ubuntu:24.04] --> BCI[ci-ubuntu-2404]
  
  style AB stroke:#f00
Loading

What these parts include:

base

build-essential cmake git libboost-all-dev libeigen3-dev libxml2-dev petsc-dev python3-dev python3-numpy lsb-release wget

ci-images

ccache gfortran lcov libbenchmark-dev lintian python3-pip python3-venv curl
"clang"

bloat in release

This leads to bloat in releases: cmake git build-essential libeigen3-dev lsb_release
These should be removed.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions