From 4610042b06e108741bc8344d60ccef6b2bd5b68b Mon Sep 17 00:00:00 2001 From: Michal Date: Mon, 9 Mar 2026 01:52:59 +0000 Subject: [PATCH] ci: use skopeo for pushing to HTTP registry docker login/push require daemon.json insecure-registries config which needs a dockerd restart (impossible in the Act Runner container). Use skopeo copy with --dest-tls-verify=false to push over HTTP directly. Co-Authored-By: Claude Opus 4.6 --- .gitea/workflows/ci.yml | 42 ++++++++++++++++++++++++----------------- 1 file changed, 25 insertions(+), 17 deletions(-) diff --git a/.gitea/workflows/ci.yml b/.gitea/workflows/ci.yml index 1d6cc6e..2c634b4 100644 --- a/.gitea/workflows/ci.yml +++ b/.gitea/workflows/ci.yml @@ -142,38 +142,46 @@ jobs: runs-on: ubuntu-latest needs: [build] if: github.ref == 'refs/heads/main' && github.event_name == 'push' + env: + REGISTRY: ${{ env.GITEA_REGISTRY }} + OWNER: ${{ env.GITEA_OWNER }} steps: - uses: actions/checkout@v4 - - name: Login to Gitea container registry - run: | - echo "${{ secrets.PACKAGES_TOKEN }}" | docker login \ - --username ${{ env.GITEA_OWNER }} --password-stdin \ - ${{ env.GITEA_REGISTRY }} + - name: Install skopeo + run: sudo apt-get update && sudo apt-get install -y skopeo - name: Build & push mcpd run: | - docker build -t ${{ env.GITEA_REGISTRY }}/${{ env.GITEA_OWNER }}/mcpd:latest \ - -f deploy/Dockerfile.mcpd . - docker push ${{ env.GITEA_REGISTRY }}/${{ env.GITEA_OWNER }}/mcpd:latest + docker build -t mcpd:latest -f deploy/Dockerfile.mcpd . + skopeo copy --dest-tls-verify=false \ + --dest-creds "${{ env.OWNER }}:${{ secrets.PACKAGES_TOKEN }}" \ + docker-daemon:mcpd:latest \ + docker://${{ env.REGISTRY }}/${{ env.OWNER }}/mcpd:latest - name: Build & push node-runner run: | - docker build -t ${{ env.GITEA_REGISTRY }}/${{ env.GITEA_OWNER }}/mcpctl-node-runner:latest \ - -f deploy/Dockerfile.node-runner . - docker push ${{ env.GITEA_REGISTRY }}/${{ env.GITEA_OWNER }}/mcpctl-node-runner:latest + docker build -t node-runner:latest -f deploy/Dockerfile.node-runner . + skopeo copy --dest-tls-verify=false \ + --dest-creds "${{ env.OWNER }}:${{ secrets.PACKAGES_TOKEN }}" \ + docker-daemon:node-runner:latest \ + docker://${{ env.REGISTRY }}/${{ env.OWNER }}/mcpctl-node-runner:latest - name: Build & push python-runner run: | - docker build -t ${{ env.GITEA_REGISTRY }}/${{ env.GITEA_OWNER }}/mcpctl-python-runner:latest \ - -f deploy/Dockerfile.python-runner . - docker push ${{ env.GITEA_REGISTRY }}/${{ env.GITEA_OWNER }}/mcpctl-python-runner:latest + docker build -t python-runner:latest -f deploy/Dockerfile.python-runner . + skopeo copy --dest-tls-verify=false \ + --dest-creds "${{ env.OWNER }}:${{ secrets.PACKAGES_TOKEN }}" \ + docker-daemon:python-runner:latest \ + docker://${{ env.REGISTRY }}/${{ env.OWNER }}/mcpctl-python-runner:latest - name: Build & push docmost-mcp run: | - docker build -t ${{ env.GITEA_REGISTRY }}/${{ env.GITEA_OWNER }}/docmost-mcp:latest \ - -f deploy/Dockerfile.docmost-mcp . - docker push ${{ env.GITEA_REGISTRY }}/${{ env.GITEA_OWNER }}/docmost-mcp:latest + docker build -t docmost-mcp:latest -f deploy/Dockerfile.docmost-mcp . + skopeo copy --dest-tls-verify=false \ + --dest-creds "${{ env.OWNER }}:${{ secrets.PACKAGES_TOKEN }}" \ + docker-daemon:docmost-mcp:latest \ + docker://${{ env.REGISTRY }}/${{ env.OWNER }}/docmost-mcp:latest - name: Link packages to repository env: