Skip to main content
The Palyra Continuous Integration (CI) pipeline ensures the integrity of the monorepo across multiple operating systems and architectural layers. It enforces strict gates for Rust workspace health, frontend validation via the vp (Vite+) toolchain, protocol contract consistency, and deterministic behavior of the core daemon.

CI Workflow Architecture

The primary CI entry point is defined in ci.yml, which orchestrates a multi-platform build matrix and specialized validation suites.

Multi-Platform Build Matrix

The build-and-test job executes on ubuntu-latest, macos-latest, and windows-latest .github/workflows/ci.yml#17-23. This matrix ensures that platform-specific logic—such as the palyra-vault filesystem backends and the palyra-browserd gRPC service—remains functional across all supported targets.

Quality and Formatting Gates

The quality job enforces project standards before any tests are executed: Sources: .github/workflows/ci.yml#16-50, .github/workflows/ci.yml#172-212

Specialized Test Suites

Beyond standard unit tests, the CI pipeline runs several specialized regression and performance suites to validate complex system behaviors.

Deterministic Core Suite

This suite targets components where non-determinism could lead to state corruption or protocol drift. It is executed via scripts/test/run-deterministic-core.sh .github/workflows/ci.yml#120-121. Key areas include:
  • Journal Store Consistency: Validates that the SQLite-based JournalStore maintains hash-chain integrity across compaction cycles.
  • Session Compaction: Specifically tests session_compaction_apply_persists_durable_writes_and_quality_gates to ensure that partial failures trigger correct rollbacks scripts/test/run-workflow-regression.sh#46-47.

Workflow Regression Matrix

The workflow regression suite validates the high-level coordination between the CLI, the daemon, and external connectors scripts/test/run-workflow-regression.sh#4-51.

CLI Parity Acceptance

The cli-parity job generates a report comparing the current CLI implementation against a requirements matrix .github/workflows/ci.yml#225-226. It runs render_cli_parity_report to produce cli-parity-acceptance-matrix.md and validates help snapshots to prevent command-line interface drift .github/workflows/ci.yml#229-231. Sources: .github/workflows/ci.yml#89-122, .github/workflows/ci.yml#213-231, scripts/test/run-workflow-regression.sh#40-51, scripts/test/run-deterministic-soak.sh#1-41

Security Gates and Supply Chain

Security validation is decoupled into a dedicated security.yml workflow to allow for more intensive scanning without slowing down the primary feedback loop.

Dependency and Secret Scanning

Artifact Integrity

The pipeline generates a Software Bill of Materials (SBOM) in CycloneDX format for every build .github/workflows/security.yml#131-132. It also includes a high-risk-pattern-scan via scripts/check-high-risk-patterns.sh to catch forbidden coding patterns (e.g., unsafe blocks in non-core crates) .github/workflows/security.yml#128-129. Sources: .github/workflows/security.yml#11-156, .github/workflows/codeql.yml#1-48

Installation and Release Smoke Tests

Before a release is finalized, the CI performs “smoke tests” on the actual portable archives.

CLI Install Smoke

This test executes the compiled palyra binary within a cleanroom environment to simulate a fresh installation crates/palyra-cli/tests/installed_smoke.rs#17-36.

Release Metadata Assertion

The release workflow (release.yml) includes an assert-version-coherence.ps1 check. This ensures that the version in Cargo.toml, package.json, and the git tag are perfectly synchronized before any artifacts are published .github/workflows/release.yml#41-65. Sources: crates/palyra-cli/tests/installed_smoke.rs#1-148, scripts/test/run-cli-install-smoke.ps1#1-223, .github/workflows/release.yml#30-119

Data Flow: Code to Validated Artifact

The following diagram illustrates the flow from a code change through the various CI gates to the final security-validated artifacts.

CI Pipeline Logic Flow

Sources: .github/workflows/ci.yml#1-50, .github/workflows/security.yml#1-156, .github/workflows/release.yml#1-120

Test Harness Entity Mapping

This diagram maps the natural language “Smoke Test” concept to the specific code entities that implement the cleanroom validation. Sources: scripts/test/run-cli-install-smoke.ps1#41-101, crates/palyra-cli/tests/installed_smoke.rs#17-67, scripts/test/run-cli-install-smoke.ps1#126-162