The E2E CI uses pre-built images and overlays workspace packages via
symlinks. The new @harb/analytics package needs the same treatment as
@harb/web3 and @harb/utils for both webapp and landing services.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Step timeout 900→1800s to accommodate 34 tests across 5 projects
- Remove test 06 (dashboard pages) from cross-browser specs — each
subtest creates a wallet context, making 4× browser runs too slow
- Cross-browser now runs 03 (GraphQL verification) + 07 (landing pages)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Add Playwright projects for Chromium, Firefox, WebKit, iPhone 14, and
Pixel 7 viewports. Chromium runs all specs (01-07); other projects run
read-only specs (03, 06, 07) after Chromium finishes, using project
dependencies to ensure chain state exists.
Coverage audit:
- Tests 01/02 already cover /app/get-krk, /app/cheats as part of flows
- Test 03 verifies GraphQL endpoints
- Test 06 covers wallet + position dashboards
- New test 07 adds landing page and docs smoke coverage
Changes:
- playwright.config.ts: 5 projects (3 desktop browsers + 2 mobile)
- wallet-provider.ts: accept optional viewport/screen for mobile contexts
- 03, 06 specs: pass project viewport to wallet context
- 07-landing-pages.spec.ts: new spec for landing homepage + docs
- e2e.yml: timeout 600→900s for cross-browser matrix, updated comments
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
These directories contain TOML process definitions and JSON evidence
files — no code changes that need testing. Also excludes docs/ and
*.md from the main CI pipeline (e2e already excluded these).
Prepares for formula and evidence PRs landing without triggering
unnecessary CI runs.
Eliminates Codeberg git clone rate limiting. The mirror at
/git-mirrors/harb.git (synced every 2 min) provides objects locally,
so the clone step only fetches deltas from Codeberg.
Volume mounted via WOODPECKER_BACKEND_DOCKER_VOLUMES.
The webapp-ci Docker image predates packages/utils. The e2e.yml webapp
service already overlays packages/web3 manually; add the same pattern
for packages/utils so Vite can resolve @harb/utils imports at runtime.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Update 02-max-stake-all-tax-rates.spec.ts to buy KRK via /app/get-krk
instead of the removed cheats-page swap card
- Add VITE_ENABLE_LOCAL_SWAP=true to the webapp CI service so
LocalSwapWidget renders in the e2e pipeline
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
woodpeckerci/plugin-git reads credentials via PLUGIN_NETRC_* env vars
(set from settings:), not CI_NETRC_* (set from environment:). The
previous fix in 57deaaa put the secret under environment:, so the
plugin never populated .netrc and git fell back to prompting, which
fails with GIT_TERMINAL_PROMPT=0.
Fix both ci.yml and e2e.yml.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>