mirror of
https://github.com/Smaug123/KaTeX
synced 2025-10-14 23:38:40 +00:00
37
dockers/screenshotter/screenshotter.sh
Executable file
37
dockers/screenshotter/screenshotter.sh
Executable file
@@ -0,0 +1,37 @@
|
||||
#!/bin/bash
|
||||
|
||||
# This script does a one-shot creation of screenshots, creating needed
|
||||
# docker containers and removing them afterwards. During development,
|
||||
# it might be desirable to avoid the overhead for starting and
|
||||
# stopping the containers. Developers are encouraged to manage
|
||||
# suitable containers themselves, calling the screenshotter.js script
|
||||
# directly.
|
||||
|
||||
cleanup() {
|
||||
[[ "${container}" ]] \
|
||||
&& docker stop "${container}" >/dev/null \
|
||||
&& docker rm "${container}" >/dev/null
|
||||
container=
|
||||
}
|
||||
|
||||
container=
|
||||
trap cleanup EXIT
|
||||
status=0
|
||||
for browserTag in firefox:2.48.2 chrome:2.48.2; do
|
||||
browser=${browserTag%:*}
|
||||
image=selenium/standalone-${browserTag}
|
||||
echo "Starting container for ${image}"
|
||||
container=$(docker run -d -P ${image})
|
||||
[[ ${container} ]] || continue
|
||||
echo "Container ${container:0:12} started, creating screenshots..."
|
||||
if node "$(dirname "$0")"/screenshotter.js \
|
||||
--browser="${browser}" --container="${container}" "$@"; then
|
||||
res=Done
|
||||
else
|
||||
res=Failed
|
||||
status=1
|
||||
fi
|
||||
echo "${res} taking screenshots, stopping and removing ${container:0:12}"
|
||||
cleanup
|
||||
done
|
||||
exit ${status}
|
Reference in New Issue
Block a user