Skip to content
gpilikinPublic

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

12 Commits

Folders and files

Repository files navigation

rullure

Fast, lightweight Rust report generator for allure-results. Built for the workflow that matters first — see what failed, understand why, move on.

rullure Report


Features

  • Failure-first view — failed and broken tests surface immediately, grouped by error signature
  • Overview view — suite health, full test list, attachments
  • Single-file mode — one self-contained HTML file, no server required
  • Watch mode — keep a process running and regenerate the report when new results appear
  • Tiny footprint — no JS framework, no external dependencies in the output
  • CI-friendly — optional Markdown and JSON summaries for PR comments and pipelines

Requirements

  • Rust + Cargo
  • allure-results directory from allure-pytest

Installation

git clone https://github.com/gpilikin/rullure
cd rullure
cargo build --release

This is a Rust project built with Cargo. The binary will be at target/release/rullure.

Quick Start

rullure generate ./allure-results -o ./report
open ./report/index.html

For CI — single file with no server needed:

rullure generate ./allure-results -o ./report.html --single-file

For local runs that keep producing new results:

rullure watch ./allure-results -o ./report

Usage

rullure generate [OPTIONS] <RESULTS_DIR> -o <OUTPUT>
rullure watch [OPTIONS] <RESULTS_DIR> -o <OUTPUT>
Option Description
--view failures|overview|auto Initial view. auto picks failures when any exist
--single-file Output one standalone HTML file
--title "My Report" Report title
--theme light|dark|auto Color theme
--no-passed-attachments Skip attachments from passing tests
--only-failures Include only failed/broken tests in data
--summary-json ./summary.json Export run summary as JSON
--summary-md ./summary.md Export Markdown summary for CI logs or PR comments

Watch-only options:

Option Description
--debounce-ms 1500 Wait for a short quiet period before rebuilding
--max-wait-ms 5000 Force a rebuild even if changes keep arriving continuously
--skip-initial Start watching without generating the initial report from current data

Examples

CI report with Markdown summary:

rullure generate ./allure-results \
  -o ./report \
  --view failures \
  --title "CI · $(git rev-parse --short HEAD)" \
  --summary-md ./summary.md

Compact report without passed-test attachments:

rullure generate ./allure-results -o ./report --no-passed-attachments

Continuously refresh the same report while tests write into allure-results:

rullure watch ./allure-results \
  -o ./report \
  --debounce-ms 1500 \
  --max-wait-ms 5000

Output Structure

report/
├── index.html
├── assets/
│   ├── app.js
│   └── style.css
├── data/
│   ├── summary.json
│   ├── tests.json
│   ├── failures.json
│   ├── suites.json
│   └── attachments.json
└── attachments/

Development

cargo check
cargo clippy --all-targets -- -D warnings
cargo test

Contact

Gleb Pilikin — github.com/gpilikin


MIT License

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages