ci: use buildx for docker builds (no daemon restart needed)
Some checks failed
CI/CD / typecheck (push) Successful in 43s
CI/CD / test (push) Successful in 53s
CI/CD / lint (push) Successful in 10m46s
CI/CD / build (push) Successful in 1m20s
CI/CD / docker (push) Failing after 22s
CI/CD / publish-rpm (push) Successful in 52s
CI/CD / deploy (push) Has been skipped

The Gitea Act Runner can't restart dockerd to add insecure registries.
Switch to buildx with a BuildKit config that allows HTTP registries,
and write Docker credentials directly instead of using docker login.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Michal
2026-03-09 00:50:15 +00:00
parent ccb9108563
commit 5e325b0301

View File

@@ -144,46 +144,45 @@ jobs:
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- name: Configure insecure registry - name: Set up Buildx for insecure registry
run: | run: |
sudo mkdir -p /etc/docker cat > /tmp/buildkitd.toml <<TOML
echo '{"insecure-registries":["${{ env.GITEA_REGISTRY }}"]}' | sudo tee /etc/docker/daemon.json [registry."${{ env.GITEA_REGISTRY }}"]
# Restart dockerd - kill existing process and relaunch http = true
sudo kill "$(cat /var/run/docker.pid 2>/dev/null)" 2>/dev/null || sudo pkill dockerd || true insecure = true
sleep 3 TOML
sudo dockerd &>/dev/null & docker buildx create --name ci-builder --config /tmp/buildkitd.toml --driver docker-container --use
# Wait for Docker to be ready docker buildx inspect --bootstrap
for i in $(seq 1 30); do docker info &>/dev/null && break || sleep 1; done
- name: Login to Gitea container registry - name: Configure registry credentials
run: | run: |
echo "${{ secrets.PACKAGES_TOKEN }}" | docker login \ mkdir -p ~/.docker
--username ${{ env.GITEA_OWNER }} --password-stdin \ AUTH=$(printf '%s:%s' "${{ env.GITEA_OWNER }}" "${{ secrets.PACKAGES_TOKEN }}" | base64 -w0)
${{ env.GITEA_REGISTRY }} printf '{"auths":{"%s":{"auth":"%s"}}}\n' "${{ env.GITEA_REGISTRY }}" "$AUTH" > ~/.docker/config.json
- name: Build & push mcpd - name: Build & push mcpd
run: | run: |
docker build -t ${{ env.GITEA_REGISTRY }}/${{ env.GITEA_OWNER }}/mcpd:latest \ docker buildx build --push \
-t ${{ env.GITEA_REGISTRY }}/${{ env.GITEA_OWNER }}/mcpd:latest \
-f deploy/Dockerfile.mcpd . -f deploy/Dockerfile.mcpd .
docker push ${{ env.GITEA_REGISTRY }}/${{ env.GITEA_OWNER }}/mcpd:latest
- name: Build & push node-runner - name: Build & push node-runner
run: | run: |
docker build -t ${{ env.GITEA_REGISTRY }}/${{ env.GITEA_OWNER }}/mcpctl-node-runner:latest \ docker buildx build --push \
-t ${{ env.GITEA_REGISTRY }}/${{ env.GITEA_OWNER }}/mcpctl-node-runner:latest \
-f deploy/Dockerfile.node-runner . -f deploy/Dockerfile.node-runner .
docker push ${{ env.GITEA_REGISTRY }}/${{ env.GITEA_OWNER }}/mcpctl-node-runner:latest
- name: Build & push python-runner - name: Build & push python-runner
run: | run: |
docker build -t ${{ env.GITEA_REGISTRY }}/${{ env.GITEA_OWNER }}/mcpctl-python-runner:latest \ docker buildx build --push \
-t ${{ env.GITEA_REGISTRY }}/${{ env.GITEA_OWNER }}/mcpctl-python-runner:latest \
-f deploy/Dockerfile.python-runner . -f deploy/Dockerfile.python-runner .
docker push ${{ env.GITEA_REGISTRY }}/${{ env.GITEA_OWNER }}/mcpctl-python-runner:latest
- name: Build & push docmost-mcp - name: Build & push docmost-mcp
run: | run: |
docker build -t ${{ env.GITEA_REGISTRY }}/${{ env.GITEA_OWNER }}/docmost-mcp:latest \ docker buildx build --push \
-t ${{ env.GITEA_REGISTRY }}/${{ env.GITEA_OWNER }}/docmost-mcp:latest \
-f deploy/Dockerfile.docmost-mcp . -f deploy/Dockerfile.docmost-mcp .
docker push ${{ env.GITEA_REGISTRY }}/${{ env.GITEA_OWNER }}/docmost-mcp:latest
- name: Link packages to repository - name: Link packages to repository
env: env: