CI / CD
The editor repository ships a GitLab CI configuration covering lint, unit tests, Playwright end-to-end tests, build, and deployment to S3-compatible storage.
Required CI/CD variables
Set these in GitLab → Settings → CI/CD → Variables. Mark sensitive values as protected and masked.
Package registries
Required by the install job to fetch the WebAwesome Pro packages. FontAwesome ships as FontAwesome Free from the public registry and needs no token.
| Variable | Description |
|---|---|
WEBAWESOME_NPM_TOKEN | WebAwesome Pro npm token (fallback when the Verdaccio proxy is unavailable). |
End-to-end tests
The test:e2e job runs Playwright against a live GitLab instance. All variables below are loaded from the environment; locally they live in .env.test.local (gitignored).
| Variable | Example | Description |
|---|---|---|
TEST_GITLAB_URL | https://git.cepharum.de | Base URL of the GitLab instance used for testing. |
TEST_GITLAB_TOKEN | glpat-… | Personal access token with api scope on the test repository. |
TEST_REPO_PATH | sites/cratly-test-website | Namespace + project path of the test repository. |
TEST_REPO_ID | 238 | Numeric project ID (shown in GitLab → Settings → General). |
TEST_REPO_BRANCH | main | Default branch of the test repository. |
The preview E2E tests create their own branch, commit, and MR at the start of each run and clean up afterwards — no static MR variables are needed.
Preview origin
In CI the editor runs on http://localhost:PORT. Modern Linux kernels resolve *.localhost to the loopback address, so the derived preview origin (http://preview.localhost:PORT) works out of the box in the Playwright Docker image.
If your CI environment does not support *.localhost subdomains, set VITE_PREVIEW_ORIGIN explicitly:
VITE_PREVIEW_ORIGIN=http://preview.localhost:5173See Preview → Preview origin for the full configuration options.
Deployment (S3)
Required only by the deploy job, which runs on main only.
| Variable | Description |
|---|---|
MC_ENDPOINT | S3-compatible service endpoint URL (e.g. https://play.min.io). |
MC_ACCESS_KEY | Access key with read/write permissions on the bucket. |
MC_SECRET_KEY | Corresponding secret key. |
MC_BUCKET | Bucket name only, no s3:// prefix. |
MC_PREFIX | (optional) Key prefix inside the bucket. Defaults to the bucket root. |
Local test setup
Copy .env.test.local.example (if present) or create .env.test.local at the project root with the variables from the table above. This file is gitignored and never committed.
# Run unit tests
npm run test:unit
# Run Playwright E2E tests (starts the dev server automatically)
npm run test:e2e
# Interactive Playwright UI
npm run test:e2e:ui