Skip to content

Commit a262ee9

Browse files
[CI] Fix Docker validation: add Docker daemon pre-check before QEMU/Buildx/Login steps to handle runner instances without Docker
1 parent 865a258 commit a262ee9

1 file changed

Lines changed: 16 additions & 2 deletions

File tree

.github/workflows/validate_docker_actions.yaml

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -160,23 +160,37 @@ jobs:
160160
echo "JSON: ${{ steps.meta.outputs.json }}"
161161
test -n "${{ steps.meta.outputs.tags }}" && echo "metadata OK" || echo "metadata FAILED"
162162
163-
- name: Set up QEMU (cross-arch, amd64 only)
163+
- name: Check Docker daemon (same job)
164+
id: check-docker
165+
run: |
166+
if docker info &> /dev/null; then
167+
echo "docker-ready=true" >> $GITHUB_OUTPUT
168+
docker info --format 'Server: {{.ServerVersion}}' 2>/dev/null
169+
else
170+
echo "docker-ready=false" >> $GITHUB_OUTPUT
171+
echo "::warning::Docker daemon not available on this runner instance"
172+
fi
173+
174+
- name: Set up QEMU (cross-arch, only if Docker daemon available)
164175
uses: docker/setup-qemu-action@v4
165-
if: ${{ runner.arch == 'X64' || contains(matrix.runner, 'amd64') }}
176+
if: ${{ steps.check-docker.outputs.docker-ready == 'true' && (runner.arch == 'X64' || contains(matrix.runner, 'amd64')) }}
166177

167178
- name: Set up Docker Buildx
168179
uses: docker/setup-buildx-action@v4
180+
if: steps.check-docker.outputs.docker-ready == 'true'
169181
with:
170182
driver-opts: |
171183
network=host
172184
173185
- name: Verify Buildx
186+
if: steps.check-docker.outputs.docker-ready == 'true'
174187
run: |
175188
docker buildx inspect --bootstrap
176189
docker buildx ls
177190
echo "buildx setup OK"
178191
179192
- name: Login to GitHub Container Registry
193+
if: steps.check-docker.outputs.docker-ready == 'true'
180194
uses: docker/login-action@v4
181195
with:
182196
registry: ghcr.io

0 commit comments

Comments
 (0)