diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 1ee23b89..7b4123e9 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -19,6 +19,20 @@ jobs: - name: Checkout uses: actions/checkout@v4 + - name: Ensure Docker access + run: | + set -euo pipefail + if docker ps >/dev/null 2>&1; then + exit 0 + fi + test -S /var/run/docker.sock || (echo "Docker socket is not available." >&2; exit 1) + if command -v sudo >/dev/null 2>&1; then + sudo -n chmod 666 /var/run/docker.sock + else + chmod 666 /var/run/docker.sock + fi + docker ps >/dev/null + - name: Setup Node.js if: ${{ matrix.suite == 'unit' }} uses: actions/setup-node@v4 @@ -97,6 +111,20 @@ jobs: - name: Checkout uses: actions/checkout@v4 + - name: Ensure Docker access + run: | + set -euo pipefail + if docker ps >/dev/null 2>&1; then + exit 0 + fi + test -S /var/run/docker.sock || (echo "Docker socket is not available." >&2; exit 1) + if command -v sudo >/dev/null 2>&1; then + sudo -n chmod 666 /var/run/docker.sock + else + chmod 666 /var/run/docker.sock + fi + docker ps >/dev/null + - name: Materialize CI compose env files run: | set -euo pipefail @@ -139,6 +167,20 @@ jobs: - name: Checkout uses: actions/checkout@v4 + - name: Ensure Docker access + run: | + set -euo pipefail + if docker ps >/dev/null 2>&1; then + exit 0 + fi + test -S /var/run/docker.sock || (echo "Docker socket is not available." >&2; exit 1) + if command -v sudo >/dev/null 2>&1; then + sudo -n chmod 666 /var/run/docker.sock + else + chmod 666 /var/run/docker.sock + fi + docker ps >/dev/null + - name: Materialize CI compose env files run: | set -euo pipefail