Skip to content

Pressio/pressio-containers

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

44 Commits
 
 
 
 
 
 
 
 

Repository files navigation

pressio-containers

This repository holds all of the Dockerfiles that create the containers used throughout the Pressio ecosystem for testing. These containers allow us to, e.g., not rebuild Trilinos every time we test Pressio in CI.

Contents:

List of Containers

The following table shows the current Docker containers maintained by the pressio-containers repository. Click on a container to see its corresponding dockerfile with all dependencies.

Container Name
ubuntu-01
ubuntu-02
ubuntu-03
ubuntu-04
ubuntu-05
ubuntu-06
ubuntu-07
ubuntu-08

Adding a New Container

To add a new container you will need to create a new Dockerfile (see the docker_scripts directory for existing Dockerfiles).

Once the dockerfile has been made, simply add it to the configuration matrix of the ci-docker.yml.

For example, if the new file is called ubuntu-09.dockerfile, and uses MPI, you would add to the matrix:

jobs:
  CI:
    strategy:
      matrix:
        include:
          #
          # Current containers...
          #
          - name: ubuntu-09
            display_name: ubuntu-09, <description>
            tpl_flags: "${MPI_FLAGS} <any other flags>"

The tpl_flags are used when configuring Pressio to test with the new image.

Adding a New Version of Trilinos

To add a new version of Trilinos, create a new Dockerfile that runs the install_trilinos.sh script with the desired version or commit.

For example, this dockerfile creates a container from the 0dc4553 commit:

ARG UBUNTU_VERSION=22.04
FROM ubuntu:${UBUNTU_VERSION}

ARG TRILINOS_VERSION=0dc4553

COPY ../scripts/install_trilinos.sh /install_trilinos.sh
RUN chmod +x /install_trilinos.sh && \
    /install_trilinos.sh ${TRILINOS_VERSION}

Pushing Containers

The ci-docker.yml GitHub workflow runs on all pushes or pull requests. For every image provided in the matrix (see Adding a New Container), the workflow will perform three steps:

  1. Build the image
  2. Build and test Pressio (develop branch) inside of the container
  3. If everything passes, push the image to the Pressio container registry.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors 3

  •  
  •  
  •