File tree 4 files changed +93
-0
lines changed
contrib/docker/tester-clang
4 files changed +93
-0
lines changed Original file line number Diff line number Diff line change
1
+ name : build-dealii-master-clang
2
+
3
+ on :
4
+ workflow_dispatch :
5
+ schedule :
6
+ # * is a special character in YAML so you have to quote this string
7
+ # trigger at 1:30 am every day
8
+ - cron : ' 30 1 * * *'
9
+
10
+ concurrency :
11
+ group : build-dealii-master-clang
12
+
13
+ permissions :
14
+ contents : read
15
+ packages : write
16
+
17
+ jobs :
18
+ build-clang-master :
19
+ runs-on : ubuntu-latest
20
+ if : github.repository == 'geodynamics/aspect'
21
+ steps :
22
+ - name : Checkout code
23
+ uses : actions/checkout@v4
24
+
25
+ - name : Set up Docker Buildx
26
+ uses : docker/setup-buildx-action@v3
27
+
28
+ - name : Login to DockerHub
29
+ uses : docker/login-action@v3
30
+ with :
31
+ username : ${{ secrets.DOCKER_HUB_USERNAME }}
32
+ password : ${{ secrets.DOCKER_HUB_LOGIN }}
33
+
34
+ - name : Build and push Docker image for main
35
+ uses : docker/build-push-action@v5
36
+ with :
37
+ context : ./contrib/docker/tester-clang
38
+ cache-from : type=registry,ref=ubuntu:24.04
39
+ cache-to : type=inline
40
+ push : true
41
+ tags : geodynamics/aspect-tester:noble-dealii-master-clang
Original file line number Diff line number Diff line change
1
+ FROM ubuntu:24.04
2
+
3
+ LABEL maintainer <
[email protected] >
4
+
5
+ RUN DEBIAN_FRONTEND=noninteractive apt update && apt upgrade -yq && \
6
+ DEBIAN_FRONTEND=noninteractive apt install -yq --no-install-recommends \
7
+ build-essential ca-certificates file gcc g++ \
8
+ gfortran git libblas-dev liblapack-dev libopenmpi-dev \
9
+ lsb-release ninja-build numdiff openmpi-bin \
10
+ openmpi-common wget zlib1g-dev \
11
+ clang-tidy clang cmake libp4est-dev libsundials-dev \
12
+ mpi-default-dev trilinos-all-dev zlib1g-dev libhdf5-dev libhdf5-mpi-dev
13
+
14
+ COPY local.cfg /opt/
15
+
16
+ # Install deal.II with clang using candi:
17
+
18
+ RUN cd /opt && \
19
+ git clone https://github.com/dealii/candi && \
20
+ cd candi && \
21
+ mv /opt/local.cfg . && \
22
+ CXX=clang++ CC=clang ./candi.sh -p /opt -j2 && \
23
+ rm -rf /opt/tmp
24
+
25
+ # Set environment variables for this image to be used
26
+ # by Github Actions
27
+ ENV PATH="/opt/astyle-2.04:$PATH"
28
+ ENV DEAL_II_DIR /opt/deal.II-master
29
+ ENV OMPI_MCA_btl_base_warn_component_unused=0
30
+ ENV OMPI_MCA_mpi_yield_when_idle=1
31
+ ENV OMPI_MCA_rmaps_base_oversubscribe=1
32
+ ENV OMPI_ALLOW_RUN_AS_ROOT=1
33
+ ENV OMPI_ALLOW_RUN_AS_ROOT_CONFIRM=1
34
+
35
+ WORKDIR /opt
Original file line number Diff line number Diff line change
1
+ #! /bin/bash
2
+
3
+ # This script generates a docker image for the ASPECT tester.
4
+
5
+ docker build -t geodynamics/aspect-tester:noble-dealii-master-clang .
Original file line number Diff line number Diff line change
1
+ # Compile with debug checks, but also with optimizations to make tests run fast
2
+ USE_DEAL_II_CMAKE_MPI_COMPILER =OFF
3
+ BUILD_EXAMPLES =OFF
4
+
5
+ DEAL_II_VERSION =master
6
+
7
+ USE_64_BIT_INDICES =ON
8
+
9
+ DEAL_II_CONFOPTS =" -DDEAL_II_WITH_COMPLEX_VALUES=OFF -DCMAKE_BUILD_TYPE='DebugRelease' -DDEAL_II_CXX_FLAGS_DEBUG='-O3 -g0' -DDEAL_II_COMPONENT_EXAMPLES=OFF"
10
+
11
+ # only compile deal.II, the rest of the dependencies are installed using apt
12
+ PACKAGES =" astyle dealii"
You can’t perform that action at this time.
0 commit comments