chore: import upstream snapshot with attribution
This commit is contained in:
Executable
+36
@@ -0,0 +1,36 @@
|
||||
#!/bin/bash
|
||||
|
||||
# CI/CD build script for Python package using uv
|
||||
# For local development, use test-python.sh instead
|
||||
|
||||
set -e
|
||||
|
||||
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
||||
ROOT_DIR="$SCRIPT_DIR/.."
|
||||
PACKAGE_DIR="$ROOT_DIR/python/opendataloader-pdf"
|
||||
cd "$PACKAGE_DIR"
|
||||
|
||||
# Check uv is available
|
||||
command -v uv >/dev/null || { echo "Error: uv not found. Install with: curl -LsSf https://astral.sh/uv/install.sh | sh"; exit 1; }
|
||||
|
||||
# Clean previous build
|
||||
rm -rf dist/
|
||||
|
||||
# Copy README.md from repo root *before* build. hatchling validates [project.readme]
|
||||
# during metadata parsing, which runs BEFORE hatch_build.py's build hook — so we
|
||||
# cannot rely on the hook to provide it. Clean up on exit so branch switches
|
||||
# don't leave a stale copy in the package dir.
|
||||
cp "$ROOT_DIR/README.md" "$PACKAGE_DIR/README.md"
|
||||
trap 'rm -f "$PACKAGE_DIR/README.md"' EXIT
|
||||
|
||||
# Build sdist and wheel packages (hatch_build.py copies JAR/LICENSE/NOTICE/THIRD_PARTY)
|
||||
uv build
|
||||
|
||||
# Verify sdist contains required artifacts (JAR, LICENSE, NOTICE, THIRD_PARTY)
|
||||
"$SCRIPT_DIR/verify-python-sdist.sh"
|
||||
|
||||
# Install and run tests (include hybrid extras for full test coverage)
|
||||
uv sync --extra hybrid
|
||||
uv run pytest tests -v -s
|
||||
|
||||
echo "Build completed successfully."
|
||||
Reference in New Issue
Block a user