wm/in-container

24 lines
562 B
Plaintext
Raw Normal View History

2021-05-19 22:57:50 +03:00
#!/bin/bash
set -euo pipefail
2021-05-19 22:57:50 +03:00
# Prefix the 'make <...>' with this script to build the artifact in an isolated
# container. This means host dependencies can only be Docker and a shell (to
# run this script).
#
# Usage:
# ./in-container make help
2021-05-19 23:53:06 +03:00
# ./in-container make -j2 mj-msc-full.pdf
2021-05-19 22:57:50 +03:00
# ...
2021-05-19 22:57:50 +03:00
2021-05-19 22:57:50 +03:00
NAME=wm-mj-build
2021-05-19 22:57:50 +03:00
if [[ -z "$(docker images -q --filter "reference=$NAME")" ]]; then
2021-05-19 22:57:50 +03:00
docker build -t "$NAME" .
2021-05-19 22:57:50 +03:00
fi
2021-05-19 22:57:50 +03:00
exec docker run -ti --rm \
--net=host \
2021-05-19 22:57:50 +03:00
-v /var/run/docker.sock:/var/run/docker.sock \
2021-05-19 23:53:06 +03:00
-v ${PWD}:/x \
-w /x \
2021-05-19 22:57:50 +03:00
"$NAME" "$@"