#!/bin/bash # Copyright 2022-2023 The Khronos Group Inc. # SPDX-License-Identifier: Apache-2.0 # runDocker - run the Khronos `asciidoctor-spec` Docker image with a local # clone of the Vulkan specification repository. This must be invoked from # the repository root directory. # The following command-line tools are required to run this script: # awk dirname docker grep id realpath # These are all normal Linux developer tools except for 'docker' itself. # Determine path to repository root directory scriptpath=`dirname $0` repopath=`realpath $scriptpath/..` # Get SHA256 of the asciidoctor-spec image build used by CI. image=`grep -m 1 khronosgroup/docker-images@sha256: $repopath/.gitlab-ci.yml | \ awk '{print $2}'` uid=`id -u` gid=`id -g` echo "Executing Docker with spec build image and mounted spec repository root:" # --user causes Docker to run as the specified UID:GID instead of as root # -it runs interactively and uses a pseudotty # --rm removes the container on exit # -v mounts the repository clone as /vulkan in the container # $image is image to run # /bin/bash drops into a shell in the container set -x docker run --network=host --user ${uid}:${gid} -it --rm -v ${repopath}:/vulkan $image /bin/bash