seepuls/.github/workflows/ci.yml
Till JS 32f0295a8b seepuls α-0: Repo-Skelett + Aggregator-Schema
Erste Vereins-App, die fremde Drittseiten crawlt und aggregiert
(Event-Übersicht Konstanz/Kreuzlingen, DE+CH zusammen). Phase-0-
Build dependency-arm (manaspur-Pattern): keine @mana/* via
Verdaccio, Föderations-Boilerplate inline.

- Hono+Bun-API mit health/manifest/search/takedown/dsgvo
- Drizzle-Schema (8 Tabellen) gemäß AGGREGATOR_POLICY §6:
  countries, regions, venues, event_sources, events,
  crawl_jobs (mit robots_check_passed-Compliance-Beweis),
  takedown_requests, blocked_domains
- Crawl-Policy-Skelett (assertCrawlAllowed) mit Block-List-Check
  + Pro-Host-Rate-Limit; robots.txt-Lookup pending α-1
- mana-research- und mana-geocoding-Client-Stubs
- Search-Endpoint public (kein Auth — Browse-only MVP)
- Postgres lokal :5441, db:push grün, /healthz + /readyz +
  /.well-known/mana-app.json smoke-getestet

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-15 14:14:15 +02:00

35 lines
655 B
YAML

name: CI
on:
push:
branches: [main]
pull_request:
jobs:
validate:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: pnpm/action-setup@v4
with:
version: 9.15.9
- uses: actions/setup-node@v4
with:
node-version: 20
cache: pnpm
- name: Install (Vereins-Verdaccio-Token)
env:
NPM_AUTH_TOKEN: ${{ secrets.MANA_NPM_TOKEN }}
run: pnpm install --frozen-lockfile
- name: Validate manifest
run: pnpm validate-manifest
- name: Type-check
run: pnpm type-check
- name: Test
run: pnpm test