mirror of
https://github.com/docling-project/docling-serve.git
synced 2025-11-29 08:33:50 +00:00
Compare commits
3 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a4fed2d965 | ||
|
|
b0360d723b | ||
|
|
4adc0dfa79 |
201
.github/workflows/job-image.yml
vendored
201
.github/workflows/job-image.yml
vendored
@@ -117,8 +117,8 @@ jobs:
|
||||
with:
|
||||
context: .
|
||||
push: false
|
||||
load: true # == '--output=type=docker'
|
||||
tags: ${{ steps.ghcr_meta.outputs.tags }}-test
|
||||
load: true
|
||||
tags: ${{ env.GHCR_REGISTRY }}/${{ inputs.ghcr_image_name }}:${{ github.sha }}-test
|
||||
labels: |
|
||||
org.opencontainers.image.title=docling-serve
|
||||
org.opencontainers.image.test=true
|
||||
@@ -133,7 +133,7 @@ jobs:
|
||||
run: |
|
||||
set -e
|
||||
|
||||
IMAGE_TAG="${{ steps.ghcr_meta.outputs.tags }}-test"
|
||||
IMAGE_TAG="${{ env.GHCR_REGISTRY }}/${{ inputs.ghcr_image_name }}:${{ github.sha }}-test"
|
||||
echo "Testing local image: $IMAGE_TAG"
|
||||
|
||||
# Remove existing container if any
|
||||
@@ -230,198 +230,3 @@ jobs:
|
||||
- name: Remove Local Docker Images
|
||||
run: |
|
||||
docker image prune -af
|
||||
##
|
||||
## Extra tests for released images
|
||||
##
|
||||
|
||||
# outputs:
|
||||
# image-tags: ${{ steps.ghcr_meta.outputs.tags }}
|
||||
# image-labels: ${{ steps.ghcr_meta.outputs.labels }}
|
||||
|
||||
# test-cpu-image:
|
||||
# needs:
|
||||
# - image
|
||||
# runs-on: ubuntu-latest
|
||||
# permissions:
|
||||
# contents: read
|
||||
# packages: read
|
||||
|
||||
# steps:
|
||||
# - name: Checkout code
|
||||
# uses: actions/checkout@v5
|
||||
|
||||
# - name: Test CPU images
|
||||
# run: |
|
||||
# set -e
|
||||
|
||||
# echo "Testing image: ${{ needs.image.outputs.image-tags }}"
|
||||
|
||||
# for tag in ${{ needs.image.outputs.image-tags }}; do
|
||||
# if echo "$tag" | grep -q -- '-cpu' && echo "$tag" | grep -qE ':[vV][0-9]+(\.[0-9]+){0,2}$'; then
|
||||
# echo "Testing CPU image: $tag"
|
||||
|
||||
# # Remove existing container if any
|
||||
# docker rm -f docling-serve-test-container 2>/dev/null || true
|
||||
|
||||
# echo "Pulling image..."
|
||||
# docker pull "$tag"
|
||||
|
||||
# echo "Waiting 5s after pull..."
|
||||
# sleep 5
|
||||
|
||||
# echo "Starting container..."
|
||||
# docker run -d -p 5001:5001 --name docling-serve-test-container "$tag"
|
||||
|
||||
# echo "Waiting 15s for container to boot..."
|
||||
# sleep 15
|
||||
|
||||
# echo "Checking service health..."
|
||||
# for i in {1..20}; do
|
||||
# health_response=$(curl -s http://localhost:5001/health || true)
|
||||
# echo "Health check response [$i]: $health_response"
|
||||
# if echo "$health_response" | grep -q '"status":"ok"'; then
|
||||
# echo "Service is healthy!"
|
||||
# echo "Sending test conversion request..."
|
||||
|
||||
# status_code=$(curl -s -o /dev/null -w "%{http_code}" -X POST 'http://localhost:5001/v1/convert/source' \
|
||||
# -H 'accept: application/json' \
|
||||
# -H 'Content-Type: application/json' \
|
||||
# -d '{
|
||||
# "options": {
|
||||
# "from_formats": ["pdf"],
|
||||
# "to_formats": ["md"]
|
||||
# },
|
||||
# "sources": [
|
||||
# {
|
||||
# "kind": "http",
|
||||
# "url": "https://arxiv.org/pdf/2501.17887"
|
||||
# }
|
||||
# ],
|
||||
# "target": {
|
||||
# "kind": "inbody"
|
||||
# }
|
||||
# }')
|
||||
|
||||
# echo "Conversion request returned status code: $status_code"
|
||||
|
||||
# if [ "$status_code" -ne 200 ]; then
|
||||
# echo "Conversion failed!"
|
||||
# docker logs docling-serve-test-container
|
||||
# docker rm -f docling-serve-test-container
|
||||
# exit 1
|
||||
# fi
|
||||
|
||||
# break
|
||||
# else
|
||||
# echo "Waiting for service... [$i/20]"
|
||||
# sleep 3
|
||||
# fi
|
||||
# done
|
||||
|
||||
# if ! echo "$health_response" | grep -q '"status":"ok"'; then
|
||||
# echo "Service did not become healthy in time."
|
||||
# docker logs docling-serve-test-container
|
||||
# docker rm -f docling-serve-test-container
|
||||
# exit 1
|
||||
# fi
|
||||
|
||||
# echo "Cleaning up test container..."
|
||||
# docker rm -f docling-serve-test-container
|
||||
# else
|
||||
# echo "Skipping non-released or non-CPU image: $tag"
|
||||
# fi
|
||||
# done
|
||||
|
||||
# test-cuda-image:
|
||||
# needs:
|
||||
# - image
|
||||
# runs-on: ubuntu-latest # >> placeholder for GPU runner << #
|
||||
# permissions:
|
||||
# contents: read
|
||||
# packages: read
|
||||
|
||||
# steps:
|
||||
# - name: Checkout code
|
||||
# uses: actions/checkout@v5
|
||||
|
||||
# - name: Test CUDA images
|
||||
# run: |
|
||||
# set -e
|
||||
|
||||
# echo "Testing image: ${{ needs.image.outputs.image-tags }}"
|
||||
|
||||
# for tag in ${{ needs.image.outputs.image-tags }}; do
|
||||
# if echo "$tag" | grep -qE -- '-cu[0-9]+' && echo "$tag" | grep -qE ':[vV][0-9]+(\.[0-9]+){0,2}$'; then
|
||||
# echo "Testing CUDA image: $tag"
|
||||
|
||||
# # Remove existing container if any
|
||||
# docker rm -f docling-serve-test-container 2>/dev/null || true
|
||||
|
||||
# echo "Pulling image..."
|
||||
# docker pull "$tag"
|
||||
|
||||
# echo "Waiting 5s after pull..."
|
||||
# sleep 5
|
||||
|
||||
# echo "Starting container..."
|
||||
# docker run -d -p 5001:5001 --gpus all --name docling-serve-test-container "$tag"
|
||||
|
||||
# echo "Waiting 15s for container to boot..."
|
||||
# sleep 15
|
||||
|
||||
# echo "Checking service health..."
|
||||
# for i in {1..25}; do
|
||||
# health_response=$(curl -s http://localhost:5001/health || true)
|
||||
# echo "Health check response [$i]: $health_response"
|
||||
# if echo "$health_response" | grep -q '"status":"ok"'; then
|
||||
# echo "Service is healthy!"
|
||||
# echo "Sending test conversion request..."
|
||||
|
||||
# status_code=$(curl -s -o /dev/null -w "%{http_code}" -X POST 'http://localhost:5001/v1/convert/source' \
|
||||
# -H 'accept: application/json' \
|
||||
# -H 'Content-Type: application/json' \
|
||||
# -d '{
|
||||
# "options": {
|
||||
# "from_formats": ["pdf"],
|
||||
# "to_formats": ["md"]
|
||||
# },
|
||||
# "sources": [
|
||||
# {
|
||||
# "kind": "http",
|
||||
# "url": "https://arxiv.org/pdf/2501.17887"
|
||||
# }
|
||||
# ],
|
||||
# "target": {
|
||||
# "kind": "inbody"
|
||||
# }
|
||||
# }')
|
||||
|
||||
# echo "Conversion request returned status code: $status_code"
|
||||
|
||||
# if [ "$status_code" -ne 200 ]; then
|
||||
# echo "Conversion failed!"
|
||||
# docker logs docling-serve-test-container
|
||||
# docker rm -f docling-serve-test-container
|
||||
# exit 1
|
||||
# fi
|
||||
|
||||
# break
|
||||
# else
|
||||
# echo "Waiting for service... [$i/25]"
|
||||
# sleep 3
|
||||
# fi
|
||||
# done
|
||||
|
||||
# if ! echo "$health_response" | grep -q '"status":"ok"'; then
|
||||
# echo "Service did not become healthy in time."
|
||||
# docker logs docling-serve-test-container
|
||||
# docker rm -f docling-serve-test-container
|
||||
# exit 1
|
||||
# fi
|
||||
|
||||
# echo "Cleaning up test container..."
|
||||
# docker rm -f docling-serve-test-container
|
||||
# else
|
||||
# echo "Skipping non-released or non-CUDA image: $tag"
|
||||
# fi
|
||||
# done
|
||||
|
||||
16
CHANGELOG.md
16
CHANGELOG.md
@@ -1,3 +1,19 @@
|
||||
## [v1.4.1](https://github.com/docling-project/docling-serve/releases/tag/v1.4.1) - 2025-09-08
|
||||
|
||||
### Fix
|
||||
|
||||
* Trigger fix after ci fixes ([#355](https://github.com/docling-project/docling-serve/issues/355)) ([`b0360d7`](https://github.com/docling-project/docling-serve/commit/b0360d723bff202dcf44a25a3173ec1995945fc2))
|
||||
|
||||
### Docling libraries included in this release:
|
||||
- docling 2.46.0
|
||||
- docling 2.51.0
|
||||
- docling-core 2.47.0
|
||||
- docling-ibm-models 3.9.1
|
||||
- docling-jobkit 1.4.1
|
||||
- docling-mcp 1.2.0
|
||||
- docling-parse 4.4.0
|
||||
- docling-serve 1.4.1
|
||||
|
||||
## [v1.4.0](https://github.com/docling-project/docling-serve/releases/tag/v1.4.0) - 2025-09-05
|
||||
|
||||
### Feature
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
[project]
|
||||
name = "docling-serve"
|
||||
version = "1.4.0" # DO NOT EDIT, updated automatically
|
||||
version = "1.4.1" # DO NOT EDIT, updated automatically
|
||||
description = "Running Docling as a service"
|
||||
license = {text = "MIT"}
|
||||
authors = [
|
||||
|
||||
2
uv.lock
generated
2
uv.lock
generated
@@ -1507,7 +1507,7 @@ wheels = [
|
||||
|
||||
[[package]]
|
||||
name = "docling-serve"
|
||||
version = "1.4.0"
|
||||
version = "1.4.1"
|
||||
source = { editable = "." }
|
||||
dependencies = [
|
||||
{ name = "docling", version = "2.46.0", source = { registry = "https://pypi.org/simple" }, marker = "(sys_platform == 'linux' and extra == 'group-13-docling-serve-cu124') or (extra == 'group-13-docling-serve-cu124' and extra == 'group-13-docling-serve-cu126') or (extra == 'group-13-docling-serve-cu124' and extra == 'group-13-docling-serve-cu128') or (extra == 'group-13-docling-serve-cu124' and extra == 'group-13-docling-serve-pypi') or (extra == 'group-13-docling-serve-cu124' and extra == 'group-13-docling-serve-rocm') or (extra == 'group-13-docling-serve-cpu' and extra == 'group-13-docling-serve-cu124') or (extra == 'group-13-docling-serve-cpu' and extra == 'group-13-docling-serve-cu126') or (extra == 'group-13-docling-serve-cpu' and extra == 'group-13-docling-serve-cu128') or (extra == 'group-13-docling-serve-cpu' and extra == 'group-13-docling-serve-pypi') or (extra == 'group-13-docling-serve-cpu' and extra == 'group-13-docling-serve-rocm') or (extra == 'group-13-docling-serve-cu126' and extra == 'group-13-docling-serve-cu128') or (extra == 'group-13-docling-serve-cu126' and extra == 'group-13-docling-serve-pypi') or (extra == 'group-13-docling-serve-cu126' and extra == 'group-13-docling-serve-rocm') or (extra == 'group-13-docling-serve-cu128' and extra == 'group-13-docling-serve-pypi') or (extra == 'group-13-docling-serve-cu128' and extra == 'group-13-docling-serve-rocm') or (extra == 'group-13-docling-serve-pypi' and extra == 'group-13-docling-serve-rocm')" },
|
||||
|
||||
Reference in New Issue
Block a user