40 lines
768 B
Bash
40 lines
768 B
Bash
#!/usr/bin/env bash
|
|
|
|
set -euo pipefail
|
|
|
|
bwrap_args=(
|
|
--die-with-parent
|
|
--unshare-all
|
|
--unshare-user
|
|
--disable-userns
|
|
--assert-userns-disabled
|
|
--cap-drop ALL
|
|
--clearenv
|
|
--ro-bind /usr /usr
|
|
)
|
|
for merged_path in /bin /sbin /lib /lib64; do
|
|
if [[ -L "${merged_path}" ]]; then
|
|
bwrap_args+=(--symlink "$(readlink "${merged_path}")" "${merged_path}")
|
|
fi
|
|
done
|
|
bwrap_args+=(
|
|
--proc /proc
|
|
--dev /dev
|
|
--tmpfs /tmp
|
|
--
|
|
/usr/bin/true
|
|
)
|
|
bwrap "${bwrap_args[@]}"
|
|
|
|
chrome_output="$(
|
|
timeout 30 google-chrome \
|
|
--headless=new \
|
|
--no-sandbox \
|
|
--disable-dev-shm-usage \
|
|
--disable-gpu \
|
|
--dump-dom \
|
|
'data:text/html,<title>genarrative-ci</title>' \
|
|
2>/dev/null
|
|
)"
|
|
rg -q '<title>genarrative-ci</title>' <<< "${chrome_output}"
|