name: better-setup-docker description: Install the pinned static docker CLI when missing and verify the runner's daemon socket works — for runners that mount the host docker socket. inputs: docker-version: description: Exact docker CLI version to install when missing (x.y.z). default: "27.5.1" verify-socket: description: Run `docker info` to prove the daemon socket is reachable ("true"/"false"). default: "true" runs: using: composite steps: - shell: bash run: | set -euo pipefail v="${{ inputs.docker-version }}" if ! command -v docker >/dev/null 2>&1; then case "$(uname -m)" in x86_64|amd64) arch=x86_64 ;; aarch64|arm64) arch=aarch64 ;; *) echo "better-setup-docker: unsupported arch $(uname -m)" >&2; exit 1 ;; esac curl -fsSL "https://download.docker.com/linux/static/stable/${arch}/docker-${v}.tgz" | tar -xz -C /tmp docker mv /tmp/docker/docker /usr/local/bin/docker fi docker --version if [ "${{ inputs.verify-socket }}" = "true" ]; then docker info >/dev/null && echo "docker ok (host socket)" fi