metrics and raytune reuslts
All checks were successful
build_docker / essential (pull_request) Successful in 1s
build_docker / build_cpu (pull_request) Successful in 3m53s
build_docker / build_easyocr (pull_request) Successful in 15m2s
build_docker / build_gpu (pull_request) Successful in 19m57s
build_docker / build_easyocr_gpu (pull_request) Successful in 15m43s
build_docker / build_doctr (pull_request) Successful in 16m40s
build_docker / build_doctr_gpu (pull_request) Successful in 13m25s
All checks were successful
build_docker / essential (pull_request) Successful in 1s
build_docker / build_cpu (pull_request) Successful in 3m53s
build_docker / build_easyocr (pull_request) Successful in 15m2s
build_docker / build_gpu (pull_request) Successful in 19m57s
build_docker / build_easyocr_gpu (pull_request) Successful in 15m43s
build_docker / build_doctr (pull_request) Successful in 16m40s
build_docker / build_doctr_gpu (pull_request) Successful in 13m25s
This commit is contained in:
@@ -12,7 +12,6 @@ on:
|
||||
|
||||
env:
|
||||
PADDLE_VERSION: "3.0.0"
|
||||
WHEEL_BASE_URL: "https://seryus.ddns.net/api/packages/unir/generic"
|
||||
|
||||
jobs:
|
||||
essential:
|
||||
@@ -33,22 +32,14 @@ jobs:
|
||||
echo "Version: 1.0.${{ gitea.run_number }}" >> $GITHUB_STEP_SUMMARY
|
||||
echo "Event: ${{ gitea.event_name }}" >> $GITHUB_STEP_SUMMARY
|
||||
|
||||
# CPU image: Matrix build for amd64 and arm64
|
||||
# PaddleOCR CPU image (amd64 only)
|
||||
build_cpu:
|
||||
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
|
||||
|
||||
@@ -59,50 +50,25 @@ jobs:
|
||||
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: Download ARM64 wheel from Gitea packages
|
||||
if: matrix.platform == 'linux/arm64'
|
||||
run: |
|
||||
mkdir -p src/paddle_ocr/wheels
|
||||
curl -L -o src/paddle_ocr/wheels/paddlepaddle-${{ env.PADDLE_VERSION }}-cp311-cp311-linux_aarch64.whl \
|
||||
"${{ env.WHEEL_BASE_URL }}/paddlepaddle-cpu-arm64/${{ env.PADDLE_VERSION }}/paddlepaddle-${{ env.PADDLE_VERSION }}-cp311-cp311-linux_aarch64.whl"
|
||||
ls -la src/paddle_ocr/wheels/
|
||||
|
||||
- name: Build and push CPU image (${{ matrix.platform }})
|
||||
- name: Build and push CPU image
|
||||
uses: docker/build-push-action@v5
|
||||
with:
|
||||
context: src/paddle_ocr
|
||||
file: src/paddle_ocr/Dockerfile.cpu
|
||||
platforms: ${{ matrix.platform }}
|
||||
platforms: linux/amd64
|
||||
push: true
|
||||
tags: |
|
||||
${{ needs.essential.outputs.image_cpu }}:${{ needs.essential.outputs.Version }}-${{ steps.arch.outputs.suffix }}
|
||||
${{ needs.essential.outputs.image_cpu }}:${{ steps.arch.outputs.suffix }}
|
||||
${{ needs.essential.outputs.image_cpu }}:${{ needs.essential.outputs.Version }}
|
||||
${{ needs.essential.outputs.image_cpu }}:latest
|
||||
|
||||
# GPU image: Matrix build for amd64 and arm64
|
||||
# PaddleOCR GPU image (amd64 only)
|
||||
build_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
|
||||
|
||||
@@ -113,92 +79,25 @@ jobs:
|
||||
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: Download ARM64 GPU wheel from Gitea packages
|
||||
if: matrix.platform == 'linux/arm64'
|
||||
run: |
|
||||
mkdir -p src/paddle_ocr/wheels
|
||||
curl -L -o src/paddle_ocr/wheels/paddlepaddle_gpu-${{ env.PADDLE_VERSION }}-cp311-cp311-linux_aarch64.whl \
|
||||
"${{ env.WHEEL_BASE_URL }}/paddlepaddle-gpu-arm64/${{ env.PADDLE_VERSION }}/paddlepaddle_gpu-${{ env.PADDLE_VERSION }}-cp311-cp311-linux_aarch64.whl"
|
||||
ls -la src/paddle_ocr/wheels/
|
||||
|
||||
- name: Build and push GPU image (${{ matrix.platform }})
|
||||
- name: Build and push GPU image
|
||||
uses: docker/build-push-action@v5
|
||||
with:
|
||||
context: src/paddle_ocr
|
||||
file: src/paddle_ocr/Dockerfile.gpu
|
||||
platforms: ${{ matrix.platform }}
|
||||
platforms: linux/amd64
|
||||
push: true
|
||||
tags: |
|
||||
${{ needs.essential.outputs.image_gpu }}:${{ needs.essential.outputs.Version }}-${{ steps.arch.outputs.suffix }}
|
||||
${{ needs.essential.outputs.image_gpu }}:${{ steps.arch.outputs.suffix }}
|
||||
${{ needs.essential.outputs.image_gpu }}:${{ needs.essential.outputs.Version }}
|
||||
${{ needs.essential.outputs.image_gpu }}:latest
|
||||
|
||||
# Create multi-arch manifest for CPU image
|
||||
manifest_cpu:
|
||||
runs-on: ubuntu-latest
|
||||
needs: [essential, build_cpu]
|
||||
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 (CPU)
|
||||
run: |
|
||||
docker buildx imagetools create -t ${{ needs.essential.outputs.image_cpu }}:latest \
|
||||
${{ needs.essential.outputs.image_cpu }}:amd64 \
|
||||
${{ needs.essential.outputs.image_cpu }}:arm64
|
||||
docker buildx imagetools create -t ${{ needs.essential.outputs.image_cpu }}:${{ needs.essential.outputs.Version }} \
|
||||
${{ needs.essential.outputs.image_cpu }}:${{ needs.essential.outputs.Version }}-amd64 \
|
||||
${{ needs.essential.outputs.image_cpu }}:${{ needs.essential.outputs.Version }}-arm64
|
||||
|
||||
# Create multi-arch manifest for GPU image
|
||||
manifest_gpu:
|
||||
runs-on: ubuntu-latest
|
||||
needs: [essential, build_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 (GPU)
|
||||
run: |
|
||||
docker buildx imagetools create -t ${{ needs.essential.outputs.image_gpu }}:latest \
|
||||
${{ needs.essential.outputs.image_gpu }}:amd64 \
|
||||
${{ needs.essential.outputs.image_gpu }}:arm64
|
||||
docker buildx imagetools create -t ${{ needs.essential.outputs.image_gpu }}:${{ needs.essential.outputs.Version }} \
|
||||
${{ needs.essential.outputs.image_gpu }}:${{ needs.essential.outputs.Version }}-amd64 \
|
||||
${{ needs.essential.outputs.image_gpu }}:${{ needs.essential.outputs.Version }}-arm64
|
||||
|
||||
# EasyOCR image: Matrix build for amd64 and arm64
|
||||
# EasyOCR CPU image (amd64 only)
|
||||
build_easyocr:
|
||||
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
|
||||
|
||||
@@ -209,131 +108,25 @@ jobs:
|
||||
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 image (${{ matrix.platform }})
|
||||
- name: Build and push EasyOCR image
|
||||
uses: docker/build-push-action@v5
|
||||
with:
|
||||
context: src/easyocr_service
|
||||
file: src/easyocr_service/Dockerfile
|
||||
platforms: ${{ matrix.platform }}
|
||||
platforms: linux/amd64
|
||||
push: true
|
||||
tags: |
|
||||
${{ needs.essential.outputs.image_easyocr }}:${{ needs.essential.outputs.Version }}-${{ steps.arch.outputs.suffix }}
|
||||
${{ needs.essential.outputs.image_easyocr }}:${{ steps.arch.outputs.suffix }}
|
||||
${{ needs.essential.outputs.image_easyocr }}:${{ needs.essential.outputs.Version }}
|
||||
${{ needs.essential.outputs.image_easyocr }}:latest
|
||||
|
||||
# DocTR image: Matrix build for amd64 and arm64
|
||||
build_doctr:
|
||||
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 image (${{ matrix.platform }})
|
||||
uses: docker/build-push-action@v5
|
||||
with:
|
||||
context: src/doctr_service
|
||||
file: src/doctr_service/Dockerfile
|
||||
platforms: ${{ matrix.platform }}
|
||||
push: true
|
||||
tags: |
|
||||
${{ needs.essential.outputs.image_doctr }}:${{ needs.essential.outputs.Version }}-${{ steps.arch.outputs.suffix }}
|
||||
${{ needs.essential.outputs.image_doctr }}:${{ steps.arch.outputs.suffix }}
|
||||
|
||||
# Create multi-arch manifest for EasyOCR image
|
||||
manifest_easyocr:
|
||||
runs-on: ubuntu-latest
|
||||
needs: [essential, build_easyocr]
|
||||
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)
|
||||
run: |
|
||||
docker buildx imagetools create -t ${{ needs.essential.outputs.image_easyocr }}:latest \
|
||||
${{ needs.essential.outputs.image_easyocr }}:amd64 \
|
||||
${{ needs.essential.outputs.image_easyocr }}:arm64
|
||||
docker buildx imagetools create -t ${{ needs.essential.outputs.image_easyocr }}:${{ needs.essential.outputs.Version }} \
|
||||
${{ needs.essential.outputs.image_easyocr }}:${{ needs.essential.outputs.Version }}-amd64 \
|
||||
${{ needs.essential.outputs.image_easyocr }}:${{ needs.essential.outputs.Version }}-arm64
|
||||
|
||||
# Create multi-arch manifest for DocTR image
|
||||
manifest_doctr:
|
||||
runs-on: ubuntu-latest
|
||||
needs: [essential, build_doctr]
|
||||
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)
|
||||
run: |
|
||||
docker buildx imagetools create -t ${{ needs.essential.outputs.image_doctr }}:latest \
|
||||
${{ needs.essential.outputs.image_doctr }}:amd64 \
|
||||
${{ needs.essential.outputs.image_doctr }}:arm64
|
||||
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
|
||||
# EasyOCR GPU image (amd64 only)
|
||||
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
|
||||
|
||||
@@ -344,43 +137,25 @@ jobs:
|
||||
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 }})
|
||||
- name: Build and push EasyOCR GPU image
|
||||
uses: docker/build-push-action@v5
|
||||
with:
|
||||
context: src/easyocr_service
|
||||
file: src/easyocr_service/Dockerfile.gpu
|
||||
platforms: ${{ matrix.platform }}
|
||||
platforms: linux/amd64
|
||||
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 }}
|
||||
${{ needs.essential.outputs.image_easyocr_gpu }}:${{ needs.essential.outputs.Version }}
|
||||
${{ needs.essential.outputs.image_easyocr_gpu }}:latest
|
||||
|
||||
# DocTR GPU image: Matrix build for amd64 and arm64
|
||||
# PyTorch cu128 has wheels for both architectures
|
||||
build_doctr_gpu:
|
||||
# DocTR CPU image (amd64 only)
|
||||
build_doctr:
|
||||
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
|
||||
|
||||
@@ -391,64 +166,42 @@ jobs:
|
||||
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 image
|
||||
uses: docker/build-push-action@v5
|
||||
with:
|
||||
context: src/doctr_service
|
||||
file: src/doctr_service/Dockerfile
|
||||
platforms: linux/amd64
|
||||
push: true
|
||||
tags: |
|
||||
${{ needs.essential.outputs.image_doctr }}:${{ needs.essential.outputs.Version }}
|
||||
${{ needs.essential.outputs.image_doctr }}:latest
|
||||
|
||||
- name: Build and push DocTR GPU image (${{ matrix.platform }})
|
||||
# DocTR GPU image (amd64 only)
|
||||
build_doctr_gpu:
|
||||
runs-on: ubuntu-latest
|
||||
needs: essential
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- 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: Build and push DocTR GPU image
|
||||
uses: docker/build-push-action@v5
|
||||
with:
|
||||
context: src/doctr_service
|
||||
file: src/doctr_service/Dockerfile.gpu
|
||||
platforms: ${{ matrix.platform }}
|
||||
platforms: linux/amd64
|
||||
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
|
||||
${{ needs.essential.outputs.image_doctr_gpu }}:${{ needs.essential.outputs.Version }}
|
||||
${{ needs.essential.outputs.image_doctr_gpu }}:latest
|
||||
|
||||
Reference in New Issue
Block a user