Separate job script files for gmxapi package versions.
[gromacs.git] / admin / containers / buildall.sh
blobc36b07de165716eb17887c3e2fd8966b0acb4104
1 #!/bin/bash
3 set -ev
5 SCRIPT=$PWD/scripted_gmx_docker_builds.py
7 # Note: All official GROMACS CI images are built
8 # with openmpi on. That reduces the total number of
9 # images needed, because the same one can test library,
10 # thread and no MPI configurations.
12 args[${#args[@]}]="--gcc 8 --cuda 11.0 --clfft --mpi openmpi"
13 args[${#args[@]}]="--gcc 7 --clfft --mpi openmpi --ubuntu 18.04"
14 args[${#args[@]}]="--llvm 8 --tsan"
15 args[${#args[@]}]="--llvm 8 --cuda 10.0 --clfft --mpi openmpi"
16 args[${#args[@]}]="--llvm 8 --cuda 10.1 --clfft --mpi openmpi"
17 args[${#args[@]}]="--llvm 8 --cuda 11.0 --clfft --mpi openmpi"
18 args[${#args[@]}]="--llvm 9 --clfft --mpi openmpi --ubuntu 18.04"
19 args[${#args[@]}]="--oneapi 2021.1-beta09"
20 args[${#args[@]}]="--llvm --doxygen"
22 echo "Building the following images."
23 for arg_string in "${args[@]}"; do
24 # shellcheck disable=SC2086
25 python3 -m utility $arg_string
26 done
27 echo
29 for arg_string in "${args[@]}"; do
30 # shellcheck disable=SC2086
31 tag=$(python3 -m utility $arg_string)
32 tags[${#tags[@]}]=$tag
33 # shellcheck disable=SC2086
34 python3 $SCRIPT $arg_string | docker build -t $tag -
35 done
37 echo "Run the following to upload the updated images."
38 echo "docker login registry.gitlab.com -u <token name> -p <hash>"
39 for tag in "${tags[@]}"; do
40 echo "docker push $tag"
41 done