mirror of
https://github.com/Unstructured-IO/unstructured.git
synced 2025-07-29 11:58:51 +00:00

We’re probably unfairly (to the test) making a large volume of new connections and requests to test services when all of our ingest tests run across the full python test matrix and when a lot of PRs a firing at once. Lets limit the full matrix run to a select few, but still have all ingest tests run on python v3.10. This is done by checking the version and skipping in ingest-test.sh. Bonus: Bumps ingest test fixture workflow to use 3.10. This technically shouldn't make a difference, but since we're making 3.10 the default of the matrix strategy, it probably makes sense to use 3.10 for the ingest fixture generation as well for consistency. ## Testing - [example](https://github.com/Unstructured-IO/unstructured/actions/runs/6460319121/job/17537900978?pr=1687) running all tests in 3.10 - [example](https://github.com/Unstructured-IO/unstructured/actions/runs/6460319121/job/17537899999?pr=1687) skipping/running the expected tests in 3.8
93 lines
2.8 KiB
Bash
Executable File
93 lines
2.8 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
set -eu -o pipefail
|
|
|
|
SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
|
|
cd "$SCRIPT_DIR"/.. || exit 1
|
|
|
|
# NOTE(crag): sets number of tesseract threads to 1 which may help with more reproducible outputs
|
|
export OMP_THREAD_LIMIT=1
|
|
|
|
all_tests=(
|
|
'test-ingest-s3.sh'
|
|
'test-ingest-s3-minio.sh'
|
|
'test-ingest-azure.sh'
|
|
'test-ingest-biomed-api.sh'
|
|
'test-ingest-biomed-path.sh'
|
|
## NOTE(yuming): The following test should be put after any tests with --preserve-downloads option
|
|
'test-ingest-pdf-fast-reprocess.sh'
|
|
'test-ingest-salesforce.sh'
|
|
'test-ingest-box.sh'
|
|
'test-ingest-discord.sh'
|
|
'test-ingest-dropbox.sh'
|
|
'test-ingest-github.sh'
|
|
'test-ingest-gitlab.sh'
|
|
'test-ingest-google-drive.sh'
|
|
'test-ingest-wikipedia.sh'
|
|
'test-ingest-local.sh'
|
|
'test-ingest-slack.sh'
|
|
'test-ingest-against-api.sh'
|
|
'test-ingest-gcs.sh'
|
|
'test-ingest-onedrive.sh'
|
|
'test-ingest-outlook.sh'
|
|
'test-ingest-elasticsearch.sh'
|
|
'test-ingest-confluence-diff.sh'
|
|
'test-ingest-confluence-large.sh'
|
|
'test-ingest-airtable-diff.sh'
|
|
# NOTE(ryan): This test is disabled because it is triggering too many requests to the API
|
|
# 'test-ingest-airtable-large.sh'
|
|
'test-ingest-local-single-file.sh'
|
|
'test-ingest-local-single-file-with-encoding.sh'
|
|
'test-ingest-local-single-file-with-pdf-infer-table-structure.sh'
|
|
'test-ingest-notion.sh'
|
|
'test-ingest-delta-table.sh'
|
|
'test-ingest-jira.sh'
|
|
'test-ingest-sharepoint.sh'
|
|
)
|
|
|
|
full_python_matrix_tests=(
|
|
'test-ingest-sharepoint.sh'
|
|
'test-ingest-local.sh'
|
|
'test-ingest-local-single-file.sh'
|
|
'test-ingest-local-single-file-with-encoding.sh'
|
|
'test-ingest-local-single-file-with-pdf-infer-table-structure.sh'
|
|
'test-ingest-s3.sh'
|
|
'test-ingest-google-drive.sh'
|
|
'test-ingest-gcs.sh'
|
|
)
|
|
|
|
CURRENT_TEST="none"
|
|
|
|
function print_last_run() {
|
|
if [ "$CURRENT_TEST" != "none" ]; then
|
|
echo "Last ran script: $CURRENT_TEST"
|
|
fi
|
|
}
|
|
|
|
trap print_last_run EXIT
|
|
|
|
python_version=$(python --version 2>&1)
|
|
|
|
for test in "${all_tests[@]}"; do
|
|
CURRENT_TEST="$test"
|
|
# IF: python_version is not 3.10 (wildcarded to match any subminor version) AND the current test is not in full_python_matrix_tests
|
|
# Note: to test we expand the full_python_matrix_tests array to a string and then regex match the current test
|
|
if [[ "$python_version" != "Python 3.10"* ]] && [[ ! "${full_python_matrix_tests[*]}" =~ $test ]] ; then
|
|
echo "--------- SKIPPING SCRIPT $test ---------"
|
|
continue
|
|
fi
|
|
if [[ "$test" == "test-ingest-notion.sh" ]]; then
|
|
echo "--------- RUNNING SCRIPT $test --- IGNORING FAILURES"
|
|
set +e
|
|
echo "Running ./test_unstructured_ingest/$test"
|
|
./test_unstructured_ingest/"$test"
|
|
set -e
|
|
echo "--------- FINISHED SCRIPT $test ---------"
|
|
else
|
|
echo "--------- RUNNING SCRIPT $test ---------"
|
|
echo "Running ./test_unstructured_ingest/$test"
|
|
./test_unstructured_ingest/"$test"
|
|
echo "--------- FINISHED SCRIPT $test ---------"
|
|
fi
|
|
done
|