set -eux echo "Test script started" function run_script { if [[ -d tmp ]] then rm -rf tmp fi mkdir tmp # copy files first rsync -a --progress ../ tmp --exclude target --exclude docker # build base image docker build -f Dockerfile_base_test_image -t dioxus-base-test-image . docker build -f Dockerfile_pre_test -t dioxus-pre-test . # run test docker build -f Dockerfile_test -t dioxus-test-image . # code coverage docker build -f Dockerfile_code_coverage -t dioxus-code-coverage . # exec test coverage cd .. && \ echo "rustup default nightly && cargo +nightly tarpaulin --verbose --all-features --tests --workspace --exclude core-macro --timeout 120 --out Html" | docker run -i --rm --security-opt seccomp=unconfined -v "/home/elios/project/prs/dioxus/:/run_test" dioxus-code-coverage # clean up rm -rf tmp if [ $# -ge 1 ] then echo "Got some parameter" if [ $1 = "--with-full-docker-cleanup" ] then docker image rm dioxus-base-test-image docker image rm dioxus-test-image fi fi } run_script || echo "Error occured.. cleaning a bit." && \ docker system prune -f; docker system prune -f echo "Script finished to execute"