diff options
| author | David Lönnhager <david.l@mullvad.net> | 2024-04-28 19:13:16 +0200 |
|---|---|---|
| committer | David Lönnhager <david.l@mullvad.net> | 2024-04-29 13:34:19 +0200 |
| commit | 99b27f2747c59a074b603ef4d6dcf490a9dcb1d5 (patch) | |
| tree | 649e2da70869a43e2a852d281109b6ccfce25011 /test/container-run.sh | |
| parent | aca3448cf7484ffa8bfe95e27f00d2cd15c870a4 (diff) | |
| download | mullvadvpn-99b27f2747c59a074b603ef4d6dcf490a9dcb1d5.tar.xz mullvadvpn-99b27f2747c59a074b603ef4d6dcf490a9dcb1d5.zip | |
Make test build setup more like app container
Diffstat (limited to 'test/container-run.sh')
| -rwxr-xr-x | test/container-run.sh | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/test/container-run.sh b/test/container-run.sh new file mode 100755 index 0000000000..f2af53ed2a --- /dev/null +++ b/test/container-run.sh @@ -0,0 +1,33 @@ +#!/usr/bin/env bash + +set -eu + +CARGO_REGISTRY_VOLUME_NAME=${CARGO_REGISTRY_VOLUME_NAME:-"cargo-registry"} +CONTAINER_RUNNER=${CONTAINER_RUNNER:-"podman"} + +SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" +REPO_DIR="$SCRIPT_DIR/.." +cd "$SCRIPT_DIR" + +source "$REPO_DIR/scripts/utils/log" + +if [[ ${1:-""} != "linux" ]]; then + log_error "Invalid platform. Specify a valid platform as first argument" + exit 1 +fi + +shift + +if ! "$CONTAINER_RUNNER" image exists mullvadvpn-app-tests; then + container_image=$(cat "$REPO_DIR/building/linux-container-image.txt") + podman build -t mullvadvpn-app-tests --build-arg IMAGE="${container_image}" . +fi + +set -x +exec "$CONTAINER_RUNNER" run --rm -it \ + -v "${CARGO_REGISTRY_VOLUME_NAME}":/root/.cargo/registry:Z \ + -v "${REPO_DIR}":/build:z \ + -w "/build/test" \ + -e CARGO_TARGET_DIR=/build/test/target \ + mullvadvpn-app-tests \ + /bin/bash -c "$*" |
