Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
56 changes: 56 additions & 0 deletions .github/workflows/weekly_build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,34 @@ jobs:
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}

push-apollo-debug-deps-image-to-docker-hub:
name: DockerPublishApolloDebugDeps
runs-on: ubuntu-latest
steps:
- name: Check out the repo
uses: actions/checkout@v3

- name: Log in to Docker Hub
uses: docker/login-action@f054a8b539a109f9f41c372932f1ae047eff08c9
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}

- name: Extract metadata (tags, labels) for Docker
id: meta
uses: docker/metadata-action@98669ae865ea3cffbcbaa878cf57c20bbf1c6c38
with:
images: alexanderianblair/apollo-debug-deps

- name: Build and push Docker image
uses: docker/build-push-action@ad44023a93711e3deb337508980b4b5e9bcdc5dc
with:
context: docker/apollo-debug-deps/
file: docker/apollo-debug-deps/Dockerfile
push: true
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}

push-apollo-image-to-docker-hub:
name: DockerPublishApollo
runs-on: ubuntu-latest
Expand Down Expand Up @@ -61,3 +89,31 @@ jobs:
push: true
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}

push-apollo-debug-image-to-docker-hub:
name: DockerPublishApolloDebug
runs-on: ubuntu-latest
steps:
- name: Check out the repo
uses: actions/checkout@v3

- name: Log in to Docker Hub
uses: docker/login-action@f054a8b539a109f9f41c372932f1ae047eff08c9
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}

- name: Extract metadata (tags, labels) for Docker
id: meta
uses: docker/metadata-action@98669ae865ea3cffbcbaa878cf57c20bbf1c6c38
with:
images: alexanderianblair/apollo-debug

- name: Build and push Docker image
uses: docker/build-push-action@ad44023a93711e3deb337508980b4b5e9bcdc5dc
with:
context: docker/apollo-debug/
file: docker/apollo-debug/Dockerfile
push: true
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
47 changes: 47 additions & 0 deletions docker/apollo-debug-deps/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
# Build Apollo dependencies
# Get base image
FROM alexanderianblair/hephaestus-debug-deps:master

# By default one core is used to compile
ARG compile_cores=4

# By default checkout mfem-moose branch
ARG WORKDIR="opt"

#Configure MOOSE
RUN export MOOSE_JOBS="$compile_cores" && \
cd /$WORKDIR && \
git clone https://github.com/idaholab/moose && \
cd moose && \
git checkout master && \
export PETSC_DIR=/$WORKDIR/petsc && \
export PETSC_ARCH=arch-linux-c-opt && \
export CC=mpicc && \
export CXX=mpicxx && \
export F90=mpif90 && \
export F77=mpif77 && \
export FC=mpif90 && \
METHOD=dbg ./scripts/update_and_rebuild_libmesh.sh --with-mpi && \
./configure --with-derivative-size=200 --with-ad-indexing-type=global

# Build WASP
RUN cd /$WORKDIR/moose/scripts && \
METHOD=dbg ./update_and_rebuild_wasp.sh

# Build MOOSE
RUN cd /$WORKDIR/moose/framework && \
METHOD=dbg make -j"$compile_cores"

RUN cd /$WORKDIR/moose/test && \
METHOD=dbg make -j"$compile_cores"

# This is needed or it mpiexec complains because docker runs as root
# Discussion on this issue https://github.com/open-mpi/ompi/issues/4451
ENV OMPI_ALLOW_RUN_AS_ROOT=1
ENV OMPI_ALLOW_RUN_AS_ROOT_CONFIRM=1

# RUN cd /$WORKDIR/moose/test && \
# ./run_tests -j"$compile_cores" --re='(?!initial_condition.newton_with_exact_initialization)'

# ENV OMPI_ALLOW_RUN_AS_ROOT=
# ENV OMPI_ALLOW_RUN_AS_ROOT_CONFIRM=
36 changes: 36 additions & 0 deletions docker/apollo-debug/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
# Build and test Apollo image
# Get base image
FROM alexanderianblair/apollo-debug-deps:master

# By default one core is used to compile
ARG compile_cores=4

# By default checkout mfem-moose branch
ARG WORKDIR="opt"
ARG build_git_sha="master"

# Get Apollo with Hephaestus
RUN cd /$WORKDIR && \
git clone https://github.com/aurora-multiphysics/apollo.git && \
cd apollo && \
git checkout "$build_git_sha" && \
git submodule update --init --recursive

# Build Hephaestus
RUN cd /$WORKDIR/apollo/contrib/hephaestus/ && \
mkdir build && \
cd build && \
cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Debug -DMFEM_DIR=/$WORKDIR/mfem/build -DMFEM_COMMON_INCLUDES=/$WORKDIR/mfem/miniapps/common .. && \
make -j1

# Test Hephaestus
RUN cd /$WORKDIR/apollo/contrib/hephaestus/build && \
make test

# Build Apollo
RUN cd /$WORKDIR/apollo && \
METHOD=dbg make -j"$compile_cores"

# Test Apollo
RUN cd /$WORKDIR/apollo && \
METHOD=dbg make test