diff --git a/.gitea/workflows/ci.yaml b/.gitea/workflows/ci.yaml index f07fd68..3b2a268 100644 --- a/.gitea/workflows/ci.yaml +++ b/.gitea/workflows/ci.yaml @@ -25,6 +25,7 @@ jobs: echo "Version: 1.0.${{ gitea.run_number }}" >> $GITHUB_STEP_SUMMARY echo "Event: ${{ gitea.event_name }}" >> $GITHUB_STEP_SUMMARY + # CPU image: Multi-arch (amd64 + arm64) build_cpu: runs-on: ubuntu-latest needs: essential @@ -32,25 +33,31 @@ jobs: - name: Checkout uses: actions/checkout@v4 + - name: Set up QEMU + uses: docker/setup-qemu-action@v3 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + - name: Login to Gitea Registry - run: | - echo ${{ secrets.UNIR_REGISTRY_TOKEN }} | docker login \ - -u username \ - --password-stdin ${{ needs.essential.outputs.repo }} + uses: docker/login-action@v3 + with: + registry: ${{ needs.essential.outputs.repo }} + username: username + password: ${{ secrets.UNIR_REGISTRY_TOKEN }} - - name: Build CPU image - run: | - docker build \ - -f src/paddle_ocr/Dockerfile.cpu \ - -t ${{ needs.essential.outputs.image_cpu }}:${{ needs.essential.outputs.Version }} \ - -t ${{ needs.essential.outputs.image_cpu }}:latest \ - src/paddle_ocr/ - - - name: Push CPU image - run: | - docker push ${{ needs.essential.outputs.image_cpu }}:${{ needs.essential.outputs.Version }} - docker push ${{ needs.essential.outputs.image_cpu }}:latest + - name: Build and push CPU image (multi-arch) + uses: docker/build-push-action@v5 + with: + context: src/paddle_ocr + file: src/paddle_ocr/Dockerfile.cpu + platforms: linux/amd64,linux/arm64 + push: true + tags: | + ${{ needs.essential.outputs.image_cpu }}:${{ needs.essential.outputs.Version }} + ${{ needs.essential.outputs.image_cpu }}:latest + # GPU image: x86_64 only (PaddlePaddle GPU doesn't support ARM64) build_gpu: runs-on: ubuntu-latest needs: essential @@ -64,7 +71,7 @@ jobs: -u username \ --password-stdin ${{ needs.essential.outputs.repo }} - - name: Build GPU image + - name: Build GPU image (x86_64) run: | docker build \ -f src/paddle_ocr/Dockerfile.gpu \