chore: update and merge gitignore
This commit is contained in:
76
sync_runner.sh
Executable file
76
sync_runner.sh
Executable file
@@ -0,0 +1,76 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Exit immediately if a command fails (except when we explicitly allow it later)
|
||||
set -e
|
||||
|
||||
echo "🚀 Starting Twitter to Bluesky Sync Job..."
|
||||
|
||||
# 1. Navigate to the directory containing the script
|
||||
# (Uncomment and change the path below if running via cron so it knows where to look)
|
||||
# cd /path/to/your/meteocatrss2bsky || exit
|
||||
|
||||
# 2. Load environment variables (Mimicking GitHub Secrets)
|
||||
if [ -f ".env" ]; then
|
||||
echo "📂 Loading secrets from .env file..."
|
||||
export $(grep -v '^#' .env | xargs)
|
||||
else
|
||||
echo "⚠️ No .env file found. Make sure environment variables are exported manually!"
|
||||
fi
|
||||
|
||||
# 3. Set up Python Virtual Environment (Mimicking actions/setup-python)
|
||||
if [ ! -d "venv" ]; then
|
||||
echo "🐍 Creating Python virtual environment..."
|
||||
python3 -m venv venv
|
||||
fi
|
||||
|
||||
echo "🔄 Activating virtual environment..."
|
||||
source venv/bin/activate
|
||||
|
||||
# 4. Install dependencies
|
||||
echo "📦 Installing dependencies..."
|
||||
pip install --upgrade pip -q
|
||||
pip install atproto tweety-ns playwright httpx arrow python-dotenv -q
|
||||
|
||||
# Install the browser
|
||||
playwright install chromium
|
||||
|
||||
# Install the required Linux system libraries
|
||||
playwright install-deps chromium
|
||||
|
||||
# 5. Run the script
|
||||
echo "▶️ Running the sync script..."
|
||||
|
||||
# Temporarily disable "exit on error" so we can catch a script crash and save the screenshot
|
||||
set +e
|
||||
|
||||
python3 twitter2bsky_daemon.py \
|
||||
--twitter-username "$TWITTER_USERNAME" \
|
||||
--twitter-password "$TWITTER_PASSWORD" \
|
||||
--twitter-email "$TWITTER_EMAIL" \
|
||||
--twitter-handle "$TWITTER_HANDLE" \
|
||||
--bsky-handle "$BSKY_HANDLE" \
|
||||
--bsky-password "$BSKY_APP_PASSWORD"
|
||||
|
||||
EXIT_CODE=$?
|
||||
|
||||
# Re-enable "exit on error"
|
||||
set -e
|
||||
|
||||
# 6. Handle Errors and Screenshots (Mimicking actions/upload-artifact)
|
||||
if [ $EXIT_CODE -ne 0 ]; then
|
||||
echo "❌ Script failed with exit code $EXIT_CODE."
|
||||
|
||||
# Check if any screenshots were generated by Playwright
|
||||
if ls screenshot_*.png 1> /dev/null 2>&1; then
|
||||
echo "📸 Error screenshots found. Moving them to 'error_artifacts' folder..."
|
||||
mkdir -p error_artifacts
|
||||
mv screenshot_*.png error_artifacts/
|
||||
echo "✅ Screenshots saved in ./error_artifacts/"
|
||||
else
|
||||
echo "⚠️ No screenshots found."
|
||||
fi
|
||||
|
||||
exit $EXIT_CODE
|
||||
fi
|
||||
|
||||
echo "✅ Sync job completed successfully!"
|
||||
Reference in New Issue
Block a user