mirror of
https://github.com/Unstructured-IO/unstructured.git
synced 2025-06-27 02:30:08 +00:00

### Summary Updates the `arm64` build to use the same `Dockerfile` as `amd64`, since there are now upstream base images for `wolfi-base` for both architectures. The legacy `rockylinux-9.4` is now stashed in a subdirectory the `docker` subdirectory and is no longer built in CI, but is available is users would like to build it themselves. Additionally, this PR includes a fix to symlink `python3` to `python3.11`, which had caused a CI failure [here](https://github.com/Unstructured-IO/unstructured/actions/runs/9619486931/job/26535697755). BREAKING CHANGE: the `arm64` image no longer supports `.doc`, `.pptx`, or `.xls` because we do not yet have a `libreoffice` `apk` built for `wolfi-base`. We intend to address that as a follow on. All other filetypes work. ### Testing Successfully docker builds, tests, and smoke tests for [amd64](https://github.com/Unstructured-IO/unstructured/actions/runs/9619458140/job/26535610735?pr=3268) and [arm64](https://github.com/Unstructured-IO/unstructured/actions/runs/9619458140/job/26535610341?pr=3268) on the feature branch (with publish disabled).
48 lines
1.3 KiB
Bash
Executable File
48 lines
1.3 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
# Start the containerized repository and run ingest tests
|
|
|
|
# shellcheck disable=SC2317 # Shellcheck complains that trap functions are unreachable...
|
|
|
|
set -eux -o pipefail
|
|
|
|
CONTAINER_NAME=unstructured-smoke-test
|
|
DOCKER_IMAGE="${DOCKER_IMAGE:-unstructured:dev}"
|
|
|
|
# Change to the root of the repository
|
|
SCRIPT_DIR=$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" &>/dev/null && pwd)
|
|
cd "$SCRIPT_DIR"/.. || exit 1
|
|
|
|
start_container() {
|
|
echo Starting container "$CONTAINER_NAME"
|
|
docker run -dt --rm --name "$CONTAINER_NAME" "$DOCKER_IMAGE"
|
|
}
|
|
|
|
await_container() {
|
|
echo Waiting for container to start
|
|
until [ "$(docker inspect -f '{{.State.Status}}' $CONTAINER_NAME)" == "running" ]; do
|
|
sleep 1
|
|
done
|
|
}
|
|
|
|
stop_container() {
|
|
echo Stopping container "$CONTAINER_NAME"
|
|
docker stop "$CONTAINER_NAME"
|
|
}
|
|
|
|
start_container
|
|
|
|
# Regardless of test result, stop the container
|
|
trap stop_container EXIT
|
|
|
|
await_container
|
|
|
|
# Run the tests
|
|
docker cp test_unstructured_ingest $CONTAINER_NAME:/app
|
|
docker cp requirements/ingest $CONTAINER_NAME:/app/requirements/ingest
|
|
docker exec -u root "$CONTAINER_NAME" /bin/bash -c "chown -R notebook-user:notebook-user /app/test_unstructured_ingest"
|
|
docker exec "$CONTAINER_NAME" /bin/bash -c "/app/test_unstructured_ingest/src/wikipedia.sh"
|
|
|
|
result=$?
|
|
exit $result
|