#!/bin/bash set -euo pipefail SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )" HOST_WORKSPACE_PATH="${HOST_WORKSPACE_PATH:-$(pwd)}" echo "--------------------------------" echo "PWD: $(pwd)" echo "SCRIPT_DIR: $SCRIPT_DIR" echo "GITHUB_WORKSPACE: ${GITHUB_WORKSPACE:-not set}" echo "HOST_WORKSPACE_PATH: $HOST_WORKSPACE_PATH" echo "--------------------------------" echo "--------------------------------" echo "--------------------------------" echo "Docker info:" docker info | grep -E "(Docker Root Dir|Storage Driver)" || true echo "Mount info:" mount | grep -E "(overlay|workspace)" || true echo "--------------------------------" echo "--------------------------------" echo "--------------------------------" echo "ls -la ./" docker run --rm -i --entrypoint /bin/bash -v ./:/workspace debian:latest -c "ls -la /workspace" echo "--------------------------------" echo "ls -la \$PWD" docker run --rm -i --entrypoint /bin/bash -v "$PWD:/workspace" debian:latest -c "ls -la /workspace" echo "--------------------------------" echo "ls -la \$SCRIPT_DIR" docker run --rm -i --entrypoint /bin/bash -v "$SCRIPT_DIR:/workspace" debian:latest -c "ls -la /workspace" echo "--------------------------------" MOUNT_DIR="$SCRIPT_DIR" if [ -n "${HOST_WORKSPACE_PATH:-}" ]; then MOUNT_DIR=$(echo "$SCRIPT_DIR" | sed "s|^/workspace|$HOST_WORKSPACE_PATH|") if [ "$MOUNT_DIR" != "$SCRIPT_DIR" ]; then echo "Docker-in-Docker: Mapping $SCRIPT_DIR to $MOUNT_DIR" fi fi echo "MOUNT_DIR: $MOUNT_DIR" echo "ls -la \$MOUNT_DIR" docker run --rm -i --entrypoint /bin/bash -v "$MOUNT_DIR:/workspace" debian:latest -c "ls -la /workspace" echo "--------------------------------"