Files
radicle-explorer/.buildkite/e2e.yml
T
Daniel Norman 8f2ddcf489 Cache npm dependencies in Buildkite
- Add twemoji as npm dependency instead of build download
- Package build assets with a Vite plugin instead of scripts
- Keep the eslint and prettier caches in one directory
2026-08-26 17:44:04 +02:00

49 lines
1.7 KiB
YAML

# No explicit build step: tests/support/globalSetup.ts runs `npm run build` in
# parallel with fixture creation, and asserts the pinned rad and radicle-httpd
# versions are on PATH.
#
# This step shares the `deps` volume with the steps in node-checks.yml. Keep the
# cache paths the same as the ones there, and see that file for how the volume
# works and why this step waits for check.
env:
CI: "true"
NPM_CONFIG_CACHE: ".npm-cache"
steps:
- label: "🎭 e2e"
key: e2e
# The check step in node-checks.yml seeds the shared volume.
depends_on: check
timeout_in_minutes: 30
cache:
name: deps
paths:
- ".npm-cache"
- "tests/tmp/bin"
- ".lintcache"
artifact_paths:
- "tests/artifacts/**/*"
plugins:
# Ships the browsers at /ms-playwright, so nothing here installs them. The
# tag must match @playwright/test in package.json — Playwright refuses
# browsers built for another version.
- docker#v5.14.0:
image: "mcr.microsoft.com/playwright:v1.61.1-noble"
# Chromium exhausts Docker's default 64MB /dev/shm.
ipc: host
# Without this the cache volume links point at nothing.
volumes:
- "/cache/bkcache:/cache/bkcache"
environment:
- CI
- NPM_CONFIG_CACHE
commands:
- npm ci
# The image ships no decompressors: install-binaries unpacks .tar.xz
# releases, and the repo fixtures are .tar.bz2 archives.
- apt-get update -qq && apt-get install -y -qq xz-utils bzip2
- mkdir -p tests/artifacts
- ./scripts/install-binaries
- npm run test:e2e -- --project chromium