Skip to content

CI/CD

Workflows

GitHub Actions workflows in .github/workflows/:

WorkflowTriggerWhat it does
LintPush / PR to mainChecks formatting (Prettier) and linting (ESLint)
SyncPush / PR to mainDetects OUIA ID drift — fails if ids.ts doesn't match upstream OuiaIds.java
SmokePush / PR to mainRuns @smoke tests in Chromium only — fast pass/fail gate, no reports
TestPush to main (path-filtered), daily at 05:00 UTC, manualFull suite across Chromium, Firefox, and WebKit; uploads artifacts and deploys reports to GitHub Pages
DocsPush to main (docs changed), manualBuilds VitePress docs and deploys to GitHub Pages

The Test workflow only triggers on pushes to main that change test or config files (src/**, playwright.config.ts, global-setup.ts, global-teardown.ts, package.json, pnpm-lock.yaml). A daily schedule catches regressions from upstream WildFly or halOP image changes. It can also be triggered manually via workflow_dispatch.

Reports

The latest test reports from main are published to GitHub Pages:

GitHub Pages Deployment

GitHub Pages deploys the entire site as one atomic artifact — there is no way to deploy just a subdirectory. This means both the Docs and Test workflows must assemble the complete site (documentation + reports) to avoid overwriting each other:

  • The Docs workflow builds the VitePress site and fetches existing reports from the live Pages site
  • The Test workflow builds fresh reports and also builds the VitePress docs

Either workflow can deploy independently without losing the other's content.

Dependabot

Dependency updates are managed by Dependabot, configured for weekly npm and GitHub Actions updates. See .github/dependabot.yml.

UI test suite for halOP — the WildFly management console