ci: switch docker job from docker CLI to podman
Some checks failed
CI/CD / lint (push) Successful in 41s
CI/CD / typecheck (push) Successful in 42s
CI/CD / test (push) Successful in 53s
CI/CD / build (push) Successful in 1m8s
CI/CD / docker (push) Failing after 33s
CI/CD / publish-rpm (push) Successful in 38s
CI/CD / deploy (push) Has been skipped

Docker CLI can't connect to the podman socket in the runner container
(permission denied even as root). Switch to podman for building images
locally and skopeo with containers-storage transport for pushing.
Podman builds don't need a daemon socket.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Michal
2026-03-09 09:58:57 +00:00
parent 8d510d119f
commit adb8b42938

View File

@@ -147,43 +147,42 @@ jobs:
env: env:
REGISTRY: ${{ env.GITEA_REGISTRY }} REGISTRY: ${{ env.GITEA_REGISTRY }}
OWNER: ${{ env.GITEA_OWNER }} OWNER: ${{ env.GITEA_OWNER }}
DOCKER_API_VERSION: "1.43"
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- name: Install docker CLI and skopeo - name: Install podman and skopeo
run: sudo apt-get update && sudo apt-get install -y docker.io skopeo run: sudo apt-get update && sudo apt-get install -y podman skopeo
- name: Build & push mcpd - name: Build & push mcpd
run: | run: |
sudo -E docker build -t mcpd:latest -f deploy/Dockerfile.mcpd . sudo -E podman build -t mcpd:latest -f deploy/Dockerfile.mcpd .
sudo -E skopeo copy --dest-tls-verify=false \ sudo -E skopeo copy --dest-tls-verify=false \
--dest-creds "${{ env.OWNER }}:${{ secrets.PACKAGES_TOKEN }}" \ --dest-creds "${{ env.OWNER }}:${{ secrets.PACKAGES_TOKEN }}" \
docker-daemon:mcpd:latest \ containers-storage:mcpd:latest \
docker://${{ env.REGISTRY }}/${{ env.OWNER }}/mcpd:latest docker://${{ env.REGISTRY }}/${{ env.OWNER }}/mcpd:latest
- name: Build & push node-runner - name: Build & push node-runner
run: | run: |
sudo -E docker build -t node-runner:latest -f deploy/Dockerfile.node-runner . sudo -E podman build -t node-runner:latest -f deploy/Dockerfile.node-runner .
sudo -E skopeo copy --dest-tls-verify=false \ sudo -E skopeo copy --dest-tls-verify=false \
--dest-creds "${{ env.OWNER }}:${{ secrets.PACKAGES_TOKEN }}" \ --dest-creds "${{ env.OWNER }}:${{ secrets.PACKAGES_TOKEN }}" \
docker-daemon:node-runner:latest \ containers-storage:node-runner:latest \
docker://${{ env.REGISTRY }}/${{ env.OWNER }}/mcpctl-node-runner:latest docker://${{ env.REGISTRY }}/${{ env.OWNER }}/mcpctl-node-runner:latest
- name: Build & push python-runner - name: Build & push python-runner
run: | run: |
sudo -E docker build -t python-runner:latest -f deploy/Dockerfile.python-runner . sudo -E podman build -t python-runner:latest -f deploy/Dockerfile.python-runner .
sudo -E skopeo copy --dest-tls-verify=false \ sudo -E skopeo copy --dest-tls-verify=false \
--dest-creds "${{ env.OWNER }}:${{ secrets.PACKAGES_TOKEN }}" \ --dest-creds "${{ env.OWNER }}:${{ secrets.PACKAGES_TOKEN }}" \
docker-daemon:python-runner:latest \ containers-storage:python-runner:latest \
docker://${{ env.REGISTRY }}/${{ env.OWNER }}/mcpctl-python-runner:latest docker://${{ env.REGISTRY }}/${{ env.OWNER }}/mcpctl-python-runner:latest
- name: Build & push docmost-mcp - name: Build & push docmost-mcp
run: | run: |
sudo -E docker build -t docmost-mcp:latest -f deploy/Dockerfile.docmost-mcp . sudo -E podman build -t docmost-mcp:latest -f deploy/Dockerfile.docmost-mcp .
sudo -E skopeo copy --dest-tls-verify=false \ sudo -E skopeo copy --dest-tls-verify=false \
--dest-creds "${{ env.OWNER }}:${{ secrets.PACKAGES_TOKEN }}" \ --dest-creds "${{ env.OWNER }}:${{ secrets.PACKAGES_TOKEN }}" \
docker-daemon:docmost-mcp:latest \ containers-storage:docmost-mcp:latest \
docker://${{ env.REGISTRY }}/${{ env.OWNER }}/docmost-mcp:latest docker://${{ env.REGISTRY }}/${{ env.OWNER }}/docmost-mcp:latest
- name: Link packages to repository - name: Link packages to repository