more gpu
Some checks failed
build_docker / essential (pull_request) Successful in 1s
build_docker / build_cpu (linux/amd64) (pull_request) Successful in 4m53s
build_docker / build_doctr (linux/arm64) (pull_request) Has been cancelled
build_docker / manifest_easyocr (pull_request) Has been cancelled
build_docker / manifest_doctr (pull_request) Has been cancelled
build_docker / build_easyocr_gpu (linux/amd64) (pull_request) Has been cancelled
build_docker / build_easyocr_gpu (linux/arm64) (pull_request) Has been cancelled
build_docker / build_doctr_gpu (linux/amd64) (pull_request) Has been cancelled
build_docker / build_doctr_gpu (linux/arm64) (pull_request) Has been cancelled
build_docker / manifest_easyocr_gpu (pull_request) Has been cancelled
build_docker / manifest_doctr_gpu (pull_request) Has been cancelled
build_docker / build_gpu (linux/amd64) (pull_request) Has been cancelled
build_docker / build_cpu (linux/arm64) (pull_request) Has been cancelled
build_docker / build_gpu (linux/arm64) (pull_request) Has been cancelled
build_docker / manifest_cpu (pull_request) Has been cancelled
build_docker / manifest_gpu (pull_request) Has been cancelled
build_docker / build_easyocr (linux/amd64) (pull_request) Has been cancelled
build_docker / build_easyocr (linux/arm64) (pull_request) Has been cancelled
build_docker / build_doctr (linux/amd64) (pull_request) Has been cancelled

This commit is contained in:
2026-01-18 06:54:14 +01:00
parent 578689443d
commit b9a64cd5ca
5 changed files with 684 additions and 1 deletions

View File

@@ -9,7 +9,6 @@ on:
push:
branches:
- main
- gpu_support
env:
PADDLE_VERSION: "3.0.0"
@@ -24,7 +23,9 @@ jobs:
image_cpu: seryus.ddns.net/unir/paddle-ocr-cpu
image_gpu: seryus.ddns.net/unir/paddle-ocr-gpu
image_easyocr: seryus.ddns.net/unir/easyocr-cpu
image_easyocr_gpu: seryus.ddns.net/unir/easyocr-gpu
image_doctr: seryus.ddns.net/unir/doctr-cpu
image_doctr_gpu: seryus.ddns.net/unir/doctr-gpu
steps:
- name: Output version info
run: |
@@ -315,3 +316,139 @@ jobs:
docker buildx imagetools create -t ${{ needs.essential.outputs.image_doctr }}:${{ needs.essential.outputs.Version }} \
${{ needs.essential.outputs.image_doctr }}:${{ needs.essential.outputs.Version }}-amd64 \
${{ needs.essential.outputs.image_doctr }}:${{ needs.essential.outputs.Version }}-arm64
# EasyOCR GPU image: Matrix build for amd64 and arm64
# PyTorch cu128 has wheels for both architectures
build_easyocr_gpu:
runs-on: ubuntu-latest
needs: essential
strategy:
matrix:
platform:
- linux/amd64
- linux/arm64
steps:
- 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
uses: docker/login-action@v3
with:
registry: ${{ needs.essential.outputs.repo }}
username: username
password: ${{ secrets.CI_READWRITE }}
- name: Get arch suffix
id: arch
run: |
if [ "${{ matrix.platform }}" = "linux/amd64" ]; then
echo "suffix=amd64" >> $GITHUB_OUTPUT
else
echo "suffix=arm64" >> $GITHUB_OUTPUT
fi
- name: Build and push EasyOCR GPU image (${{ matrix.platform }})
uses: docker/build-push-action@v5
with:
context: src/easyocr_service
file: src/easyocr_service/Dockerfile.gpu
platforms: ${{ matrix.platform }}
push: true
tags: |
${{ needs.essential.outputs.image_easyocr_gpu }}:${{ needs.essential.outputs.Version }}-${{ steps.arch.outputs.suffix }}
${{ needs.essential.outputs.image_easyocr_gpu }}:${{ steps.arch.outputs.suffix }}
# DocTR GPU image: Matrix build for amd64 and arm64
# PyTorch cu128 has wheels for both architectures
build_doctr_gpu:
runs-on: ubuntu-latest
needs: essential
strategy:
matrix:
platform:
- linux/amd64
- linux/arm64
steps:
- 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
uses: docker/login-action@v3
with:
registry: ${{ needs.essential.outputs.repo }}
username: username
password: ${{ secrets.CI_READWRITE }}
- name: Get arch suffix
id: arch
run: |
if [ "${{ matrix.platform }}" = "linux/amd64" ]; then
echo "suffix=amd64" >> $GITHUB_OUTPUT
else
echo "suffix=arm64" >> $GITHUB_OUTPUT
fi
- name: Build and push DocTR GPU image (${{ matrix.platform }})
uses: docker/build-push-action@v5
with:
context: src/doctr_service
file: src/doctr_service/Dockerfile.gpu
platforms: ${{ matrix.platform }}
push: true
tags: |
${{ needs.essential.outputs.image_doctr_gpu }}:${{ needs.essential.outputs.Version }}-${{ steps.arch.outputs.suffix }}
${{ needs.essential.outputs.image_doctr_gpu }}:${{ steps.arch.outputs.suffix }}
# Create multi-arch manifest for EasyOCR GPU image
manifest_easyocr_gpu:
runs-on: ubuntu-latest
needs: [essential, build_easyocr_gpu]
steps:
- name: Login to Gitea Registry
uses: docker/login-action@v3
with:
registry: ${{ needs.essential.outputs.repo }}
username: username
password: ${{ secrets.CI_READWRITE }}
- name: Create multi-arch manifest (EasyOCR GPU)
run: |
docker buildx imagetools create -t ${{ needs.essential.outputs.image_easyocr_gpu }}:latest \
${{ needs.essential.outputs.image_easyocr_gpu }}:amd64 \
${{ needs.essential.outputs.image_easyocr_gpu }}:arm64
docker buildx imagetools create -t ${{ needs.essential.outputs.image_easyocr_gpu }}:${{ needs.essential.outputs.Version }} \
${{ needs.essential.outputs.image_easyocr_gpu }}:${{ needs.essential.outputs.Version }}-amd64 \
${{ needs.essential.outputs.image_easyocr_gpu }}:${{ needs.essential.outputs.Version }}-arm64
# Create multi-arch manifest for DocTR GPU image
manifest_doctr_gpu:
runs-on: ubuntu-latest
needs: [essential, build_doctr_gpu]
steps:
- name: Login to Gitea Registry
uses: docker/login-action@v3
with:
registry: ${{ needs.essential.outputs.repo }}
username: username
password: ${{ secrets.CI_READWRITE }}
- name: Create multi-arch manifest (DocTR GPU)
run: |
docker buildx imagetools create -t ${{ needs.essential.outputs.image_doctr_gpu }}:latest \
${{ needs.essential.outputs.image_doctr_gpu }}:amd64 \
${{ needs.essential.outputs.image_doctr_gpu }}:arm64
docker buildx imagetools create -t ${{ needs.essential.outputs.image_doctr_gpu }}:${{ needs.essential.outputs.Version }} \
${{ needs.essential.outputs.image_doctr_gpu }}:${{ needs.essential.outputs.Version }}-amd64 \
${{ needs.essential.outputs.image_doctr_gpu }}:${{ needs.essential.outputs.Version }}-arm64