65 lines
1.8 KiB
Bash
Executable File
65 lines
1.8 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
set -euo pipefail
|
|
|
|
SCRIPT_DIR="$(cd "$(dirname "$0")/../.zscripts" && pwd)"
|
|
TEST_ROOT="$(mktemp -d)"
|
|
trap 'rm -rf "$TEST_ROOT"' EXIT
|
|
|
|
PROJECT_DIR="$TEST_ROOT/project"
|
|
BUILD_DIR="$TEST_ROOT/build"
|
|
mkdir -p \
|
|
"$PROJECT_DIR/scripts" \
|
|
"$PROJECT_DIR/.venv" \
|
|
"$BUILD_DIR/next-service-dist"
|
|
|
|
cat >"$PROJECT_DIR/requirements.txt" <<'EOF'
|
|
EOF
|
|
cat >"$PROJECT_DIR/scripts/report.py" <<'EOF'
|
|
print("report")
|
|
EOF
|
|
cat >"$PROJECT_DIR/.venv/should-not-copy.py" <<'EOF'
|
|
ignored
|
|
EOF
|
|
|
|
PROJECT_DIR="$PROJECT_DIR" BUILD_DIR="$BUILD_DIR" \
|
|
bash "$SCRIPT_DIR/python-runtime-build.sh"
|
|
|
|
test -f "$BUILD_DIR/next-service-dist/scripts/report.py"
|
|
test ! -e "$BUILD_DIR/next-service-dist/.venv/should-not-copy.py"
|
|
|
|
PYPROJECT_DIR="$TEST_ROOT/pyproject-app"
|
|
PYPROJECT_BUILD="$TEST_ROOT/pyproject-build"
|
|
mkdir -p "$PYPROJECT_DIR" "$PYPROJECT_BUILD/next-service-dist"
|
|
cat >"$PYPROJECT_DIR/pyproject.toml" <<'EOF'
|
|
[project]
|
|
name = "deploy-test"
|
|
version = "0.1.0"
|
|
requires-python = ">=3.12"
|
|
dependencies = []
|
|
EOF
|
|
cat >"$PYPROJECT_DIR/app.py" <<'EOF'
|
|
print("pyproject app")
|
|
EOF
|
|
|
|
PROJECT_DIR="$PYPROJECT_DIR" BUILD_DIR="$PYPROJECT_BUILD" \
|
|
bash "$SCRIPT_DIR/python-runtime-build.sh"
|
|
test -f "$PYPROJECT_BUILD/next-service-dist/app.py"
|
|
test -f "$PYPROJECT_BUILD/python-runtime/requirements.txt"
|
|
|
|
NODE_ONLY_PROJECT="$TEST_ROOT/node-only"
|
|
NODE_ONLY_BUILD="$TEST_ROOT/node-only-build"
|
|
mkdir -p "$NODE_ONLY_PROJECT/mini-services/python-worker" "$NODE_ONLY_BUILD"
|
|
cat >"$NODE_ONLY_PROJECT/package.json" <<'EOF'
|
|
{"name": "node-only"}
|
|
EOF
|
|
cat >"$NODE_ONLY_PROJECT/mini-services/python-worker/main.py" <<'EOF'
|
|
print("unsupported preview-only service")
|
|
EOF
|
|
|
|
PROJECT_DIR="$NODE_ONLY_PROJECT" BUILD_DIR="$NODE_ONLY_BUILD" \
|
|
bash "$SCRIPT_DIR/python-runtime-build.sh"
|
|
test ! -e "$NODE_ONLY_BUILD/python-runtime"
|
|
|
|
echo "python runtime build tests passed"
|