Skip to content

Price Scraper

Price Scraper #57

Workflow file for this run

name: Price Scraper
on:
# Run every 12 hours
schedule:
- cron: '0 */12 * * *'
# Allow manual trigger from GitHub UI
workflow_dispatch:
jobs:
scrape:
runs-on: ubuntu-latest
timeout-minutes: 30
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Install pnpm
uses: pnpm/action-setup@v6
with:
version: latest
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 22
cache: 'pnpm'
- name: Install dependencies
run: pnpm install --frozen-lockfile
- name: Run price scraper
run: pnpm scrape
env:
NEXT_PUBLIC_SUPABASE_URL: ${{ secrets.NEXT_PUBLIC_SUPABASE_URL }}
SUPABASE_SERVICE_ROLE_KEY: ${{ secrets.SUPABASE_SERVICE_ROLE_KEY }}
UPSTASH_REDIS_REST_URL: ${{ secrets.UPSTASH_REDIS_REST_URL }}
UPSTASH_REDIS_REST_TOKEN: ${{ secrets.UPSTASH_REDIS_REST_TOKEN }}
# Scraper config — uses defaults; override via Secrets if needed
SCRAPER_DRY_RUN: "false"
SCRAPER_INTERVAL_DAYS: "5"
SCRAPER_FORCE_FETCH_ALL: "false"