From 86cb86f45b4fa48fa11e2555f99edba71f016be8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timoth=C3=A9e=20Ravier?= Date: Wed, 12 Jan 2022 16:07:51 +0100 Subject: [PATCH] build & preview: Update with latest version from template --- build.sh | 51 ++++++++++++++++++++++++++++++++++++++++++++++++++- preview.sh | 17 ++++++++++++++++- 2 files changed, 66 insertions(+), 2 deletions(-) diff --git a/build.sh b/build.sh index e75e891..96c2b69 100755 --- a/build.sh +++ b/build.sh @@ -1,3 +1,52 @@ #!/bin/sh -podman run --rm -it -v $(pwd):/antora:z antora/antora --html-url-extension-style=indexify site.yml +image="docker.io/antora/antora" +cmd="--html-url-extension-style=indexify site.yml" + +if uname | grep -iwq darwin; then + # Running on macOS. + # Let's assume that the user has the Docker CE installed + # which doesn't require a root password. + echo "" + echo "This build script is using Docker container runtime to run the build in an isolated environment." + echo "" + docker run --rm -it -v "$(pwd):/antora" "${image}" ${cmd} + +elif uname | grep -iq linux; then + # Running on Linux. + # there isn't an antora/aarch64 container, antora can be installed locally + # Check whether podman is available, else faill back to docker + # which requires root. + + if [ -f /usr/local/bin/antora ]; then + /usr/local/bin/antora "${cmd}" + elif uname -m | grep -iwq aarch64; then + echo "no antora/aarch64 container try just \`npm install -g @antora/cli @antora/site-generator-default\`" + elif [ -f /usr/bin/podman ]; then + echo "" + echo "This build script is using Podman to run the build in an isolated environment." + echo "" + podman run --rm -it -v "$(pwd):/antora:z" "${image}" ${cmd} + + elif [ -f /usr/bin/docker ]; then + echo "" + echo "This build script is using Docker to run the build in an isolated environment." + echo "" + + if groups | grep -wq "docker"; then + docker run --rm -it -v "$(pwd):/antora:z" "${image}" ${cmd} + else + echo "You might be asked for your password." + echo "You can avoid this by adding your user to the 'docker' group," + echo "but be aware of the security implications." + echo "See https://docs.docker.com/install/linux/linux-postinstall/" + echo "" + sudo docker run --rm -it -v "$(pwd):/antora:z" "${image}" ${cmd} + fi + else + echo "" + echo "Error: Container runtime haven't been found on your system. Fix it by:" + echo "$ sudo dnf install podman" + exit 1 + fi +fi diff --git a/preview.sh b/preview.sh index cdcc5d9..4270107 100755 --- a/preview.sh +++ b/preview.sh @@ -1,3 +1,18 @@ #!/bin/sh -podman run --rm --network=host -v $(pwd):/antora:ro,z -v $(pwd)/nginx.conf:/etc/nginx/conf.d/default.conf:ro,z nginx +if [ "$(uname)" = "Darwin" ]; then + # Running on macOS. + # Let's assume that the user has the Docker CE installed + # which doesn't require a root password. + echo "The preview will be available at http://localhost:8080/" + docker run --rm -v "$(pwd):/antora:ro" -v "$(pwd)/nginx.conf:/etc/nginx/conf.d/default.conf:ro" -p 8080:80 nginx + +elif [ "$(expr substr "$(uname -s)" 1 5)" = "Linux" ]; then + # Running on Linux. + # Fedora Workstation has python3 installed as a default, so using that + echo "" + echo "The preview is available at http://localhost:8080" + echo "" + cd ./public + python3 -m http.server 8080 +fi