ci: fix docker dind access, remove container override
Problem: Push job used docker:27-cli override with explicit dind cert mounting, but runner base changed to code.forgejo.org/forgejo/runner:6. Alpine container couldn't access Debian runner's dind socket paths. Fix: - Remove container override, run on golang runner natively - Install docker.io directly in push step (apt-get) - Add docker image prune post-action to cleanup This pattern matches riotpiao.com CI and works with current runner setup.
This commit is contained in:
+13
-10
@@ -42,17 +42,15 @@ jobs:
|
||||
needs: verify
|
||||
if: github.ref == 'refs/heads/main' && github.event_name == 'push'
|
||||
runs-on: golang
|
||||
container:
|
||||
image: docker:27-cli
|
||||
volumes:
|
||||
- /docker-certs/client:/docker-certs/client:ro
|
||||
env:
|
||||
DOCKER_HOST: tcp://localhost:2376
|
||||
DOCKER_TLS_VERIFY: "1"
|
||||
DOCKER_CERT_PATH: /docker-certs/client
|
||||
steps:
|
||||
- name: install node (required by JS-based actions)
|
||||
run: apk add --no-cache nodejs git
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
apt-get update
|
||||
apt-get install -y --no-install-recommends \
|
||||
docker.io \
|
||||
nodejs \
|
||||
git
|
||||
rm -rf /var/lib/apt/lists/*
|
||||
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
@@ -81,3 +79,8 @@ jobs:
|
||||
run: |
|
||||
docker push "${IMAGE}:${{ steps.sha.outputs.short_sha }}"
|
||||
docker push "${IMAGE}:latest"
|
||||
echo "✓ Image pushed: ${IMAGE}:${{ steps.sha.outputs.short_sha }}"
|
||||
|
||||
- name: Prune unused images
|
||||
run: |
|
||||
docker image prune -a --force 2>&1 | tail -3 || true
|
||||
|
||||
Reference in New Issue
Block a user