Skip to main content
Build and test results buried in raw CI logs don’t help reviewers. A developer has to hunt through job output to find out whether the build passed and which tests failed, by which point context has already switched. Aspect Workflows includes a bot called Marvin that bridges CI results and your pull requests on GitHub and merge requests on GitLab. The Aspect CLI streams structured task events (build status, test outcomes, lint findings, suggested fixes) to the Aspect API as the job runs; Marvin consumes that stream and writes the matching status checks, PR and MR comments, review annotations, and suggested-change blocks live.

Build and test status

Marvin posts a status check for each Aspect Workflows job, as a GitHub Check or a GitLab pipeline status. The check updates as the job progresses, not just at the end, so authors and reviewers see partial results, like the first failing test, without waiting for the entire pipeline to finish.

Lint annotations

When the aspect lint task reports a warning or error, Marvin annotates the offending line, via GitHub’s Checks API or as a GitLab merge request annotation: Marvin bot annotating a lint error on a GitHub pull request When the linter can suggest a fix, Marvin attaches the recommendation as a suggestion so the author can apply it with one click: Marvin bot suggesting a linter fix on a GitHub pull request

PR and MR summary

Marvin posts a summary comment to the pull request or merge request thread with links to detailed logs and uploaded artifacts. You can jump directly from the comment to the relevant BEP, test logs, or build profile without navigating the CI UI.
Lint annotations and one-click suggested fixes are powered by the aspect lint AXL task. See that page for how to declare linters, configure severity, and tune output.