Skip to content

smoke-live-canary

smoke-live-canary #22

name: smoke-live-canary
# Informational live scan — does NOT gate deploy. Kept separate from `ci` so a
# scheduled success cannot trigger deploy.yml (which watches workflow_run: ci).
on:
schedule:
- cron: '0 6 * * *'
workflow_dispatch:
jobs:
live-scan:
name: Live scan canary (non-gating)
runs-on: ubuntu-latest
continue-on-error: true
steps:
- uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
- uses: oven-sh/setup-bun@0c5077e51419868618aeaa5fe8019c62421857d6 # v2
with:
bun-version: 1.3.5
- run: bun install
- name: Build CLI + core
run: bun run --filter @slop-detect/core build && bun run --filter slop-detect build
- name: Install Playwright Chromium
run: bunx playwright install --with-deps chromium
- name: Scan live HN (informational)
env:
SKIP_PLAYWRIGHT_DOWNLOAD: 1
run: |
cd packages/cli
node dist/bin/slop.js https://news.ycombinator.com --json > result.json
cat result.json
score=$(node -e "console.log(JSON.parse(require('fs').readFileSync('result.json')).score)")
echo "Live HN score: $score (non-gating — does not block deploy)"