Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 9 additions & 12 deletions .github/workflows/docker-publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ on:
push:
branches:
- main
workflow_dispatch:

env:
DOCKER_REPOSITORY: quay.io/unstructured-io/unstructured-api
Expand All @@ -24,7 +25,7 @@ jobs:
strategy:
matrix:
arch: ["arm64", "amd64"]
runs-on: ${{ matrix.arch == 'arm64' && 'opensource-linux-arm64-4core' || 'opensource-linux-8core' }}
runs-on: ${{ matrix.arch == 'arm64' && 'ubuntu-24.04-arm' || 'opensource-linux-8core' }}
needs: set-short-sha
env:
SHORT_SHA: ${{ needs.set-short-sha.outputs.short_sha }}
Expand Down Expand Up @@ -86,11 +87,7 @@ jobs:
- name: Test image
run: |
export DOCKER_IMAGE="$DOCKER_BUILD_REPOSITORY:${{ matrix.arch }}-$SHORT_SHA"
if [ "$DOCKER_PLATFORM" == "linux/arm64" ]; then
SKIP_INFERENCE_TESTS=true make docker-test
else
make docker-test
fi
SKIP_INFERENCE_TESTS=true make docker-test
- name: Push image
run: |
# write to the build repository to cache for the publish-images job
Expand Down Expand Up @@ -126,10 +123,10 @@ jobs:
docker push $DOCKER_BUILD_REPOSITORY:arm64
- name: Push multiarch manifest
run: |
docker manifest create ${DOCKER_REPOSITORY}:latest $DOCKER_BUILD_REPOSITORY:amd64 $DOCKER_BUILD_REPOSITORY:arm64
docker manifest push $DOCKER_REPOSITORY:latest
docker manifest create ${DOCKER_REPOSITORY}:$SHORT_SHA $DOCKER_BUILD_REPOSITORY:amd64 $DOCKER_BUILD_REPOSITORY:arm64
docker manifest push $DOCKER_REPOSITORY:$SHORT_SHA
VERSION=$(grep -oP '(?<=__version__ = ")[^"]+' prepline_general/api/__version__.py)
docker manifest create ${DOCKER_REPOSITORY}:$VERSION $DOCKER_BUILD_REPOSITORY:amd64 $DOCKER_BUILD_REPOSITORY:arm64
docker manifest push ${DOCKER_REPOSITORY}:$VERSION
docker buildx imagetools create \
-t ${DOCKER_REPOSITORY}:latest \
-t ${DOCKER_REPOSITORY}:$SHORT_SHA \
-t ${DOCKER_REPOSITORY}:$VERSION \
$DOCKER_BUILD_REPOSITORY:amd64 \
$DOCKER_BUILD_REPOSITORY:arm64
7 changes: 6 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,16 @@
## 0.1.1
* Switch arm64 Docker build runner from custom `opensource-linux-arm64-4core` to GitHub-hosted `ubuntu-24.04-arm`
* Consolidate multiarch Docker manifest creation into a single `docker buildx imagetools create` call
* Skip inference tests in CD Docker smoke tests for both architectures (already covered by CI)

## 0.1.0
* Migrate to native uv for package management, replacing pip and pip-compile
* Replace black and flake8 with ruff for linting and formatting
* Remove all version pins from dependencies, use uv.lock for reproducibility
* Update Dockerfile, CI workflows, and Makefile to use uv throughout
* Fix flaky Korean OCR test assertions for tesseract compatibility
* Use `.python-version` file as single source of truth for Python version across all CI workflows
* Re-enable arm64 Docker image builds using a dedicated ARM runner (`opensource-linux-arm64-4core`), restoring multiarch support for both amd64 and arm64
* Re-enable arm64 Docker image builds with a dedicated ARM runner, restoring multiarch support for both amd64 and arm64
* Switch all CI workflows to faster self-hosted runners (`opensource-linux-8core`)
* Split lint tools into a lightweight dependency group so the CI lint step no longer installs heavy runtime dependencies
* Add explicit dependencies for `backoff`, `pandas`, `psutil`, `pypdf`, and `requests` (previously only transitive via `unstructured[all-docs]`)
Expand Down
2 changes: 1 addition & 1 deletion prepline_general/api/__version__.py
Original file line number Diff line number Diff line change
@@ -1 +1 @@
__version__ = "0.1.0" # pragma: no cover
__version__ = "0.1.1" # pragma: no cover