MoQT CI/CD Integration

Protocol regressions slip through because MoQT isn't part of your test pipeline. Add automated conformance tests and performance baselines to catch issues on every commit.

The problem

Your CI pipeline runs unit tests, integration tests, and maybe load tests. But none of them speak MoQT. A commit that breaks subscription handling or doubles control message latency passes all checks and ships to production. You find out when users report that streams won't start or that startup takes twice as long.

What you can automate

Conformance tests in CI

Run protocol conformance suites on every commit or release. The test runner exits with a pass/fail code and structured output that integrates with your existing test reporting.

Latency baselines

Track performance across commits. Set thresholds for subscribe-to-first-object latency, control message RTT, and object delivery rate. Fail builds when regressions are detected.

Multi-draft testing

Test against multiple MoQT draft versions in a single pipeline run. Ensure your implementation works across all supported protocol revisions.

Structured results

Machine-readable test output in JSON or JUnit XML format. Integrate with GitHub Actions, GitLab CI, Jenkins, CircleCI, or any CI system that reads standard test formats.

Example pipeline

# GitHub Actions example
- name: Start relay
  run: docker run -d -p 4443:4443 your-relay:latest

- name: Run MoQT conformance tests
  run: moqtap test conformance \
    --target https://localhost:4443 \
    --drafts 7,8 \
    --output junit \
    --fail-on-error

- name: Run latency baselines
  run: moqtap test performance \
    --target https://localhost:4443 \
    --threshold-subscribe-latency 200ms \
    --threshold-object-rate 30/s \
    --output json

Illustrative example. Actual CLI syntax may differ.

Works with your CI

GitHub Actions

Native action with YAML workflow integration

GitLab CI

Docker-based runner with artifact support

Jenkins

Plugin or shell step with JUnit output

Any CI

CLI tool and API — works anywhere you can run a command

Solutions

Frequently asked questions

How does MoQT CI integration work?
We provide a CLI tool that runs MoQT conformance tests and performance benchmarks against your relay or endpoint. You add it as a step in your CI pipeline. It connects to your target, runs the test suite, and exits with a pass/fail code. Test results are output in JSON or JUnit XML format for integration with your CI dashboard.
What CI platforms are supported?
Any CI platform that can run a CLI command. We provide native integrations for GitHub Actions and GitLab CI, and the CLI tool works with Jenkins, CircleCI, Buildkite, or any other system.
Can I run tests against a local relay?
Yes. The test runner connects to any reachable MoQT relay. You can spin up your relay as part of the CI job and test against localhost, or test against a staging environment.
How do performance baselines work?
On each CI run, we measure key latency metrics (subscribe-to-first-object, control message RTT, object arrival rate). You set thresholds — for example, "fail if subscribe latency exceeds 200ms" — and the pipeline fails if a commit introduces a regression.
What's the difference between conformance tests and performance baselines?
Conformance tests verify correctness: does your implementation follow the MoQT spec? Performance baselines verify speed: is your implementation still as fast as it was before this commit? You typically want both in your pipeline.

Add MoQT to your pipeline

Catch protocol regressions and latency issues before they reach production.