diff --git a/.gitea/workflows/magnitude.yml b/.gitea/workflows/magnitude.yml index b04bd29..2a7345e 100644 --- a/.gitea/workflows/magnitude.yml +++ b/.gitea/workflows/magnitude.yml @@ -24,11 +24,11 @@ jobs: SURREALDB_PASS=root SURREALDB_NS=ponderants SURREALDB_DB=main + SURREALDB_JWT_SECRET=${{ secrets.SURREALDB_JWT_SECRET }} ATPROTO_CLIENT_ID=${{ secrets.ATPROTO_CLIENT_ID }} ATPROTO_REDIRECT_URI=${{ secrets.ATPROTO_REDIRECT_URI }} - GOOGLE_API_KEY=${{ secrets.GOOGLE_API_KEY }} + GOOGLE_GENERATIVE_AI_API_KEY=${{ secrets.GOOGLE_GENERATIVE_AI_API_KEY }} DEEPGRAM_API_KEY=${{ secrets.DEEPGRAM_API_KEY }} - SURREAL_JWT_SECRET=${{ secrets.SURREAL_JWT_SECRET }} TEST_BLUESKY_HANDLE=${{ secrets.TEST_BLUESKY_HANDLE }} TEST_BLUESKY_PASSWORD=${{ secrets.TEST_BLUESKY_PASSWORD }} ANTHROPIC_API_KEY=${{ secrets.ANTHROPIC_API_KEY }} diff --git a/.gitignore b/.gitignore index eb92dca..0b481c0 100644 --- a/.gitignore +++ b/.gitignore @@ -4,6 +4,7 @@ /node_modules /.pnp .pnp.js +.pnpm-store/ # testing /coverage diff --git a/docker-compose.ci.yml b/docker-compose.ci.yml index 02b7437..7b5ea67 100644 --- a/docker-compose.ci.yml +++ b/docker-compose.ci.yml @@ -15,12 +15,6 @@ services: - --pass - ${SURREALDB_PASS:-root} - memory - healthcheck: - test: ["CMD", "curl", "-f", "http://localhost:8000/health"] - interval: 5s - timeout: 3s - retries: 10 - start_period: 5s environment: - SURREAL_LOG=trace @@ -39,11 +33,11 @@ services: - SURREALDB_PASS=${SURREALDB_PASS:-root} - SURREALDB_NS=${SURREALDB_NS:-ponderants} - SURREALDB_DB=${SURREALDB_DB:-main} + - SURREALDB_JWT_SECRET=${SURREALDB_JWT_SECRET} - ATPROTO_CLIENT_ID=${ATPROTO_CLIENT_ID} - ATPROTO_REDIRECT_URI=${ATPROTO_REDIRECT_URI} - - GOOGLE_API_KEY=${GOOGLE_API_KEY} + - GOOGLE_GENERATIVE_AI_API_KEY=${GOOGLE_GENERATIVE_AI_API_KEY} - DEEPGRAM_API_KEY=${DEEPGRAM_API_KEY} - - SURREAL_JWT_SECRET=${SURREAL_JWT_SECRET} - TEST_BLUESKY_HANDLE=${TEST_BLUESKY_HANDLE} - TEST_BLUESKY_PASSWORD=${TEST_BLUESKY_PASSWORD} - ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY} @@ -52,39 +46,44 @@ services: sh -c " npm install -g pnpm && pnpm install --frozen-lockfile && + echo 'Waiting for SurrealDB to be ready...' && + sleep 10 && pnpm dev " depends_on: - surrealdb: - condition: service_healthy + - surrealdb healthcheck: test: ["CMD", "wget", "--spider", "-q", "http://localhost:3000"] interval: 5s timeout: 3s retries: 20 - start_period: 30s + start_period: 40s magnitude: - image: mcr.microsoft.com/playwright:v1.49.1-noble - working_dir: /home/pwuser/app - user: pwuser + image: mcr.microsoft.com/playwright:v1.56.1-noble + working_dir: /app + user: root network_mode: "service:nextjs" volumes: - - .:/home/pwuser/app - - /home/pwuser/app/node_modules + - .:/app + - node_modules:/app/node_modules environment: - TEST_BLUESKY_HANDLE=${TEST_BLUESKY_HANDLE} - TEST_BLUESKY_PASSWORD=${TEST_BLUESKY_PASSWORD} - ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY} + - HOME=/root command: > sh -c " npm install -g pnpm && pnpm install --frozen-lockfile && npx wait-on http://localhost:3000 --timeout 120000 && - npx magnitude + xvfb-run --auto-servernum --server-args='-screen 0 1280x960x24' npx magnitude " depends_on: nextjs: condition: service_healthy profiles: - test + +volumes: + node_modules: diff --git a/docker-compose.yml b/docker-compose.yml index aac2777..eda6fae 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -34,7 +34,7 @@ services: - surrealdb playwright: - image: mcr.microsoft.com/playwright:v1.49.1-noble + image: mcr.microsoft.com/playwright:v1.56.1-noble working_dir: /home/pwuser/app user: pwuser network_mode: host diff --git a/magnitude.config.ts b/magnitude.config.ts index 541d149..c4bb711 100644 --- a/magnitude.config.ts +++ b/magnitude.config.ts @@ -7,5 +7,5 @@ export default { // Run tests in headless mode to avoid window focus issues headless: true, // Use Claude Sonnet 4.5 for best performance - model: 'anthropic:claude-sonnet-4-5-20250514', + model: 'anthropic:claude-sonnet-4-5-20250929', }; diff --git a/playwright.config.ts b/playwright.config.ts index b9fddf8..b52d138 100644 --- a/playwright.config.ts +++ b/playwright.config.ts @@ -16,6 +16,7 @@ export default defineConfig({ baseURL: process.env.PLAYWRIGHT_BASE_URL || 'http://localhost:3000', trace: 'on-first-retry', screenshot: 'only-on-failure', + headless: true, }, projects: [