20640: Merge branch 'main' into 20640-computed-permissions-api
[arvados.git] / lib / install / arvadostest_docker_build.sh
1 #!/bin/bash
2 #
3 # Copyright (C) The Arvados Authors. All rights reserved.
4 #
5 # SPDX-License-Identifier: AGPL-3.0
6
7 set -ex -o pipefail
8
9 SRC=$(realpath $(dirname ${BASH_SOURCE[0]})/../..)
10
11 ctrname=arvadostest
12 ctrbase=${ctrname}
13 if [[ "${1}" != "--update" ]] || ! docker images --format={{.Repository}} | grep -x ${ctrbase}; then
14     ctrbase=debian:11
15 fi
16
17 if docker ps -a --format={{.Names}} | grep -x ${ctrname}; then
18     echo >&2 "container name already in use -- another builder running?"
19     exit 1
20 fi
21
22 (cd ${SRC}/cmd/arvados-server && go install)
23 trap "docker rm --volumes ${ctrname}" ERR
24 docker run -it --name ${ctrname} \
25        -v ${GOPATH:-${HOME}/go}/bin/arvados-server:/bin/arvados-server:ro \
26        -v ${SRC}:/src/arvados:ro \
27        -v /tmp \
28        --env http_proxy \
29        --env https_proxy \
30        ${ctrbase} \
31        bash -c "
32 set -ex -o pipefail
33 arvados-server install -type test
34 pg_ctlcluster 11 main start
35 cp -a /src/arvados /tmp/
36 cd /tmp/arvados
37 rm -rf tmp config.yml database.yml services/api/config/database.yml
38 mkdir tmp
39 build/run-tests.sh WORKSPACE=\$PWD --temp /tmp/arvados/tmp --only x"
40 docker commit ${ctrname} ${ctrname}
41 trap - ERR
42 docker rm --volumes ${ctrname}