Some checks failed
Build and Push Docker Image / build (push) Failing after 34s
- Dockerfile now installs schwab-scraper from vendor/ dir (no git needed) - Upgrade playwright to latest to match browserless chromium container - CI workflow checks out schwab-scraper into vendor/ before build - Add scripts/build.sh for local builds via docker-test - Add curl to runtime image for compose healthcheck - Increase memory limit to 512M for large account position scraping
38 lines
1.1 KiB
Bash
Executable File
38 lines
1.1 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
|
PROJECT_DIR="$(dirname "$SCRIPT_DIR")"
|
|
SCRAPER_DIR="/home/b3nw/projects/financial/schwab-scraper"
|
|
IMAGE="gitea.ext.ben.io/b3nw/schwab-mcp-custom:latest"
|
|
BUILD_HOST="${BUILD_HOST:-docker-test}"
|
|
|
|
cd "$PROJECT_DIR"
|
|
|
|
echo "==> Preparing vendor directory..."
|
|
rm -rf vendor/schwab-scraper
|
|
mkdir -p vendor/schwab-scraper
|
|
git -C "$SCRAPER_DIR" archive HEAD | tar -x -C vendor/schwab-scraper
|
|
|
|
echo "==> Syncing build context to $BUILD_HOST..."
|
|
rsync -az --delete \
|
|
--exclude '.venv' \
|
|
--exclude '.git' \
|
|
--exclude '__pycache__' \
|
|
--exclude 'cookies.json' \
|
|
--exclude 'config.json' \
|
|
--exclude '.env' \
|
|
"$PROJECT_DIR/" "$BUILD_HOST:/tmp/schwab-mcp-build/"
|
|
|
|
echo "==> Building Docker image on $BUILD_HOST..."
|
|
ssh "$BUILD_HOST" "cd /tmp/schwab-mcp-build && docker build -t $IMAGE ."
|
|
|
|
echo "==> Pushing image to registry..."
|
|
ssh "$BUILD_HOST" "docker push $IMAGE"
|
|
|
|
echo "==> Cleaning up..."
|
|
rm -rf vendor/schwab-scraper
|
|
ssh "$BUILD_HOST" "rm -rf /tmp/schwab-mcp-build"
|
|
|
|
echo "==> Done! Image pushed: $IMAGE"
|