Skip to content

Add catalyst and adios #152

Add catalyst and adios

Add catalyst and adios #152

name: Docker Build TPLs
on: pull_request
# Cancels in-progress workflows for a PR when updated
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
build_images:
name: ${{ matrix.name }}
runs-on: ubuntu-22.04
strategy:
# In-progress jobs will not be cancelled if there is a failure
fail-fast : false
matrix:
include:
- name: Pangea 2 (centos 7.6, gcc 8.3.0, open-mpi 2.1.5, mkl 2019.3)
DOCKER_REPOSITORY: geosx/pangea2-gcc8.3.0-openmpi2.1.5-mkl2019.3
DOCKERFILE: docker/TotalEnergies/Dockerfile
DOCKER_ROOT_IMAGE: totogaz/pangea2-gcc8.3.0-openmpi2.1.5-mkl2019.3-no-geosx:0.0.1
INSTALL_DIR_ROOT: /workrd/SCR/GEOSX/install/gcc8
- name: Pecan GPU (centos 7.7, gcc 8.2.0, open-mpi 4.0.1, mkl 2019.5, cuda 11.5.119)
DOCKER_REPOSITORY: geosx/pecan-gpu-gcc8.2.0-openmpi4.0.1-mkl2019.5-cuda11.5.119
DOCKERFILE: docker/TotalEnergies/Dockerfile
DOCKER_ROOT_IMAGE: totogaz/pecan-gcc8.2.0-openmpi4.0.1-mkl2019.5-cuda11.5.119-no-geosx:0.0.1
HOST_CONFIG: docker/TotalEnergies/pecan-GPU.cmake
INSTALL_DIR_ROOT: /shared/data1/Users/j0436735/travis-deployments/GPU
- name: Pecan CPU (centos 7.7, gcc 8.2.0, open-mpi 4.0.1, mkl 2019.5)
DOCKER_REPOSITORY: geosx/pecan-cpu-gcc8.2.0-openmpi4.0.1-mkl2019.5
DOCKERFILE: docker/TotalEnergies/Dockerfile
DOCKER_ROOT_IMAGE: totogaz/pecan-gcc8.2.0-openmpi4.0.1-mkl2019.5-cuda11.5.119-no-geosx:0.0.1
HOST_CONFIG: docker/TotalEnergies/pecan-CPU.cmake
INSTALL_DIR_ROOT: /shared/data1/Users/j0436735/travis-deployments/CPU
- name: Sherlock CPU (centos 7.9.2009, gcc 10.1.0, open-mpi 4.1.2, openblas 0.3.10, zlib 1.2.11)
DOCKER_REPOSITORY: geosx/sherlock-gcc10.1.0-openmpi4.1.2-openblas0.3.10-zlib1.2.11
DOCKERFILE: docker/Stanford/Dockerfile
DOCKER_ROOT_IMAGE: matteofrigo5/sherlock-gcc10.1.0-openmpi4.1.2-cuda11.7.1-openblas0.3.10-zlib1.2.11-no-geosx:0.0.2
HOST_CONFIG: docker/Stanford/sherlock-gcc10-ompi4.1.2-openblas0.3.10.cmake
INSTALL_DIR_ROOT: /oak/stanford/groups/tchelepi/geos-sherlock/CPU
- name: Sherlock GPU (centos 7.9.2009, gcc 10.1.0, open-mpi 4.1.2, cuda 11.7.1, openblas 0.3.10, zlib 1.2.11)
DOCKER_REPOSITORY: geosx/sherlock-gcc10.1.0-openmpi4.1.2-cuda11.7.1-openblas0.3.10-zlib1.2.11
DOCKERFILE: docker/Stanford/Dockerfile
DOCKER_ROOT_IMAGE: matteofrigo5/sherlock-gcc10.1.0-openmpi4.1.2-cuda11.7.1-openblas0.3.10-zlib1.2.11-no-geosx:0.0.2
HOST_CONFIG: docker/Stanford/sherlock-gcc10-ompi4.1.2-openblas0.3.10-cuda11.7.1-sm70.cmake
INSTALL_DIR_ROOT: /oak/stanford/groups/tchelepi/geos-sherlock/GPU
- name: Ubuntu (20.04, gcc 9.3.0, open-mpi 4.0.3)
DOCKER_REPOSITORY: geosx/ubuntu20.04-gcc9
DOCKERFILE: docker/gcc-ubuntu/Dockerfile
DOCKER_ROOT_IMAGE: ubuntu:20.04
DOCKER_COMPILER_BUILD_ARG: "--build-arg GCC_MAJOR_VERSION=9"
- name: Ubuntu (20.04, gcc 10.3.0, open-mpi 4.0.3) - github codespaces
DOCKER_REPOSITORY: geosx/ubuntu20.04-gcc10
DOCKERFILE: docker/gcc-ubuntu/Dockerfile
DOCKER_ROOT_IMAGE: mcr.microsoft.com/vscode/devcontainers/base:ubuntu-20.04
DOCKER_COMPILER_BUILD_ARG: "--build-arg GCC_MAJOR_VERSION=10"
- name: Ubuntu (22.04, gcc 11.2.0, open-mpi 4.1.2)
DOCKER_ROOT_IMAGE: ubuntu:22.04
DOCKER_REPOSITORY: geosx/ubuntu22.04-gcc11
DOCKERFILE: docker/gcc-ubuntu/Dockerfile
DOCKER_COMPILER_BUILD_ARG: "--build-arg GCC_MAJOR_VERSION=11"
- name: Ubuntu (22.04, gcc 12.3.0, open-mpi 4.1.2)
DOCKER_ROOT_IMAGE: ubuntu:22.04
DOCKER_REPOSITORY: geosx/ubuntu22.04-gcc12
DOCKERFILE: docker/gcc-ubuntu/Dockerfile
DOCKER_COMPILER_BUILD_ARG: "--build-arg GCC_MAJOR_VERSION=12"
- name: Ubuntu (20.04, clang 10.0.0 + gcc 9.4.0, open-mpi 4.0.3, cuda-11.8.89)
DOCKER_REPOSITORY: geosx/ubuntu20.04-clang10.0.0-cuda11.8.89
DOCKERFILE: docker/clang-cuda/Dockerfile
- name: Centos (7.7, gcc 8.3.1, open-mpi 1.10.7, cuda 11.8.89)
DOCKER_REPOSITORY: geosx/centos7.7-gcc8.3.1-cuda11.8.89
DOCKERFILE: docker/gcc-cuda/Dockerfile
steps:
- name: Checkout
uses: actions/checkout@v3
with:
submodules: true
lfs: true
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Login to DockerHub
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Print environment
run: printenv
- name: Run the docker build and push docker script
env:
DOCKERFILE: ${{ matrix.DOCKERFILE }}
DOCKER_REPOSITORY: ${{ matrix.DOCKER_REPOSITORY }}
DOCKER_COMPILER_BUILD_ARG: ${{ matrix.DOCKER_COMPILER_BUILD_ARG }}
INSTALL_DIR_ROOT: ${{ matrix.INSTALL_DIR_ROOT || '/opt/GEOS' }}
HOST_CONFIG: ${{ matrix.HOST_CONFIG || 'host-configs/environment.cmake'}}
DOCKER_ROOT_IMAGE: ${{ matrix.DOCKER_ROOT_IMAGE || 'undefined' }}
PULL_REQUEST_NUMBER: ${{ github.event.number }}
BUILD_NUMBER: ${{ github.run_number }}
COMMIT: ${{ github.sha }}
BUILD_DIR: ${{ github.workspace }}
run: bash -x ./scripts/docker_build_and_push.sh
# Convenience job - passes when all docker images are built.
check_that_all_images_built:
runs-on: ubuntu-22.04
needs: [build_images]
steps:
- name: Success
run: "true"